Do I Need a Permit for a Roof Replacement in Milwaukee, WI?

Milwaukee is one of Wisconsin's more homeowner-friendly cities when it comes to roof replacement permits — the city explicitly exempts straightforward shingle-for-shingle replacement from the permit process. But that exemption has real boundaries: structural deck repair, material changes to metal roofing, and any work on a historic district property can all flip a simple permit-free reroof into a formal permit application. And Wisconsin's statewide two-layer shingle rule affects every Milwaukee reroof project in a way most homeowners don't anticipate.

Research by DoINeedAPermit.org Updated April 2026 Sources: City of Milwaukee Department of Neighborhood Services — Resources for Homeowners (city.milwaukee.gov/DNSPrograms/homeowner); Re-Roofing Permit Application (city.milwaukee.gov/ImageLibrary/Groups/dnsAuthors/permits/Documents/Roofingpermitapplication.pdf); Wisconsin Uniform Dwelling Code SPS 320–325
The Short Answer
MAYBE — shingle replacement alone is permit-exempt in Milwaukee; structural work, material changes, and historic properties require permits.
Milwaukee DNS explicitly exempts "replacement of unlimited quantities of roof covering" from the permit requirement for one- and two-family homes. However, if your project involves repairing or replacing roof framing members (rafters, trusses), or if your property is in a historic district, a permit is required. Wisconsin also mandates that if two layers of shingles already exist, all layers must be removed before a new roof is installed — a full tear-off that may expose rotted decking requiring replacement. Decking replacement alone (without modifying framing) remains permit-exempt; framing repair does not.
Every project and property is different — check yours:

Milwaukee roof replacement permit rules — the basics

Milwaukee's Department of Neighborhood Services publishes explicit guidance on what does and does not require a permit for one- and two-family residential property owners. "Replacement of unlimited quantities of roof covering" is listed as permit-exempt — meaning you can replace all the shingles on a Milwaukee home without filing for a building permit, regardless of the total square footage of the roof. The same guidance exempts "replacement of roof decking without modification to framing members" — meaning replacing rotted or water-damaged plywood sheathing is also permit-free as long as you're not altering the rafters or trusses beneath it. This is a notably generous approach compared to many Wisconsin municipalities that require re-roofing permits for all full replacements.

The boundaries of the exemption are clear. If your roofing project requires repairs to the structural framing — sistering weakened rafters, replacing damaged trusses, rebuilding a ridge board — those structural repairs require a building permit from DNS. Similarly, replacing the roof covering on a property in a designated Milwaukee historic district requires a Certificate of Appropriateness from the Historic Preservation Commission before any exterior work proceeds, and the roofing contractor must confirm material compatibility with the historic character of the property. DNS maintains a Re-Roofing Permit Application form on its Info Sheets page for projects that do require a formal permit, and that form explicitly notes that Conservation districts and BID-Architectural Review Board areas (including the Third Ward and East North Avenue corridor) require separate approvals regardless of permit exemptions.

Wisconsin's Uniform Dwelling Code imposes a statewide two-layer maximum for shingle roofs. No more than two layers of shingles may exist on a roof at any one time. When an existing Milwaukee home already has two layers of shingles installed — which is common on homes built between the 1960s and 1990s that received one re-roof over the original — a new layer cannot be added on top. The entire roof must be torn off (both layers) before the new shingles are installed. This full tear-off rule is technically enforced by the contractor's responsibility to comply with the UDC, not by a permit requirement, but it has a practical impact: a tear-off job on a Milwaukee home with two existing layers typically adds $800–$1,800 in labor and disposal costs compared to a simple overlay, and the tear-off routinely reveals rotted or damaged sheathing that must be replaced before new shingles go on.

Ice and water shield requirements represent another Milwaukee-specific compliance point that applies with or without a permit. Wisconsin's cold winters create significant ice dam risk — the freeze-thaw cycle where snowmelt refreezes at the eave creates a dam that backs water up under shingles and into the attic structure. Wisconsin's UDC requires ice and water shield (a self-adhering waterproof membrane) installed under the shingles in the eave areas, valleys, and around all roof penetrations. On Milwaukee homes, where winter temperatures routinely drop well below zero and ice dams are nearly universal after heavy snowfall, installing roofing without proper ice and water shield is both a code violation and a recipe for expensive water intrusion damage within a few years. Any reputable Milwaukee roofing contractor will install ice and water shield as a standard practice, with or without a formal permit requirement.

