Research by DoINeedAPermit Research Team · Updated May 2026
The Short Answer
A full roof replacement or any tearoff-and-replace requires a permit in Milton; like-for-like patching under 25% of roof area typically does not. Milton enforces Georgia's three-layer limit strictly — if your roof has two existing layers, you must tearoff before re-roofing, which triggers a permit and inspection.
Milton Building Department follows Georgia's adoption of the 2018 International Building Code (IBC 1511 and IRC R907), but the city enforces the three-layer rule with particular rigor: a field inspection during permit review often catches hidden layers, and inspectors will flag any tearoff violation before work begins. Unlike some neighboring jurisdictions that may allow a second overlay under specific conditions, Milton does not grant exceptions — if you have two or more existing layers, a complete tearoff is mandatory. The permit fee runs $150–$400 depending on roof area (typically $1.50–$2.00 per square foot of roof), and the city offers over-the-counter (OTC) permitting for like-for-like shingle replacements with standard documentation. What sets Milton apart is its requirement for an in-person deck inspection after tearoff to confirm nailing, fastener count per IRC R905.10, and ice-water-shield placement (climate zone 3A warm-humid means condensation risk in winter — the city enforces the shield minimum 24 inches up the slope). Owner-builders may pull permits under Georgia Code § 43-41, though most roofers handle the filing. Milton's permit office sits within City Hall and processes most residential reroofs in 5-7 business days if submitted with complete documentation.

What happens if you skip the permit (and you needed one)

Milton GA roof replacement permits — the key details

Milton Building Department enforces Georgia's three-layer limit per IRC R907.4, which states: 'Roof-recovery work is not permitted where the existing roof covering and its underlying materials total three or more layers.' This is not discretionary. Before you submit a permit application, a roofer or inspector should verify the number of existing layers either by extracting a core sample (the safest method) or by careful visual inspection in the attic. If your home was built in the 1990s or early 2000s and you're now looking at re-roofing in the 2020s, there is a high likelihood of two existing layers already present — in that case, a tearoff is non-negotiable. Milton's permit fee schedule charges approximately $1.50–$2.00 per square foot of roof area, so a 2,000-square-foot roof (typically 20-22 squares in roofing parlance) will cost $150–$400 in permit fees alone. The city accepts applications in person at Milton City Hall or via its online portal (milton.ga.gov/permits or similar — confirm the URL with the department directly). For most like-for-like shingle-to-shingle replacements, the permit is issued as an over-the-counter (OTC) permit, meaning you walk in with your forms and documentation, hand them to the clerk, and walk out the same day with a permit number — no waiting for a plan-review engineer. However, if you are changing materials (shingles to metal or tile), upgrading to a hurricane-resistant system, or performing any structural deck repair, the application goes to plan review and can take 7-14 days.

