Roofing in Union County, NC
Nearly a third of Union County's owner-occupied homes, 30.7%, went up between 2000 and 2009, and more than half (54.5%) are from 2000 or later.
Source: U.S. Census Bureau, ACS 2020-2024, table B25036, Union County, checked .
Page updated .
Housing
How old the homes are in Union County
The 2010s added 18.9% of the county's owner-occupied homes, and the years from 2020 on another 4.9%. Homes from before 1980 are a small group: 16.4%.
Waxhaw is newer still, with 55.3% of the town's owner-occupied homes dating from 2010 onward.
Marshville's homes are far older, though its estimate is much less precise: the Census Bureau's 90% interval for the town's owner-occupied median year built runs from 1950 to 1980.
Sources (3)
Permits
Permits for a reroof in Union County
Union County Building Code Enforcement says it is responsible "for all parts of the county, except for the City of Monroe and the Town of Waxhaw." Monroe and Waxhaw run their own building offices.
Monroe's Permit Center administers the state building code within the city and takes permit applications online through CityView (704-282-4524).
In Waxhaw, the town's Building Inspections division issues building permits and inspects construction under the North Carolina building codes, taking applications through the town's permit portal (704-843-2195).
Zoning is split differently. The county's own zoning covers unincorporated Union County, and its list of places outside that jurisdiction includes Indian Trail, Stallings, Weddington and Marshville, so zoning questions there go to the town.
Building Code Enforcement's office is at 500 N. Main St., Suite 47, in Monroe. For permit questions or to schedule an inspection, the county's number is 704-283-3816.
North Carolina rule
Under G.S. 160D-1110(c), work on a single-family home that costs $40,000 or less and follows the current edition of the North Carolina State Building Code needs no building permit, unless it falls into one of six listed categories. One category is "the addition of roofing, excluding replacement": that work needs a permit at any cost, while a roof replacement is not on the list. Work costing more than $40,000 falls outside the exemption. The statute speaks to building permits only, not to any other approval a property may need.
The $40,000 figure comes from Session Law 2023-108 (House Bill 488), which raised it from $20,000 for permit applications submitted on or after October 1, 2023.
The Office of State Fire Marshal reads the exemption as covering the replacement of roofing plus up to 15% of the total existing roof deck, on projects costing $40,000 or less. The paper states that its guidance is not legal advice.
Sources (3)
Sources (4)
- Union County, Report a violation, checked .
- City of Monroe, Permit Center, checked .
- Town of Waxhaw, Building Inspections & Permitting, checked .
- Union County Building Code Enforcement, checked .
Storms
Recorded storm damage in Union County
Of the storms listed below, the December 2002 ice storm carries the largest recorded figure: NOAA puts property damage in its Union County zone at $11 million, against $2 million for Helene in September 2024.
Thunderstorm winds on July 5, 2012, with gusts NOAA estimates at 55 knots, downed trees and power lines in Monroe. The report says trees fell onto several homes and that most of those homes took major damage; it lists $300,000 in property damage.
The newest event on the list, an EF1 tornado on the morning of March 5, 2025, began near Porter Ridge High School. Farther along, by the NWS storm survey's account, it heavily damaged a house under construction and lifted off part of its roof.
Ice Storm
, $11M in recorded property damage. NOAA event 5326496
Tropical Storm
, $2M in recorded property damage. NOAA event 1218174
Thunderstorm Wind, 55 kt
, near MONROE, $300K in recorded property damage. NOAA event 400700
Tornado, EF1
, near INDIAN TRAIL ARPT, $150K in recorded property damage. NOAA event 1241568
Tornado, EF1
, near ALTON, $100K in recorded property damage. NOAA event 702815
Sources (3)
Hail
Recorded hail in Union County
Large hail in Union County has come down mostly in a few places. NOAA lists 14 reports of stones 1.75 inches or bigger in the county since 2000, and 10 of them began near Waxhaw or its airport, Mineral Springs or Monroe.
The newest report at that size came on May 23, 2014: golf-ball-size hail near Waxhaw, from a storm that had produced baseball-size hail in the South Carolina Piedmont and weakened as it crossed into Union County.
2.25 in hail
, near WAXHAW. NOAA event 299253
2.00 in hail
, near MINERAL SPG. NOAA event 299574
1.75 in hail
, near WAXHAW. NOAA event 517292
1.75 in hail
, near UNIONVILLE. NOAA event 462978
1.75 in hail
, near FAIRFIELD. NOAA event 408774
NOAA record through June 2026.
Sources (2)
- NOAA Storm Events Database, bulk data files, checked .
- NOAA Storm Events Database, event 517292, checked .
Towns
Town by town in Union County
Monroe
Monroe's homes run older than the county's: 33.5% of the city's owner-occupied homes predate 1980, roughly twice the county-wide share.
Indian Trail
Indian Trail is mostly 21st-century housing: 70.2% of its owner-occupied homes date from 2000 or later, and the 2000s alone account for 44.4%.
Waxhaw
On the evening of April 17, 2000, golf-ball-size hail fell in Waxhaw; NOAA's account of that storm says it dimpled cars there.
Weddington
Weddington's residents live almost entirely on the Union County side of the line: 13,176 in the 2020 Census, against a handful in the town's Mecklenburg County part.
Weddington spans Union County and Mecklenburg County.
Stallings
The Town of Stallings divides the work on its permit page: the town's Planning Department issues zoning permits and does final zoning inspections, while Union County Building Code Enforcement reviews building plans, issues building permits and inspects buildings.
Stallings spans Union County and Mecklenburg County.
Marshville
On March 5, 2005, a microburst near Marshville blew the roof off a 30-by-40-foot building, NOAA's record says.
Mint Hill
Mint Hill's town limits reach into Union County, but nearly all its people live in Mecklenburg County: the 2020 Census put 26,444 residents there and only a handful on the Union side.
Mint Hill spans Union County and Mecklenburg County.
Sources (8)
- U.S. Census Bureau, ACS 2020-2024, table B25036, Monroe city, checked .
- U.S. Census Bureau, ACS 2020-2024, table B25036, Indian Trail town, checked .
- NOAA Storm Events Database, event 5141733, checked .
- U.S. Census Bureau, 2020 Census, table P1, Weddington town (Union County and Mecklenburg County parts), checked .
- Town of Stallings, Apply for a Permit, checked .
- NOAA Storm Events Database, event 5445527, checked .
- U.S. Census Bureau, 2020 Census, table P1, Mint Hill town (Union County and Mecklenburg County parts), checked .
- U.S. Census Bureau, 2020 Census place-by-county file for North Carolina, checked .
Common problems
Common roof problems on homes like these
InterNACHI, a home inspectors' association, puts the expected life of 3-tab asphalt shingles at about 20 years and of architectural shingles at about 30. It offers these as estimates to plan around, not as promises for any single roof.
Where a house from the county's 2000 to 2009 cohort (30.7% of owner-occupied homes) still has its original 3-tab roof, that roof is now near or past InterNACHI's 20-year figure, while an original architectural roof from that decade would still be inside the 30-year figure.
Some of NOAA's Union County wind reports describe roofs damaged by the wind itself rather than by falling trees. A microburst near Unionville on May 25, 2003 blew the roof off a house and left other homes with minor damage, and in July 2017 the public reported several houses with roof damage in and around Unionville after thunderstorm winds.
Sources (3)
FAQ
Roofing questions in Union County
Does Union County issue building permits in Monroe and Waxhaw?
No. The county's Building Code Enforcement office covers the rest of Union County, but the City of Monroe and the Town of Waxhaw each run their own. Monroe's Permit Center answers at 704-282-4524 and Waxhaw's Building Inspections division at 704-843-2195; the county office's number is 704-283-3816.
Who issues building permits in Indian Trail, Stallings and Weddington?
Union County Building Code Enforcement. The county names only Monroe and Waxhaw as places outside its building responsibility. Zoning is different: Indian Trail, Stallings and Weddington each handle their own, and the Town of Stallings's permit page spells out that its Planning Department issues zoning permits while the county issues building permits.
How soon will an inspector come out in Union County, Monroe or Waxhaw?
Union County Building Code Enforcement says it completes inspections "typically the day requested," and that requests it cannot finish in a day are carried forward. For an occupied home, it asks for a phone number on the request so the inspector can call before arriving. Waxhaw schedules requests made before 4 p.m. for the next business day. Monroe's Permit Center sets its cut-off for inspection requests at 3 p.m. on the business day before.
Where in Union County has the largest hail fallen?
Near Waxhaw. The largest hail in NOAA's record for the county since 2000 measured 2.25 inches and was reported near Waxhaw on April 9, 2011. The next largest, 2.00 inches, came from Mineral Springs later that same day. Waxhaw and its airport also account for five of the county's 14 reports at 1.75 inches or more.
How new are the homes in Waxhaw?
Much newer than the county as a whole. The Census Bureau's estimate places Waxhaw's owner-occupied median year built in the 2010s (90% interval: 2010 to 2012). Waxhaw's owner-occupied homes from 2010 on make up 55.3% of the total, and those from before 1980 just 5.7%.
How strong was Union County's March 2025 tornado?
The National Weather Service rated it EF1. Its survey traced a path 2.25 miles long and 75 yards wide, starting near Porter Ridge High School on the morning of March 5, 2025. It heavily damaged a house under construction, lifting off part of its roof, and snapped several hundred yards of wooden power poles. NOAA lists $150,000 in property damage.
Sources (12)
- Union County, Report a violation, checked .
- City of Monroe, Permit Center, checked .
- Town of Waxhaw, Building Inspections & Permitting, checked .
- Union County Building Code Enforcement, checked .
- Town of Stallings, Apply for a Permit, checked .
- Town of Indian Trail, Planning Department, checked .
- NOAA Storm Events Database, event 299253, checked .
- NOAA Storm Events Database, event 299574, checked .
- NOAA Storm Events Database, bulk data files, checked .
- U.S. Census Bureau, ACS 2020-2024, table B25037, Waxhaw town, checked .
- U.S. Census Bureau, ACS 2020-2024, table B25036, Waxhaw town, checked .
- NOAA Storm Events Database, event 1241568, checked .
Nearby
Neighboring counties
Your next step
See what a new roof will cost.
- Free on-site inspection, booked within 48 hours.
- Written, itemized quote, within 24 hours of that visit.
- No obligation, no pressure, and no surprise change orders.
Calls and texts answered 24/7