Not sure whether your Milwaukee roof project needs a permit?
Get a personalized report for your exact address — whether it's in a historic district, what the current layer count means for your project, and what compliance requirements apply regardless of permit status.
Get Your Milwaukee Permit Report →
$9.99 · Based on official city sources · Delivered in minutes

Why the same roof replacement in three Milwaukee neighborhoods gets three different outcomes

Scenario A
Bay View Cape Cod — single layer tear-off, no permit required, straightforward compliance
A Bay View homeowner has a Cape Cod-style home with a single layer of 20-year-old architectural shingles that are failing. The home is not in a historic district. The roofer tears off the existing single layer, inspects the OSB sheathing (which is in good condition throughout), installs ice and water shield along the full eave area (24 inches inside the exterior wall line, as required by the Wisconsin UDC for heated spaces), installs synthetic underlayment over the field area, and applies new architectural shingles. No framing repairs are needed. No permit is required under Milwaukee's exemption for roof covering replacement. The project is completed in a single day. Total cost for a 1,800 square foot roof with architectural shingles, full tear-off of one layer: $9,000–$13,000 from a licensed Milwaukee roofing contractor. Permit cost: $0. The homeowner should retain the contractor's invoice and the shingle manufacturer's product documentation for warranty purposes and future resale documentation.
Permit required: No | Project total: $9,000–$13,000
Scenario B
Riverwest bungalow — two existing shingle layers, full tear-off exposes rotted decking, structural repair adds a building permit
A Riverwest homeowner hires a roofer for what they expect to be a routine replacement. The roofer inspects the existing roof and discovers two layers of shingles — the original three-tab from the 1970s and an overlay applied in the 1990s. Wisconsin's UDC prohibits adding a third layer, so both must be torn off. During the tear-off, the roofer discovers that the low-slope porch roof section has three rafters that are significantly rotted from years of ice dam infiltration — the rot has progressed into the rafter structure, not just the decking. Replacing the rotted rafters (framing members) requires a building permit from Milwaukee DNS, even though simple decking replacement would not. The homeowner applies for a building permit while the main roof work proceeds. DNS issues the building permit within 5–7 business days for the limited structural repair scope. The roofer installs new rafters, replaces the damaged decking in the porch area, and installs ice and water shield over the entire porch section (a particularly ice-dam-prone geometry). Total project cost: $14,000–$19,000 (two-layer tear-off, framing repairs, full replacement). Building permit cost: approximately $200 (minimum fee). Permit-free decking replacement elsewhere on the roof adds no permit cost.
Permit required: Building permit (structural repair only) | Permit cost: ~$200 | Project total: $14,000–$19,000
Scenario C
Historic Third Ward loft — Certificate of Appropriateness required, material specification review adds 6–8 weeks
A Third Ward property owner needs to replace the flat membrane roof on a converted 1890s warehouse building. The Third Ward is a designated Milwaukee historic district, meaning any exterior change — including roofing material replacement — requires a Certificate of Appropriateness from the Historic Preservation Commission before proceeding. The HPC reviews the proposed roofing material and color to confirm compatibility with the building's industrial historic character. For flat roofing on a historic commercial conversion, the most common approved materials are modified bitumen (torch-down) or EPDM membrane systems in dark tones — the HPC generally rejects highly reflective white TPO membranes on visible roof sections in the historic Third Ward because they alter the building's visual character from neighboring elevated viewpoints. The HPC meets monthly; the owner submits drawings and a material specification sheet. COA is granted at the next monthly meeting. A standard DNS re-roofing permit is also applied for (since the HPC approval is a prerequisite, not a substitute). Total timeline from initial submission to permitted work commencement: 8–10 weeks. Roofing cost for a 5,000 square foot flat roof replacement with modified bitumen: $28,000–$42,000. HPC application fee: $25. DNS re-roofing permit fee (for the commercial classification): approximately $150–$200.
Permits required: COA + Re-roofing permit | Total fees: ~$200–$225 | Project total: $28,000–$42,000
SituationMilwaukee permit requirement
Shingle-only replacement (1 existing layer)No permit required — explicitly exempted by Milwaukee DNS for 1 and 2-family homes.
Shingle replacement (2 existing layers — must tear off both)No permit required for the tear-off and replacement, but Wisconsin UDC requires full removal of both layers before re-roofing.
Decking replacement (no framing modification)No permit required — "replacement of roof decking without modification to framing members" is explicitly exempt.
Rafter or truss repair/replacementBuilding permit required — structural framing work triggers the permit requirement regardless of roofing material scope.
Historic district property (any material)Certificate of Appropriateness from HPC required before any work. DNS re-roofing permit may also be required depending on scope.
Metal roofing installation (Third Ward / BID areas)Separate Architectural Review Board approval required in addition to any permits — metal roofing visibility triggers design review in BID districts.
Asbestos removal (some older Milwaukee roofs)Asbestos project permit required; re-roofing permit cannot be issued without concurrent asbestos permit per Milwaukee Code of Ordinances Chapter 66.
Your property has its own combination of these variables.
Whether your Milwaukee roof is in a historic district, how many existing shingle layers complicate the project, and what compliance requirements apply regardless of permit status.
Get Your Milwaukee Permit Report →
$9.99 · Based on official city sources · Delivered in minutes

