Quick Answer
Cosmetic board-for-board replacement usually does not need a permit. Structural work - new joists, ledger, posts, footings, new stairs, or any change to the deck's load path - typically does. When in doubt, call the county permit office or ask your contractor. We pull the permit on any scope that requires one.
When You DO Need a Deck Permit
The general rule across Mecklenburg County, Union County, and York County SC is the same: any work that changes or affects the structural system of the deck requires a building permit. The structural system includes the ledger board, joists, beams, posts, footings, and stair stringers - everything that holds the deck up and keeps it attached to the house.
Here is the list of work that typically requires a permit in the Charlotte metro:
- New deck construction - any new freestanding or attached deck, regardless of size or height
- Structural repair - replacing joists, sistering joists, replacing beams, or rebuilding the rim joist
- Ledger board work - re-bolting, re-flashing, or replacing the ledger connection to the house
- Post or footing replacement - any change to the foundation support system
- New stairs - adding stairs where none existed, or rebuilding stair stringers
- Adding height or load capacity - raising the deck, extending the footprint, or adding a roof or pergola structure
- Complete railing rebuild - replacing the entire guard rail system (not just tightening individual posts)
The key word is structural. If the work touches anything in the load path - meaning anything that bears weight or keeps the deck connected to the house - it almost certainly needs a permit. The permit ensures the work will be inspected by the county to confirm it meets current building code, which protects you as the homeowner.
When You Do NOT Need a Permit
The following work is generally considered routine maintenance and does not require a building permit in the Charlotte metro. The structural frame stays unchanged, so no inspection is needed.
- Board-for-board replacement - swapping rotten or damaged decking planks on an existing frame
- Staining, sealing, or painting - surface finishes that do not alter the structure
- Railing tightening - re-anchoring loose posts, replacing individual balusters, tightening bolts on existing rail hardware
- Fastener replacement - pulling popped nails and replacing with structural screws
- Pressure washing - cleaning the deck surface
- Stair tread replacement - replacing treads on existing, sound stringers
The gray area is where maintenance crosses into structural repair. If you start replacing boards and discover the joists underneath are rotten, the project has moved from "no permit" to "permit required" territory. A reputable contractor will tell you that up front after the inspection, not after the work is half done.
Mecklenburg County Permit Process
Mecklenburg County handles deck permits through the Code Enforcement division within Charlotte-Mecklenburg. Here is how the process works for a residential deck project:
Where to apply
Applications are submitted online through the Mecklenburg County permits portal or in person at the Code Enforcement office. Most contractors submit online. The application requires a site plan showing the deck location relative to the house and property lines, along with a construction plan showing framing layout, post locations, and ledger detail.
Fees
Residential deck permit fees in Mecklenburg County typically range from $100 to $400 based on the project valuation. A simple joist repair permit is on the low end. A full new-build deck runs higher. The fee is paid at the time of application.
Plan review timeline
Plan review currently runs 2 to 4 weeks for residential deck permits. We have seen it come back in as little as 10 days during slow periods and stretch past 4 weeks during the spring building season. We recommend submitting early - there is no requirement to start work immediately after approval.
Inspections
Mecklenburg County typically requires two inspections for a new deck: a footing inspection (before pouring concrete) and a final inspection (after the deck is complete). For structural repair on an existing deck, usually only the final inspection is required. Inspections are scheduled through the county portal and are free - they are included in the permit fee.
Union County Differences
Union County (Waxhaw, Weddington, Marvin, Indian Trail, Stallings, Wesley Chapel) follows the same NC building code as Mecklenburg County, but the permit office is separate.
The key differences for homeowners:
- Smaller office, sometimes faster turnaround. Plan review can be quicker than Mecklenburg during non-peak months because the volume is lower.
- Setback requirements may differ. Union County municipalities have their own zoning ordinances that govern how close a deck can be to the property line. These are separate from building code and vary by municipality - Waxhaw, Weddington, and Marvin each have their own setback tables.
- Same fee range. Permit fees run in the same $100 to $400 range depending on project scope.
If your property is in an unincorporated area of Union County, the county permit office handles your application directly. If you are inside town limits (Waxhaw, Weddington, Marvin, etc.), check whether the town or the county handles building permits - some towns defer to the county while others have their own process.
York County SC Differences (Fort Mill, Tega Cay)
Our service area extends into York County, South Carolina - primarily Fort Mill and Tega Cay. South Carolina follows the International Residential Code (IRC) just like North Carolina, but there are a few differences worth knowing:
- Different permit office. York County Building Codes division handles permits. Fort Mill has its own planning and zoning office for setback questions.
- Similar fee structure. Residential deck permits typically run $100 to $350 in York County.
- Contractor licensing. South Carolina requires a General Contractor license for projects over $5,000. NC licensing requirements are different. Make sure your contractor is licensed in the state where the work is being done.
- Wind load considerations. SC code references can have slightly different wind-speed design requirements than Mecklenburg County NC. This mainly affects new-build post and footing specs, not repair work.
The bottom line for Fort Mill and Tega Cay homeowners: the permit process is very similar to NC, but you are dealing with a different office. We handle York County permits for our customers the same way we handle Mecklenburg and Union County - we pull it, we submit the plans, and we schedule the inspection.
NC Building Code Basics for Decks
North Carolina adopted the 2018 International Residential Code (IRC) with NC-specific amendments. Here are the deck-specific provisions that come up most often during inspections and permit reviews:
| Requirement | Code Standard |
|---|---|
| Guard rail height | 36 inches minimum (we install at 42 inches as a safer default) |
| Baluster spacing | No opening shall pass a 4-inch sphere |
| Stair handrail height | 34 to 38 inches above the stair nosing |
| Ledger attachment | Lag screws or through-bolts per IRC Table R507.9.1.3 |
| Ledger flashing | Corrosion-resistant flashing required at the deck-to-house connection |
| Post-to-beam connection | Approved mechanical connector (not just toe-nailed) |
| Footing depth | Below frost line (12 inches in Charlotte metro, per NC amendment) |
| Lateral load bracing | Required on all attached decks per IRC R507.9.2 |
Appendix M (Decks) in the IRC is the primary reference for residential deck construction. It covers joist spans, beam spans, post sizes, footing sizes, and connection details. Not all jurisdictions have adopted Appendix M, but Mecklenburg and Union counties both reference it.
The most common code violations we see on existing Charlotte-area decks are: ledger boards attached with nails instead of bolts, missing ledger flashing, balusters spaced wider than 4 inches, and posts set directly in soil without concrete footings. All of these are correctable during a repair project.
HOA ARC Approval (Separate from Building Permits)
If you live in an HOA-governed community - and most subdivisions in Marvin, Waxhaw, Weddington, Ballantyne, and Fort Mill are - you likely need Architectural Review Committee (ARC) approval in addition to any county building permit. These are completely separate processes with different requirements.
What the HOA controls
- Material type and color - many HOAs restrict deck material (e.g., composite required, or specific stain colors only)
- Deck placement and size - setbacks from property lines, maximum footprint relative to lot size
- Railing style - some HOAs prohibit certain railing types (glass, cable, etc.)
- Screening and privacy - rules about lattice, privacy walls, or overhead structures
ARC approval process
Most HOAs require you to submit an ARC application with a description of the project, material samples or specifications, a site plan showing the deck location, and sometimes photos of similar completed projects. Review timelines vary widely - some committees meet monthly, others review on a rolling basis.
We prepare the ARC packet for our customers as part of the project planning process. The 5-page packet typically includes a project description, material specs, colors, site plan, and construction timeline.
Does board replacement need ARC approval?
This depends on your specific HOA covenants. Most HOAs do not require ARC approval for like-for-like board replacement (same material, same color) because the appearance does not change. Switching from pressure-treated to composite, or changing the stain color, typically does require approval. Check your covenants or ask your HOA management company to be sure.
We handle the permit process
On any project that requires a building permit, we pull the permit, submit the plans, pay the fee (included in your project quote), and schedule the county inspection. You do not need to visit the permit office or deal with plan reviewers. We do the same for HOA ARC submissions when applicable. One of the advantages of hiring a local contractor is that we already know the process in Mecklenburg, Union, and York counties.