Benton Roofing is a Commercial and Industrial Roofing Contractor serving North and South Carolina, Georgia, Tennesse, Kentucky, Virginia, West Virginia, Alabama, and Arkansas.

Annual Residential Roof Age Index Report: Charlotte Region

How old are residential roofs in the Charlotte region,and where do older roofs meet frequent hail?

An estimated 200,000 owner-occupied single-family homes in the Charlotte region have a roof that is 20 years old or older: an estimated 33% of homes, with an estimated range of 27% to 37%. Replacing those roofs at the regional median cost of a roof job would total an estimated $2.2 billion. The study covers the 11 counties of the Charlotte metropolitan area: Anson, Cabarrus, Gaston, Iredell, Lincoln, Mecklenburg, Rowan and Union in North Carolina, and Chester, Lancaster and York in South Carolina. Every roof-age figure on this page is shown with its estimated range. How the estimates are made.

Key findings

  • The youngest roofs of the three markets, but the most older roofs. The region’s share (33%) is the lowest of the three, but its housing stock is more than twice the size of either other market’s.
  • Mecklenburg County: an estimated 74,000 homes with an older roof (34%, range 28–38%) and $810 million in replacement value.
  • The most hail of the three markets. NOAA radar detected hail 1 inch or larger 1.7 days a year at a typical location, about 32% above the three-market average. Anson County averaged 2.0 days.
  • Frequent hail, but younger roofs. Only Anson County is rated Highest on the Composite Risk Index; about 1% of the region’s homes are in Highest or Elevated counties.
  • The hottest market: 49 days a year at 90°F or hotter, against 16 in Western North Carolina, and 66 freeze-thaw days.

Estimated roof age by county

County

Rank

Estimated share of homes with a roof 20+ years old

Estimated range

Estimated median roof age

Estimated homes with a roof 20+ years old

Estimated replacement value

Anson County, NC

1

42%

29–46%

13–18 years

1,900

$21 million

Chester County, SC

2

40%

28–44%

13–17 years

3,100

$34 million

Rowan County, NC

3

39%

29–43%

13–17 years

14,000

$150 million

Gaston County, NC

4

37%

28–41%

12–16 years

20,000

$220 million

Mecklenburg County, NC

5

34%

28–38%

12–15 years

74,000

$810 million

Iredell County, NC

6

33%

27–37%

12–15 years

16,000

$170 million

Lincoln County, NC

7

33%

27–37%

11–15 years

8,300

$91 million

Cabarrus County, NC

8

31%

25–35%

11–14 years

17,000

$190 million

Union County, NC

9

31%

25–34%

11–14 years

20,000

$220 million

York County, SC

10

30%

24–33%

11–14 years

22,000

$240 million

Lancaster County, SC

11

27%

22–30%

10–13 years

7,700

$84 million

 

Estimates from the Benton Roofing Roof Age Index, modeled from U.S. Census Bureau American Community Survey 2020–2024 and American Housing Survey 2017–2023 data. Owner-occupied single-family detached homes, as of 2026. Estimates, not measurements; ranges combine survey uncertainty and model choice. Replacement values use the regional median roof-job cost and are conservative. Hurricane Helene damage in parts of Chester County may have prompted some roof replacements not reflected in this estimate.

Twenty years is the life expectancy that a 2007 National Association of Home Builders and Bank of America Home Equity study lists for asphalt roofing. Actual roof life varies, and an older roof doesn’t necessarily need replacing.

ZIP codes

ZIP estimates apply the same regional replacement rate as the county figures, so differences of a few points between ZIP codes fall within their estimated ranges. ZIP codes with fewer than 50 qualifying homes are withheld. Every ZIP code is in the downloadable data.

ZIP codes with the most homes with an older roof

ZIP code

Rank

County

Estimated homes with a roof 20+ years old

Estimated replacement value

Estimated share of homes with a roof 20+ years old

Estimated range

28269

1

Mecklenburg County, NC

5,600

$61 million

34%

27–38%

28078

2

Mecklenburg County, NC

5,300

$58 million

28%

23–32%

29732

3

York County, SC

5,300

$58 million

35%

28–39%

28227

4

Mecklenburg County, NC

5,200

$58 million

36%

26–40%

28277

5

Mecklenburg County, NC

5,000

$55 million

35%

29–39%

28027

6

Cabarrus County, NC

5,000

$55 million

29%

24–33%

29720

7

Lancaster County, SC

4,700

$51 million

33%

24–37%

28215

8

Mecklenburg County, NC

4,600

$51 million

32%

25–35%

29730

9

York County, SC

4,500

$50 million

36%

28–40%

28110

10

Union County, NC

4,400

$48 million

34%

27–37%

ZIP codes with the highest share of older roofs

Among ZIP codes with at least 500 qualifying homes.

ZIP code

Rank

County

Estimated share of homes with a roof 20+ years old

Estimated range

Estimated homes with a roof 20+ years old

28091

1

Anson County, NC

43%

30–48%

230

28052

2

Gaston County, NC

42%

30–47%

2,700

28144

3

Rowan County, NC

42%

30–47%

2,500

28212

4

Mecklenburg County, NC

42%

29–47%

2,200

28159

5

Rowan County, NC

42%

32–46%

370

29055

6

Chester County, SC

42%

29–46%

480

28016

7

Gaston County, NC

42%

29–46%

1,400

28133

8

Anson County, NC

42%

32–46%

240