Milwaukee's ice dam problem — why the UDC's eave protection requirement matters on every roof

Milwaukee sits in one of Wisconsin's most ice-dam-prone climate zones. The city averages 47 inches of snowfall per year, with regular freeze-thaw cycles from November through March. The combination of heated living spaces below the roof deck and cold outdoor temperatures creates the ideal conditions for ice dam formation: warm air escaping through the attic melts snow on the upper roof sections, the meltwater runs down toward the colder eaves, refreezes, and builds up a wall of ice. As the ice dam grows, subsequent meltwater backs up behind it and infiltrates under the shingles, soaking the roof deck and — in severe cases — penetrating into the insulation and ceiling below.

Wisconsin's Uniform Dwelling Code requires ice and water shield installation extending from the eave edge to a point at least 24 inches inside the interior wall line of the heated space. For a typical Milwaukee bungalow with 24-inch eave overhang, this means the ice and water shield must cover the entire eave overhang plus 24 inches back into the field area — typically 4–5 feet of coverage along the eave. In valleys, ice and water shield must also be installed because valleys accumulate water and are particularly vulnerable to ice dam infiltration. This requirement applies whether or not a permit is needed for the roofing project — the UDC compliance obligation exists independent of the permit exemption. Any contractor who installs shingles in Milwaukee without ice and water shield is installing a non-compliant roof, and any manufacturer's warranty on those shingles will likely be voided.

The practical implication for Milwaukee homeowners is that proper ice and water shield installation should be a non-negotiable line item in any roofing contract. Contractors who bid Milwaukee roof replacements without specifying ice and water shield — or who reduce bid prices by omitting it — are offering a legally and physically non-compliant installation. When comparing roofing bids, confirm that each includes ice and water shield over the full eave area (typically 4–5 feet), in all valleys, and around all penetrations (chimneys, vents, skylights). A Milwaukee roof without this protection will develop ice dam damage within a few winters, and the resulting interior water damage can cost $5,000–$20,000 to remediate — far more than the $400–$800 in materials that proper eave protection costs.

What the inspector checks in Milwaukee re-roofing

For the majority of Milwaukee roof replacements — shingle-only projects on non-historic properties — there is no DNS inspection, because no permit is required. The homeowner and contractor bear full responsibility for compliance with the Wisconsin UDC's material and installation standards. When a permit is required (structural framing repairs, historic districts), a DNS building inspector may conduct a site visit to confirm the structural work complies with approved plans. For the structural framing repair scenario, the inspector typically wants to see the new or sistered rafters before the new decking is installed over them — calling for inspection timing before the roof is closed is the homeowner's responsibility.