The inspection sequence for a roof replacement in Milton typically unfolds as follows: (1) Permit issuance — you receive your permit card and can begin demolition. (2) Deck inspection — after the old roof is stripped to bare decking, you must call for an in-progress inspection before laying new underlayment. This is where the inspector verifies that decking fasteners meet IRC R905.10 (typically 8d or 10d nails, 6 inches on center at perimeter, 12 inches on center in field), that the deck itself shows no rot or structural failure, and that any roof penetrations are properly flashed. Milton inspectors pay close attention to fastening patterns because improper nailing is the leading cause of premature roof failure and wind damage (critical in Georgia's tornado and strong-wind seasons). (3) Final inspection — once shingles or metal is installed, the city performs a final walkthrough to confirm underlayment extends fully, fastening is complete, ridge cap is sealed per product specs, and flashing is installed per IRC R803 and R905.11. Expect the final inspection to occur within 2-3 days of your call. Many roofers will schedule both inspections back-to-back to keep the roof open as briefly as possible (weather risk, water intrusion). If the inspector finds deficiencies — say, ice-water-shield missing the required 24-inch extension up the slope — you'll receive a correction notice (typically a phone call or email) and must remediate within 5 business days before re-scheduling the final.

Milton's climate zone (3A warm-humid, 12-inch frost depth) introduces specific code requirements that differ from colder zones. Ice-water-shield (also called peel-and-stick water barrier) is mandatory in Milton, not optional. Per IRC R905.1.1 and local interpretation, the shield must extend a minimum of 24 inches up the slope from the eave edge, which protects against ice-dam backups and wind-driven rain penetration in winter. Some roofers try to scrimp on ice-water-shield (it costs $200–$400 more per job) or apply it only 6-12 inches — Milton inspectors will catch this and require correction. Additionally, because the region experiences warm, humid summers with potential for condensation in attic spaces, adequate ventilation is critical; the code requires soffit and ridge vents in a ratio of 1:1 (ISO 9001 certified vents preferred). If your attic currently lacks soffit vents or ridge vents, the inspector may note this as a deficiency that should be remedied during re-roofing — it's not a hard reject, but the roofer will be advised to upgrade ventilation if possible. Underlayment choices matter too: a synthetic underlayment (Synthetic Type S per ASTM D6380) is more durable than asphalt felt and is increasingly recommended in humid climates to prevent mold and decay; Milton does not mandate it, but inspectors appreciate it and note it in their reports.

Milton permits roof replacements to owner-builders under Georgia Code § 43-41, which allows a homeowner to pull a permit for work on their own primary residence without a contractor license. However, the roof still must meet all code requirements and pass inspections — the exemption is only on the license, not the code itself. In practice, most homeowners hire a roofing contractor to pull the permit and perform the work. If you plan to pull the permit yourself, you'll need to provide your proof of ownership (deed or tax assessment) and sign the application affirming that you are the owner and that the work will be performed by you or your household members. You cannot hire a contractor and claim owner-builder status; that is fraud. Milton enforces this rule. That said, many owner-builders hire subcontractors to help (e.g., hiring labor to assist with tearoff and cleanup while the owner oversees) — this is permissible, but the liability and code compliance remain yours. If an inspector finds code violations during an owner-builder project, you cannot blame a contractor; the permit holder (you) is responsible for correction.

The permit application itself requires: (1) a completed Georgia/Milton residential permit form (available at City Hall or online); (2) a plot plan showing the property footprint and roof area; (3) product specifications for shingles, underlayment, ice-water-shield, and fasteners (most roofers provide these from their supplier); (4) if material change or structural work, a structural engineer's letter or roof load calculation (for metal re-roofs or tile upgrades, often required to prove the structure can support the new weight); and (5) proof of ownership (deed photocopy). For most standard shingle-to-shingle replacements, items 1-3 are sufficient, and the permit clerk will issue same-day. Permit fees are non-refundable and due at issuance. Once issued, the permit is valid for 6 months; if work is not substantially started within that period, the permit expires and must be re-pulled. Inspections must be scheduled 24 hours in advance by calling the Milton Building Department or requesting via the online portal. Most roofers schedule inspections during the job and know the routine; if you're self-contracting, plan for two site visits (deck and final) spaced 3-5 days apart to account for the roofer's schedule.

Three Milton roof replacement scenarios

Scenario A
First-layer shingle re-roof, like-for-like, Alpharetta-area contemporary home in Milton
Your 2,800-square-foot home sits on a gentle 6:12 pitch; you have confirmed (via attic inspection or core sample) that the existing asphalt shingle roof has only one layer underneath. The shingles are 25 years old, curling, and losing granules. You want to tearoff the old shingles and install GAF Timberline HD 30-year architectural shingles in the same color, using the same type of underlayment and standard 6-inch nailing pattern. This is a textbook OTC permit scenario in Milton. Cost: permit fee is approximately $200–$250 (based on ~2,800 sq ft ÷ 100 = 28 squares × $7–$9 per square permit cost). The roofer pulls the permit, submits product specs, and receives same-day issuance. Deck inspection occurs mid-tearoff (typically day 1–2); inspector checks that decking is solid, no rot, and fastener holes are sound. Final inspection happens after shingle installation (typically day 3–4 of the job), confirming proper nailing (8d nails, 6 inches on center at edges, 12 inches in field), ice-water-shield extended 24 inches up slope from eaves, underlayment fully fastened, flashing sealed, and ridge cap installed per shingle manufacturer. If all is in order, you receive a passed inspection and the roof is permitted. Total timeline: 5–7 business days from permit pull to final inspection. No structural delays, no engineer review. Cost for the full re-roof (labor + materials) typically runs $8,000–$14,000 in Milton, depending on roof complexity and shingle grade; the permit fee is the smallest part of this budget.
Permit required | OTC same-day issuance | $200–$250 permit fee | 2 inspections required (deck + final) | 5–7 day timeline | No structural review needed | Total project cost $8,000–$14,000
Scenario B
Tearoff with two existing layers, Deerfield area ranch home, material change to metal standing-seam
Your 1,950-square-foot ranch home in Deerfield section of Milton was re-roofed in 2005 (original shingles, one overlay) and is now showing water stains in the master bedroom. A core sample reveals two full layers of shingles. You decide to upgrade to a metal standing-seam roof in charcoal gray, which will provide better durability and energy efficiency. Per IRC R907.4, the two-layer situation mandates a tearoff before any new roofing can be applied — an overlay is forbidden. Additionally, since you're changing material from asphalt shingles to metal (which is heavier and different in load behavior), Milton Building Department will route your permit to plan review and will likely require a brief structural engineer's letter confirming that your roof trusses can support the metal load (typically 1.5–2.5 psf for metal vs. 2–3 psf for shingles — most homes can, but the engineer's certification is required for the permit file). The permit application includes the product spec sheet for the metal system (e.g., Fabral or VP Buildings standing-seam, 24-gauge galvanized steel, typical fastening pattern), the engineer's letter, and your core sample documentation proving two layers. Permit fee: $250–$350 (typically higher for material-change and plan-review routing). Timeline: 7–14 days for plan review and issuance (not OTC). Inspections: (1) deck inspection after tearoff (critical because two layers means heavy demo debris and potential hidden deck damage), (2) underlayment inspection before metal is laid, (3) final inspection after metal installation. Metal roofing requires different fastening than shingles — typically 1.5-inch cleats spaced 12 inches on center, sealed with sealant per manufacturer — so the inspector will verify this detail carefully. Cost for full project: $14,000–$22,000 (metal is 2–3x the cost of asphalt shingles, but lasts 40–60 years). The permit fee ($250–$350) is absorbed in this larger budget.
Permit required | Plan review (material change) | Two existing layers mandate tearoff | Structural engineer letter required | $250–$350 permit fee | 7–14 day issuance timeline | 3 inspections (deck, underlayment, final) | Total project $14,000–$22,000
Scenario C
Small partial repair, under 25%, single shingle patch in storm-damaged area, Crabapple neighborhood
A summer thunderstorm damaged about 15 shingles on your home's west-facing slope (roof area roughly 2,000 sq ft total; damaged area is ~10–12 shingles or ~1 square = ~100 sq ft = ~5% of total roof). The shingles are from the original 2010 installation and are still in decent condition otherwise; you want to spot-patch the damaged section to extend the roof's life for another 3–4 years until you budget for a full replacement. This is a repair, not a replacement, and it is under the 25% threshold. Per IRC R907.2 (Roof-Covering Maintenance) and Georgia's interpretation, repairs under 25% of roof area are exempt from permitting in Milton. You can hire a roofer to remove the damaged shingles, inspect the decking (should be solid — if rot is found, the scope upgrades to structural repair and requires a permit), install ice-water-shield over the patched area, and re-shingle with matching or manufacturer-equivalent shingles. No permit is needed. No inspection is needed. The cost is relatively low: $500–$1,200 in materials and labor (the labor is mostly removal and re-nailing; the materials are perhaps 15–20 shingles plus underlayment and fasteners). However, important note: if the inspector suspects the patch is actually a precursor to a full re-roof or if the roofer is spotted doing unpermitted work during or after, Milton code enforcement can flag the work and demand retroactive permitting. The safest practice is to keep it honest — if it is truly a small repair, document it (photos before and after, roofer invoice) and keep receipts. If the homeowner later admits the goal was to avoid permitting a larger re-roof, the city can require the full permit retroactively and assess penalties.
No permit required (under 25% repair) | Small storm damage (5% of roof) | $500–$1,200 cost | No inspections required | Same-day roofer scheduling possible | Document repair scope carefully | Exceeding 25% triggers permit requirement

Every project is different.

Get your exact answer →
Takes 60 seconds · Personalized to your address

The three-layer limit and why Milton enforces it strictly

IRC R907.4 forbids reroofing over three or more layers of existing roof covering. The reason is structural and safety-related: each layer of shingles (or slate or tile) adds weight to the roof assembly. Modern residential roof trusses in the US are designed to carry a live snow load plus dead load (the roof structure and covering itself) within a specific calculation. When three layers of shingles are present, the dead load can exceed the truss design capacity, especially in older homes built to less stringent codes. Overloading creates two risks: (1) truss failure or sagging, which compromises the structural integrity and invites water intrusion and interior damage; (2) in high-wind events (not uncommon in Georgia), an overloaded roof is more likely to fail or separate from the structure. Milton's inspectors catch the three-layer violation early because many older homes in the area were re-roofed once or twice without full tearoffs, layering shingles on shingles. A permit application triggers an inquiry about existing layers, and many applicants either guess or provide incorrect information. The inspector's field visit during permit review (or during the deck inspection after tearoff) often uncovers the hidden layers. If discovered after the homeowner has already begun tearing off, the project is halted until a full tearoff is confirmed and documented. This is frustrating but non-negotiable.

The easiest way to verify layer count before permitting is to ask your roofer to extract a core sample. A core sample is a 2-3 inch diameter hole drilled through the roof to the deck, revealing the layer count visually. The roofer can then patch the sample hole and submit the core (or a photo of it) with the permit application. Milton Building Department appreciates this upfront documentation — it speeds permit review and avoids surprises. If a core sample is not done and the tearoff reveals two or more layers, the permit holder is still obligated to tearoff completely; the project schedule simply shifts. Core sampling costs $50–$150 and takes an hour; it is cheap insurance.

Georgia's adoption of the 2018 IBC (and most recent updates) enforces R907.4 uniformly, but Milton interprets the rule conservatively — the city does not grant waivers or exceptions for additional overlays in most cases. Some jurisdictions in other states allow a 'roof cap' system where a limited overlay is permitted with engineer approval on a case-by-case basis. Milton does not offer this. If you have two layers, tearoff is mandatory. Plan accordingly.

Inspection timing, weather delays, and permit validity in Milton

Once a permit is issued in Milton, it is valid for six months from issuance. This means the roofing work should be substantially started within that window. If a roofer schedules the tearoff and then delays (due to weather, supplier delays, labor shortage), and six months pass without substantial work, the permit expires and must be re-pulled, incurring new permit fees. Most roofers have this timeline circled on their estimate and schedule accordingly. However, weather is a real factor in Georgia. A permit pulled in early spring might be delayed by heavy rain (unseasonable for the season, but happens), and a roof left open for more than a few days risks water intrusion during a sudden downpour. Milton does not automatically extend permits for weather; you have to request an extension in writing (usually granted if the request is made before expiration and the reason is legitimate). A simpler approach: do not pull the permit until the roofer confirms a start date within 2–3 weeks.

Inspection scheduling in Milton is crucial. After the old roof is torn off to bare deck, you must call the Building Department and schedule the deck inspection. The inspector will arrive within 2–3 business days (sometimes same-day in slower seasons). If the roofer is ready with new underlayment and shingles, you want to schedule this inspection promptly to avoid leaving the roof open and exposed. Similarly, after the new roof is installed, call for the final inspection. Most roofers can complete a re-roof in 2–4 days (tearoff day 1, deck prep and underlayment day 2, shingle installation days 3–4, cleanup day 4). If inspections are scheduled right, the roof is permitted and closed within a week. Delays in inspection scheduling can stretch the job by days, creating weather risk and labor cost overages.

If an inspection fails (e.g., fasteners are incorrect, flashing is leaking, underlayment is not extended properly), the inspector issues a correction notice. The roofer then has 5 business days to remediate and call for a re-inspection. Most deficiencies are minor and corrected in a few hours; however, a major failure (e.g., structural rot in the deck discovered during demo) can halt the project for weeks while engineering and remediation are arranged. Milton is reasonable about timelines on legitimate delays, but the onus is on the permit holder to keep communication open with the department and the roofer.

City of Milton Building Department
Milton City Hall, Milton, GA 30004 (confirm exact street address with city website)
Phone: (470) 456-0000 (general city number; transfer to building permits — verify current direct line) | milton.ga.gov/permits (or submit in person at City Hall)
Monday–Friday, 8:00 AM–5:00 PM (Eastern Time); closed Saturdays, Sundays, and city holidays

Common questions

How do I know if my roof has two or three layers without hiring an inspector?

Access your attic with a flashlight and look at the rafters near the eaves — you should see the roof deck (plywood or boards) nailed to the trusses, and you may see layers of shingles (and felt or underlayment) above it. If you see two distinct layers of shingles or thick matted roofing material, you likely have two or more layers. The most reliable method is a core sample extracted by a roofer — a 2–3 inch hole through the roof reveals the exact layer count and costs $50–$150. Milton Building Department recommends this before you commit to a re-roofing bid.

Do I need a permit if I am just replacing damaged flashing or patching one small area of shingles?

Flashing-only work (gutters, vents, chimneys) is typically exempt from permitting as long as no re-roofing is involved. Patching fewer than 10 squares of shingles (under 25% of roof area) is usually exempt. However, if the patch is on a roof that already has two layers, and you plan a full tearoff, that triggers a permit. When in doubt, call Milton Building Department and describe the scope — they will clarify if a permit is needed.

My roofer says they can 'nail over' my existing roof instead of tearing off. Is that allowed in Milton?

Only if you have zero or one existing layer. If you have two or more layers, IRC R907.4 forbids an overlay — a full tearoff is mandatory in Milton and throughout Georgia. Some roofers propose overlays to save labor cost; Milton inspectors will stop the work if they discover an unpermitted overlay or if a hidden layer is revealed during tearoff. It is better to tearoff and do it right the first time than face a stop-work order and fines.

How much does a Milton roof replacement permit cost?

Permit fees typically range from $150–$400, depending on roof area and whether the work involves plan review. A standard like-for-like shingle replacement on a 2,000–3,000 sq ft roof costs $200–$300. If you are changing materials (shingles to metal or tile) or the roof has structural work, the fee may be higher ($300–$500) due to engineer review. Fees are non-refundable and due at permit issuance.

Can I pull the permit myself, or do I have to use a licensed roofer?

Georgia Code § 43-41 allows owner-builders to pull permits for work on their primary residence. You can pull the permit yourself if you are the property owner and the work will be performed by you or household members. You will need proof of ownership (deed or tax assessment) and a completed Georgia/Milton permit form. That said, most homeowners hire a licensed roofing contractor to pull and manage the permit — the contractor handles the paperwork and inspections, and the homeowner is shielded from some liability. If you pull the permit yourself, you are responsible for all code compliance and inspection results.

What happens if my roof fails the final inspection?

The inspector will issue a correction notice detailing the deficiency (e.g., fasteners not spaced correctly, ice-water-shield not extended far enough, flashing not sealed). You have 5 business days to fix the issue and request a re-inspection. Most deficiencies are corrected within a day or two by the roofer. If the deficiency is structural (e.g., rotted deck that needs reinforcement), the timeline may be longer. The permit remains active until the final inspection passes — you cannot legally occupy the home under a roof with a failed final until corrections are made and re-inspected.

Do I need an engineer's letter for a metal roof upgrade?

Likely yes. Metal roofs are lighter than asphalt shingles (1.5–2.5 psf vs. 2–3 psf), so the structural loading is usually not an issue. However, Milton requires a brief engineer's certification for any material change from shingles to metal or tile. The engineer confirms that the roof trusses are adequate for the new load and any installation details (fastening, flashing, etc.). An engineer's letter costs $200–$500 and takes 3–5 days to obtain. Factor this into your timeline if you are upgrading materials.

What if I discover rot in the roof deck during tearoff?

Rotted decking is a structural repair and must be addressed before new roofing is installed. The roofer will halt work and notify Milton Building Department. Depending on the extent of rot, an engineer may assess the damage and prescribe repair (sister joists, deck replacement, etc.). The cost varies — minor rot ($500–$1,500) vs. extensive rot ($3,000–$8,000+). The permit is still active, but the timeline extends. It is another reason why a pre-bid inspection and core sample are worthwhile.

How long does Milton Building Department take to issue a roof replacement permit?

For a standard like-for-like shingle replacement, over-the-counter (OTC) permits are issued the same day you submit — walk in with your forms, product specs, and fee, and leave with your permit. For material changes or structural work, the application goes to plan review and typically takes 7–14 days for the engineer or plan reviewer to approve. Expected timeline from application to final inspection passed: 2–3 weeks for OTC, 3–4 weeks for plan review, assuming inspections are scheduled promptly and no deficiencies are found.

What is the ice-water-shield requirement in Milton?

Milton enforces IRC R905.1.1, which requires ice-water-shield (self-adhesive water barrier) to extend a minimum of 24 inches up the slope from the eave edge. This protects against ice-dam backups and wind-driven rain in winter. Climate zone 3A includes occasional freezing, so the 24-inch extension is non-negotiable. Some roofers skimp on this (it costs $200–$400 more per job); the inspector will catch it and require correction. Always confirm with your roofer that ice-water-shield is in the estimate and spec before signing the contract.

Disclaimer: This guide is based on research conducted in May 2026 using publicly available sources. Always verify current roof replacement permit requirements with the City of Milton Building Department before starting your project.