NC roofing code · Homeowner guide
What the North Carolina Residential Code requires when a roof is replaced, why we do a full tear-off on every roof, what paperwork to keep afterward, and where the 2024 code stands. Plain language, with the code text quoted word for word.
(704) 280-5996Monday–Friday, 8:00 AM–5:00 PM · Campbells Precision Roofing · Denver, NC
Before you read
Homeowners in Lincoln, Gaston, Mecklenburg, Catawba, Iredell, and Cleveland counties ask us the same questions after a storm or before a replacement: what does code actually require on a new roof, can new shingles go over the old ones, and what should I keep once the roof is done? This page answers those questions with the text of the code, so you can read it for yourself.
Not legal advice. This page is general education from a North Carolina licensed contractor. Talk to a North Carolina attorney about legal questions, and ask your insurance company about your policy.
2018 NC Residential Code, Chapter 9
The residential code in effect in North Carolina today is the 2018 North Carolina Residential Code, based on the 2015 International Residential Code and effective January 1, 2019, with state amendments. Chapter 9 covers roofs. These are the rules that matter most on a shingle roof replacement.
Roof assemblies shall be applied in accordance with this chapter and the manufacturer's installation instructions.
2018 NC Residential Code, R904.1
Roof coverings shall be applied in accordance with the applicable provisions of this section and the manufacturer's installation instructions.
2018 NC Residential Code, R905.1
In plain terms: when a shingle manufacturer’s installation instructions call for a component or a nailing pattern, following them is part of meeting code, not an optional extra.
Underlayment materials required to comply with ASTM D226, D1970, D4869 and D6757 shall bear a label indicating compliance to the standard designation and, if applicable, type classification indicated in Table R905.1.1(1).
2018 NC Residential Code, R905.1.1
For roof slopes from two units vertical in 12 units horizontal (2:12) up to four units vertical in 12 units horizontal (4:12), double underlayment application is required in accordance with Section R905.1.1.
2018 NC Residential Code, R905.2.2
Underlayment has to be a labeled product that meets the listed ASTM standard. Under Table R905.1.1(2), shingle roofs at 4:12 or steeper get one layer, and low-slope sections from 2:12 up to 4:12, such as many porch roofs, get two.
The code’s county wind table, Table R301.2(4), starts with “Counties not listed 115.” Lincoln, Gaston, Mecklenburg, Catawba, and Iredell counties are not listed, so their design wind speed is 115 mph.
Asphalt shingles shall be tested in accordance with ASTM D7158. Asphalt shingles shall meet the classification requirements of Table R905.2.4.1 for the appropriate ultimate design wind speed. Asphalt shingle packaging shall bear a label to indicate compliance with ASTM D7158 and the required classification in Table R905.2.4.1.
2018 NC Residential Code, R905.2.4.1
At 115 mph, the table’s 116 mph row applies: ASTM D7158 Class D, G or H, or ASTM D3161 Class A, D or F for shingles outside the scope of D7158. Look for that class on the shingle bundle label.
Asphalt shingles shall have the minimum number of fasteners required by the manufacturer, but not less than four fasteners per strip shingle or two fasteners per individual shingle.
2018 NC Residential Code, R905.2.6
In these 115 mph counties, four nails per strip shingle is the code minimum, unless the manufacturer requires more. The code’s six-nail rule applies at 130 mph or more with an eave 20 feet or higher, at 140 mph or more, and in certain mountain areas. The nails themselves must be roofing nails with at least a 12-gage shank and a 3/8-inch head that go at least 3/4 inch into the roof sheathing (R905.2.5), and shingles have to be fastened to solidly sheathed decks (R905.2.1).
Flashings shall be installed at wall and roof intersections, wherever there is a change in roof slope or direction and around roof openings. A flashing shall be installed to divert the water away from where the eave of a sloped roof intersects a vertical sidewall.
2018 NC Residential Code, R903.2.1
Any existing flashings, edgings, outlets, vents or similar devices that are a part of the assembly shall be replaced where rusted, damaged or deteriorated.
2018 NC Residential Code, R908.5
Flashing belongs where walls meet the roof, where the slope or direction changes, and around chimneys, skylights, and other openings. Where a roof eave runs into a sidewall, a diverter (often called kickout flashing) steers water away from the wall. On a reroof, existing flashing, edge metal, and vents have to be replaced when they are rusted, damaged, or deteriorated, so we photograph their condition.
Roof replacement shall include the removal of existing layers of roof coverings down to the roof deck and replacement of up to 15% of the total existing roof deck. Replacement of up to 15% of the total roof deck shall not be considered structural work.
2018 NC Residential Code, R908.3 (NC amendment)
A roof re-cover shall not be permitted where any of the following conditions occur:
- Where the existing roof or roof covering is water soaked or has deteriorated to the point that the existing roof or roof covering is not adequate as a base for additional roofing.
- Where the existing roof covering is slate, clay, cement or asbestos-cement tile.
- Where the existing roof has two or more applications of any type of roof covering.
2018 NC Residential Code, R908.3.1.1
In North Carolina, a roof replacement means removing the old roof down to the deck. The 15% language is an allowance: up to 15% of the deck can be replaced without counting as structural work, and decking is replaced based on its condition. The code allows a re-cover (new shingles over old) in some cases, but never over a roof that already has two layers, a roof that is water-soaked or deteriorated, or slate, clay, cement, or asbestos-cement tile.
Our policy: full tear-off, every time. Campbells Precision Roofing always does a full tear-off and never installs new shingles over an old roof, even where the code would allow a re-cover. Stripping to the deck lets us see and fix the decking before the new roof goes on.
R905.2.8.5 Drip Edge. Deleted. Not required unless required by the roof covering manufacturer installation instructions.
NC amendment to the 2018 NC Residential Code (delayed effective date January 1, 2022)
North Carolina amended the code so that drip edge is not required by the code on its own. It becomes a code requirement when the roof covering manufacturer’s installation instructions require it.
After the install
Once a roof is done, the records that show when it was installed and what went on it are worth keeping. They answer the first questions that come up later: how old is the roof, what’s on it, and who installed it. That matters for future repairs, warranty questions, and selling the home.
Keep paper copies with your home records and digital copies somewhere you can reach after a storm.
Our roofs come with a paper trail. Every Campbells Precision Roofing replacement ends with a dated invoice, and we register your GAF warranty when your roof is installed with qualifying GAF materials. If you need a copy of the paperwork for a roof we installed, call us at (704) 280-5996.
Code status
North Carolina has adopted a 2024 edition of the residential code, but it is not in effect, and no effective date has been set. The original start date was January 1, 2025. Session Law 2024-57 moved it to July 1, 2025, and then Session Law 2025-2 delayed it again:
... the 2024 North Carolina State Building Code shall become effective 12 months after the first day of the month following the date the State Fire Marshal certifies, by letter to the Revisor of Statutes with copies sent to the President Pro Tempore of the Senate and the Speaker of the House of Representatives, that both of the following events have occurred: ...
Session Law 2025-2, Section 5.12.(b)
Those two events are finishing publication and distribution of the 2024 code and having the Residential Code Council fully constituted. Until the 2024 code takes effect, roofs are built to the 2018 North Carolina Residential Code described above.
Coming January 1, 2027: the Building Code Council and the Residential Code Council move to the North Carolina Department of Labor under Session Law 2026-41, and code interpretations move there from the Office of the State Fire Marshal. The same law says the code in effect on January 1, 2027 is not affected by the move unless the councils amend it.
The Building Code Council and Residential Code Council are transferred to the Department of Labor as a Type II transfer, as defined in G.S. 143A-6, and shall be administered through the Building Codes and Interpretations Bureau of the Department of Labor…
Session Law 2026-41, Section 13.5.(c) (effective January 1, 2027)
How we help
Campbells Precision Roofing is a North Carolina licensed contractor (NC Residential license #101889) and a GAF Master Elite® contractor. We are not an insurance company or a public adjuster.
Want to know how our storm inspections work? See storm damage inspections, browse our roofing FAQ, or read about roof repair and replacement and GAF warranties. Hiring after a storm? Use our roofer vetting checklist.
This page is general education, not legal advice. Code text is from the 2018 North Carolina Residential Code as amended; statute text is from the North Carolina General Statutes. Campbell's Precision Roofing LLC · NC Licensed Contractor #101889 · GAF Master Elite®.
FAQ
The 2018 North Carolina Residential Code, based on the 2015 International Residential Code, effective January 1, 2019, with state amendments. Chapter 9 covers roofs. The 2024 North Carolina Residential Code has been adopted but is not in effect, and no effective date has been set.
Not on its own. North Carolina amended the code to read: “R905.2.8.5 Drip Edge. Deleted. Not required unless required by the roof covering manufacturer installation instructions.” When the manufacturer’s installation instructions require drip edge, it becomes a code requirement.
Lincoln, Gaston, Mecklenburg, Catawba, and Iredell counties are not listed in the code’s county wind table, Table R301.2(4), so their design wind speed is 115 mph. At that speed, shingles must be labeled ASTM D7158 Class D, G or H, or ASTM D3161 Class A, D or F for shingles outside the scope of D7158.
The code requires “the minimum number of fasteners required by the manufacturer, but not less than four fasteners per strip shingle or two fasteners per individual shingle.” In the 115 mph counties, four nails per strip shingle is the code minimum unless the manufacturer requires more.
The code allows a re-cover in some cases, but not where the existing roof has two or more applications of any type of roof covering, is water-soaked or deteriorated, or is slate, clay, cement, or asbestos-cement tile. Campbells Precision Roofing always does a full tear-off and never installs new shingles over an old roof.
North Carolina’s code defines a roof replacement as removing the existing roof coverings down to the deck (R908.3). Stripping to the deck also lets us see and replace damaged decking before the new roof goes on. We never install new shingles over an old roof.
Keep the dated invoice or contract, the building permit and final inspection record if a permit was issued, the manufacturer’s warranty registration, and a note of the install date, roof material, and contractor’s name. Keep paper and digital copies.
Starting with new and renewal policies effective on or after June 1, 2027, the North Carolina Rate Bureau’s homeowners program uses roof age and roof material as rating factors. Questions about your policy go to your insurance company. Keep your roof paperwork, like the invoice and any warranty registration, with your home records. This is general information, not legal or insurance advice.
No. This page is general education from a North Carolina licensed contractor. Talk to a North Carolina attorney about legal questions, and ask your insurance company about your policy.
Start with a free inspection. We’ll document what we find and the code-required scope for your roof, in plain language.