For historic district projects requiring a Certificate of Appropriateness, the Historic Preservation Commission's approval letter will specify any material conditions that must be met. The HPC does not conduct post-construction inspections itself — compliance with COA conditions is enforced through the complaint process. However, a roofer who installs an unapproved material on a historic district property (for example, a bright white TPO membrane where the COA specified modified bitumen) exposes the property owner to a violation notice and potential requirement to re-roof with the approved material at the homeowner's expense.

Milwaukee's DNS Code Enforcement does respond to complaints about roofing work, particularly when work is underway during business hours and neighbors question whether permits are posted. For projects with permits, Milwaukee DNS requires that the permit be posted visibly at the project site during construction. For permit-exempt roofing work, there is nothing to post — but homeowners should retain the contractor's proposal, invoice, and any material data sheets (documenting ice and water shield, shingle type, and UDC compliance) in case questions arise about the project at a future date.

What a roof replacement costs in Milwaukee

Milwaukee roof replacement costs are driven by three factors: the number of existing shingle layers (which determines whether a tear-off is required), the roof's pitch and complexity, and the chosen shingle type. For a standard 1,500–2,000 square foot ranch or bungalow roof with a single existing layer and standard architectural shingles, Milwaukee roofing contractors typically quote $8,000–$14,000 for a full tear-off and replacement. Two-layer tear-off jobs add $1,000–$2,000 to cover the additional labor and disposal costs. Premium architectural shingles (50-year rated) add $1,500–$3,000 over standard products. Metal roofing — standing seam or steel shingles — costs $18,000–$35,000 for a typical Milwaukee home due to the higher material cost and specialized installation labor. Permit costs for projects that do require permits (framing repairs, historic districts) add $150–$400 to the total.

What happens if you skip the permit when one is required

For the permit-exempt majority of Milwaukee roof replacements (shingle-only on non-historic properties), there is no permit to skip — compliance with the UDC's material and installation standards is simply the contractor's obligation. Where homeowners run into trouble is when they attempt to avoid permits on projects that genuinely require them: structural framing repairs done without a building permit, or exterior changes to historic district properties done without HPC approval. In the structural repair case, DNS can issue a violation notice and require the homeowner to obtain a retroactive permit — which may mean exposing the repaired framing for inspection before the roof covering can be approved as compliant. This is a costly proposition when it means temporarily removing sections of an installed roof.

For historic district violations, the Historic Preservation Commission has the authority to require removal of non-compliant roofing materials and reinstallation with approved materials, at the property owner's expense. HPC enforcement in Milwaukee's designated historic districts — particularly the Third Ward, where building values are high and neighbor scrutiny is intense — is active. Roofing a Third Ward property without a COA and having the wrong material installed is a scenario that can result in a full re-roof requirement at the property owner's cost. Given that the COA process costs $25 in application fees and primarily requires only a material specification submittal, the risk-reward calculation for skipping it is extremely poor.

Warranty coverage is an additional consideration for permit-exempt work. Most major shingle manufacturers (GAF, CertainTeed, Owens Corning) condition their enhanced warranty coverage on proper installation per their published guidelines, which include ice and water shield specifications. A Milwaukee roof installed without proper ice and water shield, even if no permit is required, may fail the manufacturer's installation requirements — meaning the homeowner has a non-compliant installation and no warranty coverage when ice dam damage occurs. Any reputable Milwaukee roofing contractor should be willing to document exactly what materials were used and how they were installed, providing the homeowner with a record that supports warranty claims.

Milwaukee Department of Neighborhood Services — Permit & Development Center 809 N. Broadway, 1st Floor
Milwaukee, WI 53202
Phone: (414) 286-8210
Email: DevelopmentCenterInfo@milwaukee.gov
Hours: Mon, Tue, Thu, Fri 8:00 AM–4:30 PM | Wed 8:00 AM–4:30 PM (drop-off/pick-up/payment only)
Re-roofing permit application: city.milwaukee.gov/DNS/permits/info
Historic district check: Milwaukee.gov/LMS → enter address → "Special Interest" tab
Confirm your Milwaukee roof project is fully compliant.
Get a complete permit report for your exact address — historic district status, applicable compliance requirements, and what documentation your project needs regardless of permit status.
Get Your Milwaukee Permit Report →
$9.99 · Based on official city sources · Delivered in minutes

Common questions about Milwaukee roof replacement permits

Can I replace my roof without a permit in Milwaukee?

