Research by DoINeedAPermit Research Team · Updated May 2026
The Short Answer
Full roof replacements, tear-offs, and partial replacements over 25% require a permit in Elmhurst. Like-for-like repairs under 25% do not. The key: Illinois adopts the 2021 IBC, which enforces strict tear-off requirements if a third layer exists — Elmhurst's Building Department enforces this on deck-nailing inspections.
Elmhurst follows the 2021 International Building Code, same as Illinois state. The critical Elmhurst-specific angle: the city's Building Department has begun stricter enforcement of IRC R907.4 (no three-layer limit) during the in-progress deck-nailing inspection. Many homeowners in Elmhurst neighborhoods like Ridgeland and Yorkfield discover a second or third layer during tear-off, triggering surprise permit requirements they didn't expect. Unlike some collar-county suburbs that grandfather older roofs, Elmhurst applies the three-layer rule uniformly — if your inspector finds three layers during the deck inspection, you stop work, pull a full permit, and tear to bare deck. The city also requires ice-and-water shield to be specified and extended 24 inches from the eaves (IRC R905.1.2 for Elmhurst's climate zone 5A). Elmhurst homeowners should confirm their contractor's estimate includes notation of existing layers before submitting the permit application; a cheap estimate that doesn't mention layers is a red flag. Permit fees run $150–$350 based on roof area, and the turnaround is typically 5–10 business days for plan review.

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

Elmhurst roof replacement permits — the key details

The rulebook is IRC R907 (reroofing) and IRC R905 (roof-covering requirements), adopted verbatim by Elmhurst via the 2021 IBC. A full roof replacement — meaning 100% of the surface, or any tear-off-and-replace, or partial replacement over 25% of roof area — requires a permit and inspections. The three-layer rule under IRC R907.4 is non-negotiable: if your existing roof has two layers already, and you try to add a third, the inspector will stop the work. Elmhurst Building Department applies this rule without exception, meaning you either tear to bare deck (scope creep + cost) or you don't proceed. Like-for-like repairs under 25% — a few shingles, a patch job, no tear-off — are exempt. Gutter and flashing repairs alone do not trigger a permit. However, if you touch the deck (nail pattern, structural repair, fastening), a permit is required. The permit application asks for the scope (full vs. partial %), number of existing layers, and if you're changing material (e.g., asphalt shingles to metal, slate, or tile). A material change adds a structural evaluation requirement if the new material is heavier than the old — Elmhurst's plan reviewer will require a structural engineer's sign-off.

Underlayment specification is a common sticking point in Elmhurst permits. The code requires synthetic underlayment (ASTM D6757) or roofing felt (ASTM D226), and for Elmhurst's climate zone 5A, you must specify ice-and-water shield (self-adhering, synthetic) extending a minimum 24 inches from the eaves on all slopes. Many contractor estimates omit this detail, and the plan reviewer will reject the application asking 'Where is the ice-and-water shield spec?' On a 2,000-sq.-ft. roof in Elmhurst, ice-and-water shield costs an extra $400–$700, a surprise many homeowners don't budget. Fastening pattern (nail type, number per shingle, and spacing) must also be documented — for asphalt shingles, that's typically 6 nails per shingle in compliance with IRC R905.2.5.1. The Elmhurst Building Department spot-checks fastening during the in-progress inspection by pulling shingles and counting nails; they will fail the inspection if pattern is sloppy. Write these details into your contractor agreement before they mobilize.

Permit fees in Elmhurst are typically calculated at $0.08–$0.15 per square foot of roof area (a 'square' is 100 sq. ft., so a 20-square roof is 2,000 sq. ft.). A 2,500-sq.-ft. home with a single-plane gable roof (25 squares) will pay $200–$375 for the permit; a more complex roof (multiple pitches, dormers, valleys) might push $400–$500. Elmhurst does not charge additional plan-review fees for standard residential reroofs; however, if a material change (shingles to metal/tile) is involved, the city's structural engineer may require a $200–$300 peer review on load calculations. The permit is valid for 180 days, and the inspection window is 30 days after completion (homeowner request). If the roof sits unpermitted for more than 6 months, you forfeit the permit and start over. Most contractors will pull the permit and include the cost in the bid; confirm in writing before signing.

Inspections happen in two stages: deck-nailing (in-progress) and final. The deck-nailing inspection occurs once all old roofing is removed and the new fastening pattern is laid out. The inspector checks nail type, spacing, and pulls a few shingles to verify the underlayment is in place and the ice-and-water shield is extended correctly. For Elmhurst's climate zone 5A (42-inch frost depth in the northern portions of the city), proper flashing and underlayment are critical to prevent ice damming and leaks — the inspector treats this seriously. If the inspector finds a third layer during this inspection, the job halts. The final inspection occurs after all roofing is complete and the roof is wet-tested or the inspector walks the perimeter checking seals and penetration flashing. Elmhurst Building Department typically schedules inspections within 3–5 business days of your request; contractors will notify the city when ready. Plan 2–3 weeks from permit issuance to final inspection sign-off.

Owner-builder roof replacement is allowed in Elmhurst if you own and occupy the home, but the permit process is identical and inspections are just as rigorous. If you hire a licensed roofer, they typically pull the permit and manage inspections; the homeowner signs off on final. If you're doing the work yourself, you pull the permit, notify the inspector when ready, and sign the final inspection. Either way, the code doesn't change. One last note: check with your homeowner's insurance before starting. Some carriers require a licensed, bonded contractor for roof work; a DIY job or unlicensed 'cash' roofer may void coverage. Verify coverage before mobilizing to avoid a $50,000 claim denial later.

Three Elmhurst roof replacement scenarios

Scenario A
Single-layer asphalt shingles, full tear-off and re-roof with like-for-like shingles, 2,000-sq.-ft. ranch in Elmhurst village proper
You have a 1970s ranch in the Elmhurst village core (typical 24-28 degree slope, 2,000 sq. ft. total footprint, gable roof with one valley). Your existing asphalt shingles are 20+ years old, curling, and losing granules. You get three bids; two contractors mention 'one layer currently,' one doesn't mention it. You pull the permit application yourself (Elmhurst allows owner-builders for owner-occupied homes). The form asks: full tear-off or overlay? (You answer tear-off.) How many existing layers? (One.) Material change? (No, staying with asphalt — say, GAF Timberline or similar.) Estimated roof area? (20 squares = 2,000 sq. ft.). Elmhurst Building Department plan review takes 5 business days; they issue the permit with a note: 'Verify ice-and-water shield specification and fastening pattern per IRC R905.2.5.1 — submit contractor affidavit or shop drawings.' Your contractor provides a one-page spec sheet confirming synthetic underlayment (ASTM D6757) and ice-and-water shield 24 inches from all eaves. The permit fee is $180. Work begins; deck-nailing inspection is called in on day 3 (once old roof is off and new fasteners are laid). Inspector verifies nail pattern (6 nails per shingle, 5/8-inch head, staggered rows) and ice-and-water shield coverage on the lower 2 feet of the lower slope. Final inspection after shingles, flashing, and ridge caps are installed; inspector walks roof perimeter, pulls a few shingles to verify nailing, checks that all penetrations (vent pipes, chimney) are flashed and caulked. Inspection passes. Total timeline: 15 business days from permit issuance to final sign-off. Cost: $8,000–$12,000 for materials and labor (contractor bid varies); permit fee $180; total out-of-pocket $8,180–$12,180.
Full tear-off required | Single-layer existing | Like-for-like asphalt OK | Ice-and-water shield 24 inches from eaves mandatory | Permit fee $180 | 5-day plan review | 2 inspections (deck-nailing, final) | Total project $8,180–$12,180
Scenario B
Two existing layers discovered at tear-down, half-roof partial replacement (rear slope only, 30% of total area) on colonial in Ridgeland neighborhood
You own a two-story colonial on Ridge Road in Ridgeland, Elmhurst's historic-adjacent neighborhood (north-facing rear slope takes weather hard; front slope is newer). Rear slope is curling and leaking into the master bedroom; front slope has 5+ good years left. You want to replace only the rear slope to save money — that's roughly 1,000 sq. ft. out of 3,300 sq. ft. total, or 30%. You call your contractor; they give a 'partial roof' bid of $3,500 for materials and labor. The contractor pulls a permit for a '30% partial replacement' and submits the plan. Elmhurst's plan reviewer calls 3 days later: 'How many layers are on the rear slope?' Contractor calls you; you say 'I don't know — we haven't torn anything off yet.' Contractor goes back to the city saying 'TBD — to be determined at teardown.' The city issues a conditional permit: 'Approved contingent on inspection of existing layers at teardown. If three or more layers are present, this permit is void and a full tear-off permit is required.' Work begins on day 10. Roofer tears the rear slope; surprise — there are TWO existing layers under the current shingles. The inspector is called to the deck; the inspector verifies two layers, notes it on the inspection card, and says 'You can proceed with partial replacement per the contingency clause — this is a valid partial.' The roofer installs synthetic underlayment, ice-and-water shield on the lower 18 inches of the rear slope (also required for partials in zone 5A), and new asphalt shingles. However, because you're blending a new roof section onto an old one (valley where old front slope meets new rear slope), the inspector requires flashing detail at the interface to prevent wind-driven rain and ice damming. This adds $200–$400 to the job. Final inspection passes. BUT: because two layers were present, the permit record now shows 'two existing layers' — important for your home's disclosure document if you ever sell. Total timeline: 18 business days (contingency adds 3 days). Cost: $3,500 (labor/materials) + $150 (permit fee for partial) + $300 (extra flashing detail) = $3,950. If the teardown had revealed THREE layers, the permit would have been voided, you'd have pulled a new full-tear permit ($250 fee), and the job would have jumped to $8,000+.
Partial replacement (30% of roof area) | Contingent permit — layers TBD at teardown | Two layers found — partial approved per code | Interface flashing required | Permit fee $150 | Inspection reveals layer count disclosure | Total project $3,950
Scenario C
Material change from asphalt shingles to metal standing-seam on slate-roof historic home in Elmhurst's designated historic district
Your 1920s Greek Revival on York Street (in Elmhurst's local historic district) has original slate tiles that are failing — slates are broken, flashing is corroded, and a couple of interior leaks during heavy rain. Slate repair is $12,000+; replacement slate is $18,000+. You want to switch to lightweight metal standing-seam (Galvalume or copper) to look similar but cost $7,500 installed. You pull a permit application. The form asks: material change? (Yes, slate to metal.) Elmhurst's plan reviewer flags this: 'Material change from slate (heavier) to metal (lighter) — structural evaluation required per IRC R907.3. Submit engineer's letter confirming existing roof structure (rafters, trusses, deck fastening) is adequate for metal roofing load.' You hire a structural engineer (cost $300–$500); engineer confirms that the existing 1920s-era rafter system (rough-sawn 2x6 and 2x8 timber, 16-inch on-center) is rated for both slate and metal. Engineer writes a one-page letter: 'Existing structure is adequate for metal standing-seam roof at 2.5 PSF.' Permit application is resubmitted with the engineer letter. The city's plan reviewer approves with a note: 'Metal roofing install must include 30-mil synthetic underlayment and ice-and-water shield per IRC R905.13 (metal roofing). Fastening pattern must be per manufacturer spec and site-visited during deck-nailing inspection.' The permit fee is $250 (higher due to material change review). However — and this is crucial for Elmhurst's historic district — the city's Historic Preservation Commission must review the exterior work before you can pull the permit. The HPC meets monthly (third Thursday). Your application goes to HPC in June; they review photos of the metal finish (standing-seam in Galvalume), compare to the house's historical character, and approve in July (one-month delay). You then pull the permit (valid for 180 days). Teardown and deck inspection happen; metal roofing is installed with manufacturer fasteners and ice-and-water shield. Final inspection verifies fastening pattern and flashing. Total timeline: 6 weeks (HPC review + permit + construction). Cost: $7,500 (metal roof labor/materials) + $250 (permit fee) + $400 (engineer letter and HPC application) = $8,150. Without the historic-district overlay, this same project would have taken 3 weeks and cost $7,750.
Material change (slate to metal) | Structural engineer letter required ($300–$500) | Historic Preservation Commission review mandatory (monthly cycle = 30-day delay) | HPC approval + permit fee $250 | Synthetic underlayment + ice-and-water shield required | Total project $8,150 including HPC and engineer

Every project is different.

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

Why Elmhurst's three-layer rule bites harder than you'd expect

IRC R907.4 states clearly: 'Where existing roof coverings are to be removed, all nails, fasteners, and projections shall be removed or equivalent protection shall be provided.' The practical rule is: you can apply at most two layers of asphalt shingles. A third layer is not permitted; if you have three, you tear to bare wood. Elmhurst's Building Department enforces this rule uniformly, and homeowners often discover it during the permit process. Here's why it matters: older Elmhurst homes (built 1960s–1980s) often came with a single layer of shingles; the owners added a second layer around 2000 (cheaper than a tear-off); now in 2024, those shingles are failing, and the homeowner wants to add a third. Nope. Tear-off is mandatory.

The cost hit is real. If your contractor's estimate assumes a tear-off but you discover a second layer already exists, the estimate is good. If a third layer exists, you stop work, pull a permit, tear off two layers (not just the top one), and proceed. That's an extra $1,500–$3,000 in labor and disposal fees — a big surprise. Elmhurst's inspector will catch this during the in-progress deck-nailing inspection, not after the fact. The city requires that the existing roof be completely removed before new fastening begins; if you try to nail through three layers, the inspector will call it out immediately and stop the job. To avoid this surprise, your contractor should do a walk-around and spot-check layers BEFORE giving you a bid. A low estimate that doesn't mention checking existing layers is a red flag.

One more nuance: if you have a roof that's already had one tear-off (so the current covering is the 'first new layer' applied after the original was removed), you can apply a second layer on top of that. The rule counts total applied layers, not how many times the roof has been worked on. This is why your contractor should ask: 'Is this the first, second, or third roof on this house?' Not all contractors ask; they assume. Confirm in writing before they mobilize.

Ice-and-water shield, frost depth, and why Elmhurst inspectors care about climate details

Elmhurst sits in IECC climate zone 5A (northern suburbs) or 4A (depending on exact Downers Grove border), with a frost depth of 36–42 inches. This means winter freeze-thaw cycles are intense, and ice damming (frozen water pooling at the eaves and leaking under shingles) is a real failure mode. IRC R905.1.2 requires ice-and-water shield (self-adhering synthetic membrane) on all roof slopes in zones with a winter design temperature below 0°F. Elmhurst qualifies: winter design temperature in Elmhurst is around -20°F. The code mandates that ice-and-water shield extend from the eaves up to a point at least 24 inches inside the building perimeter, or to the inside surface of the exterior wall, whichever is greater. On a 28-degree slope, 24 inches horizontal distance equals about 36–40 inches of roof distance upslope.

Elmhurst Building Department's plan reviewers and inspectors know this rule cold. They will reject a permit application that doesn't specify ice-and-water shield, and they will fail an in-progress inspection if the shield isn't installed. Why? Because Elmhurst (like much of DuPage County) has seen ice-damming damage on thousands of homes — water leaks into attics, rots framing, breeds mold. The city has enforcement history on this. If you've got water damage in your attic after a winter and you didn't pull a permit (so no inspection), you're liable to insurance claims disputes. Contractors often try to skip ice-and-water shield to shave $300–$400 off the bid; savvy homeowners in Elmhurst know better. The material itself (Underlayment or similar, 3-foot-wide rolls) costs $4–$6 per square foot; labor is $1–$2 per sq. ft. On a 2,500-sq.-ft. roof, that's $150–$250 in material and $75–$150 in labor. Not cheap, but insurance claims for ice damming are $5,000–$15,000.

One final detail: Elmhurst's inspector will verify that the ice-and-water shield is properly adhered and seams are overlapped (upper piece overlaps lower piece, like shingles). If you see daylight under a seam or bubbles in the membrane, the inspector will ask for it to be re-done. This is not a gray area. Write it into your contractor agreement: 'Ice-and-water shield per IRC R905.1.2, minimum 24 inches from eaves, synthetic (ASTM D1970), properly seamed and adhered, subject to in-progress inspection.'

City of Elmhurst Building Department
209 South Spring Road, Elmhurst, IL 60126
Phone: (630) 530-3010 | https://www.elmhurst.org/permits
Monday–Friday, 8:00 AM–5:00 PM (verify before visiting)

Common questions

Do I need a permit if I'm just replacing a few damaged shingles?

No. Spot repairs under 25% of the roof area do not require a permit in Elmhurst, as long as you're not tearing off underlying layers or replacing the deck. If you're patching a leak with new shingles nailed over the existing roof, that's exempt. However, if your contractor has to tear off shingles to access the underlying deck or flashing, a permit is required. Make sure your contractor is clear on the scope: if they're re-nailing the deck or replacing deck boards, a permit is required.

The roofer found three layers. Now what?

The permit is halted or voided. IRC R907.4 prohibits three or more layers. You have two options: (1) pull a new permit for a full tear-off-and-replace, which will cost more and take longer; or (2) stop the project. Most homeowners choose option 1. The teardown and full replacement will add $2,000–$4,000 to the bid and extend the timeline by 1–2 weeks. Elmhurst's inspector caught this at the deck-nailing stage, which is the right time — before you've paid for shingles and labor.

Can I apply a new roof over the existing one (overlay)?

Only if you have one existing layer and you're not changing material. Elmhurst follows IRC R907.3, which allows a single new layer over one existing layer, provided the existing roof is in good condition (no holes, no three-layer rule violation). Overlays are cheaper ($2,000–$4,000 saved vs. tear-off) and faster, but they don't last as long as a tear-off (the old layer traps heat and moisture, shortening shingle life by 5–10 years). Overlays still require a permit; the inspector will verify that only one layer exists before the new shingles are applied. If you're overlaying, you still need ice-and-water shield on the lower slopes, and the fastening pattern must be verified.

Does my homeowner's insurance cover roof replacement?

That depends on your policy and the reason for replacement. If the roof failed due to age or wear (normal degradation), insurance typically does not cover replacement; you pay out-of-pocket. If the roof failed due to a covered peril (hail, windstorm, tree damage), your policy may cover it, subject to your deductible. Some carriers require a licensed, bonded, insured contractor; they will not cover DIY or cash-under-the-table work. Before starting, call your insurance agent and confirm: (1) is the damage covered? (2) do they require a licensed contractor? (3) what is the deductible? Failure to permit the work will not void your coverage, but a contractor paying cash (no license, no insurance) might. Verify coverage before mobilizing.

How long is the permit valid?

A roofing permit in Elmhurst is valid for 180 days from the date of issuance. If you haven't started work or finished inspections within 180 days, the permit expires and you must pull a new one. Extensions are available; contact the Building Department if you need more time. The final inspection must be requested within 30 days of completion. If you sit on a finished roof for 6 months without calling the inspector, the permit expires and you may face code violations.

What if I'm in Elmhurst's historic district?

The Historic Preservation Commission must review and approve the exterior work (roofing material, color, and profile) before the Building Department issues a permit. This adds 30–45 days to the timeline (HPC meets monthly, typically third Thursday). The HPC will ask for color samples, photographs, and documentation that the new roof is historically appropriate. Material changes (e.g., asphalt shingles to metal) trigger HPC review. Like-for-like replacements (same material, same color) are usually approved with a single letter from HPC. Budget an extra month and $150–$300 in HPC application fees if you're in the historic district.

Who pulls the permit — me or the contractor?

Either, but the contractor usually does it. If you hire a licensed roofing contractor, they will include permit fees in their bid and pull the permit themselves. They manage the inspections and sign-offs; you pay them and they handle code. If you're doing the work yourself (owner-builder), you pull the permit and manage inspections. Owner-builders are allowed in Elmhurst for owner-occupied homes. If your contractor doesn't mention permits in their bid, ask: 'Is the permit fee included?' A low bid that omits permits is a red flag. Get it in writing that the contractor pulls the permit and includes all inspection costs.

What does the deck-nailing inspection check?

The deck-nailing inspection happens once the old roof is torn off and the new fasteners (nails) are laid out but before shingles are fully installed. The inspector verifies: (1) nail type (16d galvanized or stainless steel, typically), (2) nail spacing (6 per shingle, 5/8-inch head, staggered rows for asphalt shingles per IRC R905.2.5.1), (3) ice-and-water shield installation (properly adhered, seams overlapped, extending 24 inches from eaves), and (4) underlayment type and coverage (synthetic, ASTM D6757, or roofing felt). If the inspector finds three layers during this visit, the work halts. If fastening is sloppy, the inspector will ask for re-nailing. Have your contractor call for this inspection the day after tear-off is complete.

How much does a roof replacement permit cost in Elmhurst?

Typically $150–$350, based on roof area. Elmhurst calculates fees at $0.08–$0.15 per square foot. A 2,500-sq.-ft. home (25 squares) will pay $200–$375. A material change (asphalt to metal/tile) may trigger a structural review, adding $200–$300 if an engineer's letter is required. Historic district review (HPC) adds $0–$150 depending on complexity. Total permit costs: $150–$500 for a typical residential re-roof. This is separate from the contractor's bid for labor and materials.

What happens after the final inspection passes?

The inspector signs off and issues a 'Certificate of Occupancy' or 'Permit Sign-Off' (Elmhurst terminology varies). You receive a copy. This document is important: it proves to a future buyer, lender, or insurance company that the roof was permitted and inspected per code. Keep it with your home records. A future sale will require disclosure of permitted work; an unpermitted roof can kill a sale or tank the price. If you ever refinance or get a mortgage, the lender may require proof of permits. That sign-off is your proof.

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 Elmhurst Building Department before starting your project.