28168

9

Lincoln County, NC

42%

31–46%

1,200

28147

10

Rowan County, NC

42%

32–46%

2,100

Estimates from the Benton Roofing Roof Age Index, modeled from U.S. Census Bureau American Community Survey 2020–2024 and American Housing Survey 2017–2023 data. Owner-occupied single-family detached homes, as of 2026. Estimates, not measurements; ranges combine survey uncertainty and model choice. Replacement values use the regional median roof-job cost and are conservative.

How often hail hits

Rank

County

Radar hail days/yr (1 in+)

Radar hail days/yr (1.75 in+)

Hail Exposure Index

1

Lancaster County

2.1

0.57

159

2

Anson County

2.0

0.45

153

3

Union County

1.9

0.42

146

4

Lincoln County

1.8

0.40

134

5

Cabarrus County

1.7

0.40

130

6

Iredell County

1.7

0.42

128

7

Mecklenburg County

1.6

0.35

123

8

Gaston County

1.6

0.32

121

9

Chester County

1.6

0.46

120

10

Rowan County

1.6

0.36

119

11

York County

1.5

0.42

114

Sources: NOAA NCEI Severe Weather Data Inventory (NEXRAD Level-III hail detections) and NOAA NCEI Storm Events Database, 2000–2025. Radar hail days = average days a year radar detected hail 1 inch or larger at a typical location in the county. Index: three-market average = 100.

Where older roofs meet frequent hail

The Composite Risk Index ranks all 44 counties in the study on both estimated roof age and radar hail frequency, then retests every ranking under 12 sets of assumptions. Tiers compare the study’s counties with each other and are not a forecast of damage.

Anson County, which has an older housing stock, is rated Highest, in 11 of 12 assumption sets. Eight counties, including Mecklenburg, are rated Moderate. In all but one of them, frequent hail is offset by a younger roof stock. York County is rated Lower, and Chester County did not hold a consistent rating.

County

Tier

Assumption sets agreeing

Estimated share of homes with a roof 20+ years old

Radar hail days a year

Days at 90°F or hotter (context)

Freeze-thaw days (context)

Anson County, NC

Highest

11 of 12

42%

2.0

59

57

Cabarrus County, NC

Moderate

12 of 12

31%

1.7

61

73

Lancaster County, SC

Moderate

12 of 12

27%

2.1

56

51

Lincoln County, NC

Moderate

12 of 12

33%

1.8

36

83

Union County, NC

Moderate

12 of 12

31%

1.9

53

62

Iredell County, NC

Moderate

10 of 12

33%

1.7

33

96

Rowan County, NC

Moderate

10 of 12

39%

1.6

36

80

Mecklenburg County, NC

Moderate

9 of 12

34%

1.6

49

57

Gaston County, NC

Moderate

7 of 12

37%

1.6

50

59

York County, SC

Lower

11 of 12

30%

1.5

55

65

Chester County, SC

No consistent tier

—

40%

1.6

54

82

Composite Risk Index, Benton Roofing Roof Age Index. Tiers combine where roofs are oldest (estimated share of owner-occupied single-family homes with a roof 20+ years old) and where hail is most frequent (NOAA radar hail days, 2000–2025), ranked in thirds across the 44 counties in Benton Roofing’s three markets. Each county was tested under 12 sets of assumptions; the tier shown is the one it lands in most often, with how many of the 12 agree. Counties without a consistent result are not assigned a tier. Tiers are relative to these 44 counties, not a forecast of damage. Heat and freeze-thaw days (NOAA 1991–2020 normals) are shown for context and are not part of the tier.

Heat and freeze-thaw

County

Days a year at 90°F or hotter

Freeze-thaw days a year

NOAA stations used

Anson County, NC

59

57

1 station

Cabarrus County, NC

61

73

1 station

Chester County, SC

54

82

1 station

Gaston County, NC

50

59

2 stations

Iredell County, NC

33

96

1 station

Lancaster County, SC

56

51

1 station, nearby county

Lincoln County, NC

36

83

2 stations

Mecklenburg County, NC

49

57

1 station

Rowan County, NC

36

80

2 stations

Union County, NC

53

62

2 stations

York County, SC

55

65

3 stations

Source: NOAA NCEI U.S. Climate Normals 1991–2020. County figures are the median of NOAA stations in the county within 200 m of the elevation where most residents live, or the nearest representative station where a county has none. Local microclimates vary; single-station counties are less certain. Freeze-thaw days: the low reaches 32°F or colder and the high rises above 32°F. A descriptive climate comparison, not an estimate of roof life. Benton Roofing Roof Age Index.

If you own a home here

An older roof doesn’t necessarily need to be replaced. Roof life depends on the material, how it was installed, how it has been maintained and the weather it has faced. This study describes the age of the housing stock, not the condition of any one roof.

If you don’t know how old your roof is, the paperwork from your home purchase, a past inspection report, a building permit record or the installer’s warranty may tell you. A roof inspection can tell you its condition.

Use and cite this data

The data, tables and charts are free to download and reuse under the Creative Commons Attribution 4.0 International License (CC BY 4.0), including for commercial use. Please credit Benton Roofing, Roof Age Index 2026, link to https://bentonroofing.com/roof-age-index/, and note any changes you made. The Benton Roofing name and logo are not covered by the license.

Found an error? Email contact@bentonroofinginc.com. Corrections are noted on the methodology page with their date.

More from the Roof Age Index