For most Milwaukee homeowners replacing shingles on a non-historic property, yes — Milwaukee DNS explicitly exempts "replacement of unlimited quantities of roof covering" from the permit requirement for one- and two-family homes. This is one of Milwaukee's more homeowner-friendly permit exemptions. The exception is if the project involves repairing or replacing structural framing members (rafters, trusses), in which case a building permit is required. And if the property is in a Milwaukee historic district, a Certificate of Appropriateness from the Historic Preservation Commission is required before any exterior work, permit or no permit.

How do I know if my Milwaukee roof already has two layers of shingles?

The easiest way to check is to look at the edge of the roof at the eave — if you see two distinct shingle lines, two layers are present. Your roofing contractor can also confirm during the initial inspection by lifting a corner of a shingle and checking the layer count. Wisconsin's UDC prohibits installing a third layer, so if two layers exist, a full tear-off of both layers is required before the new shingles can be installed. This is a material UDC compliance requirement even though no permit is required for the roofing work itself. Roofing contractors in Milwaukee are responsible for complying with this rule, but homeowners who discover a second layer was installed over an existing layer (creating a code-violating three-layer roof) have no permit documentation to rely on for warranty or liability purposes.

Does my Milwaukee historic district home need a permit for a new roof?

Yes — historic district properties require a Certificate of Appropriateness from the Milwaukee Historic Preservation Commission before any exterior change, including roofing. This applies regardless of the permit-exemption rules that apply to non-historic properties. To check whether your property is in a historic district, visit Milwaukee.gov/LMS, enter your address, and look under the "Special Interest" tab. You can also call DNS at (414) 286-8210 or contact the Historic Preservation Commission staff directly. The HPC application fee is $25; the review process typically adds 6–8 weeks to the project timeline due to monthly HPC meeting schedules. Material compatibility with the district's historic character is the primary review criterion.

Is ice and water shield required on Milwaukee roofs even without a permit?

Yes. Wisconsin's Uniform Dwelling Code requires ice and water shield (a self-adhering waterproof membrane) installed from the eave edge to at least 24 inches inside the interior wall line of the heated space, in all valleys, and around all roof penetrations. This requirement applies to all roof replacements regardless of permit status — the UDC compliance obligation exists independently of whether a permit is needed. In Milwaukee's freeze-thaw climate, where ice dams form every winter, omitting ice and water shield is both a code violation and a near-certain path to interior water damage within a few years. Always confirm that any roofing contract for a Milwaukee home explicitly specifies ice and water shield coverage.

What happens if a roofer discovers rotted rafters during my Milwaukee roof replacement?

If your roofer discovers rotted or structurally compromised rafters during a permit-exempt shingle replacement, the project scope changes. Simple decking replacement remains permit-free, but replacing or sistering structural framing members — the rafters, ridge board, or trusses — requires a building permit from Milwaukee DNS. You should stop work on the structural portion of the project until a permit is applied for and issued. The permit fee for a limited structural repair of this type typically runs the $200 minimum. DNS can issue residential building permits within 5–10 business days for straightforward framing repairs, minimizing project delay. Do not ask the roofer to proceed with framing repairs without a permit just to avoid delay — the cost of a retroactive permit (which may require exposing the repaired framing for inspection) will far exceed the cost of doing it right the first time.

Does switching from shingles to a metal roof in Milwaukee require a permit?

For most Milwaukee properties, switching from asphalt shingles to metal roofing does not require a permit under the DNS shingle-replacement exemption, which covers replacement of roof covering broadly. However, there are important exceptions. Properties in historic districts require a Certificate of Appropriateness, and metal roofing is frequently scrutinized for compatibility with the district's character — some historic preservation guidelines reject certain metal finishes or profiles on properties visible from the street. Properties in Third Ward Business Improvement District areas and East North Avenue BID areas require separate Architectural Review Board approval. Metal roofing installation also requires attention to the UDC's underlayment and ice-and-water-shield requirements, which remain applicable regardless of permit status.

This page provides general guidance based on publicly available municipal sources as of April 2026. Permit rules change. For a personalized report based on your exact address and project details, use our permit research tool.

$9.99Get your permit report
Check My Permit →