Last updated October 17, 2026
Metal roofing
Architectural shingles
Tile roofing
GAF
Owens Corning
Flat & low-slopeFree roof inspection with deck photos before we talk money - GAF and Owens Corning certified installation
Roofing Permits, Codes & Inspections in FL: What You Need to Know
In 2019, a homeowner in the Roads neighborhood of Miami replaced their roof, skipped the permit to save $1,800, and sold the house three years later. During the buyer’s inspection, the unpermitted work surfaced. The buyer’s lender refused to close until a new permit was pulled, the three-year-old roof was torn off, and the entire job was re-inspected. The seller paid for all of it. The replacement cost $27,000. The permit would have cost less than two grand. Every roofing permit in Florida exists for a reason that traces directly to August 1992, when Hurricane Andrew flattened whole neighborhoods in Homestead and exposed just how many roofs had been nailed down by people who didn’t know what they were doing. In Miami-Dade County, the code written after that storm is now the strictest roofing standard in the United States. This guide-along with The Complete Guide to Roofing in Miami-explains what the Florida Building Code actually requireses, how Miami-Dade’s rules differ from the rest of the state, where inspections happen, what they cost, and what happens to a house, a sale, and an insurance policy when the paperwork is skipped.
Quick Answer
Almost every roofing project in Florida requires a permit, and in Miami-Dade County the rules are stricter than anywhere else in the state. A re-roof requires a building permit, a product approval (NOA) for every material going onto the roof, at least two inspections, and a final sign-off before the job is legally complete. Skipping the permit risks denied insurance claims, a stalled home sale, and fines from Miami-Dade County’s code enforcement office; for Roofing Warning Signs: A Miami Homeowner’s Reference Guide, see our dedicated post.
Styles & brands we work with






Table of Contents
- Why Florida Roofing Permits Exist (And Why Miami-Dade Is Different)
- Who Issues Your Permit: Miami-Dade County vs. Your City
- What Florida Building Code Section 1511 Actually Requires
- HVHZ Product Approval: Why a Broward Shingle May Be Illegal in Miami-Dade
- The Permit-to-Final-Inspection Timeline in Miami-Dade
- Owner-Builder Permits: What Homeowners Can Legally Do Themselves
- Homeowner’s Insurance and Open Permits: The Renewal Problem
- What Permits and Inspections Cost in Miami-Dade
Why Florida Roofing Permits Exist (And Why Miami-Dade Is Different)
Florida’s permitting system was rewritten after Hurricane Andrew killed 65 people and destroyed 63,000 homes in 1992. The state legislature created the Florida Building Code in 2001 as a single statewide standard, replacing a patchwork of local codes that had allowed builders to cut corners in ways that turned a Category 5 storm into a mass-casualty event. A roof is the first line of defense against wind-driven rain, and a roof that peels off in a storm sends debris through neighbors’ windows at 140 miles per hour. The permit process is how the state verifies that a roof was installed by someone who knows what the wind does to a nail.
Miami-Dade County goes further than the Florida Building Code. The county is the only jurisdiction in the state that requires High Velocity Hurricane Zone (HVHZ) compliance, a standard written specifically for the wind and debris loads of a direct-hit hurricane on the South Florida coast. HVHZ rules govern everything from nail size and spacing to the specific sealant used at flashing joints. In our experience, roofers from Broward or Palm Beach who quote work in Miami rarely budget for HVHZ materials and inspections, and the price difference is real: an HVHZ-compliant asphalt shingle roof in Miami typically runs $6.50 to $9.00 per square foot, compared with $5.50 to $7.50 for a standard Florida code roof in Fort Lauderdale.
The reason is documented in the county’s own damage reports. After Hurricane Andrew, the Dade County Grand Jury found that a large share of failed roofs involved fasteners that were too short, too few, or driven at the wrong angle. HVHZ code mandates six nails per shingle in Miami-Dade, versus four in non-HVHZ counties. It requires a specific underlayment system that seals around nails. It regulates the drip edge profile in a way no other Florida county does. The permit and inspection system is how Miami-Dade enforces all of it.
Who Issues Your Permit: Miami-Dade County vs. Your City
The first question a homeowner in Miami should ask is which jurisdiction controls the address. Miami-Dade County operates its own building department, but many cities within the county have their own permitting offices that enforce the same HVHZ code. That matters because the permit application, the inspection scheduling, and the fee structure all differ by office.
Here’s how the major cities in Miami-Dade break down:
- Unincorporated Miami-Dade County (Kendall, Westchester, Country Walk, The Hammocks, Richmond Heights): permits are issued by the Miami-Dade County Building Department. Inspections are scheduled through the County’s online portal.
- City of Miami (Coral Way, Coconut Grove, Brickell, Little Havana, Allapattah): the City of Miami Building Department issues its own permits and runs its own inspections, but still enforces HVHZ code.
- Coral Gables, Hialeah, Miami Beach, North Miami, South Miami, Doral, Homestead, and 27 other municipalities: each city runs its own building department. Miami Beach has additional coastal construction requirements, and Coral Gables has its own historic preservation overlay that can require special roof material approval for homes built before 1940.
The practical takeaway: before signing a contract, ask the roofer which jurisdiction will issue the permit, and verify that answer on the city or county building department’s public portal. Every Miami-Dade jurisdiction now has an online permit search that shows applications, permit status, inspection results, and final certificates by address. If a roofer says “we handle the permit” but the address doesn’t show a permit within a week of signing the contract, call the building department and ask what was filed. We’ve seen homeowners in Cutler Bay discover after a full tear-off that no permit had been pulled, and the city required the roof to be inspected retroactively at a higher fee, with the shingles removed in spots so the inspector could see the underlayment.
What Florida Building Code Section 1511 Actually Requires
Section 1511 of the Florida Building Code covers roof assemblies and rooftop structures. For a re-roof, which is the most common permitted residential project, the code requirements translate into a step-by-step process with mandated inspection hold points. Here is what the code requires, in the order it happens on the ground, in plain language.
- Permit application. The contractor files a permit application with the jurisdiction. In Miami-Dade, the application must include the material product approval numbers (the NOA, covered below), the roof plan showing slope and decking, the fastening schedule, and the underlayment type. The contractor must be licensed by the state of Florida and registered in the jurisdiction.
- Permit approval and fee payment. The building department reviews the application, calculates the permit fee, and issues the permit. The permit must be posted on the property and available for the inspector to see.
- Tear-off and dry-in. If the old roof is removed, the new deck must be inspected before anything goes on top of it. This is called the dry-in inspection. In Miami-Dade, the inspector checks that the deck is sound, that the underlayment is the approved type and installed per the NOA, and that fasteners are the correct length and pattern. This is a legal hold point: work must stop and the inspector must sign off before shingles or tile are installed.
- Roof covering installation. Shingles, tile, metal, or membrane is installed according to the NOA. In HVHZ zones, the installer must follow the exact fastening pattern printed in the NOA document.
- Final inspection. The inspector returns to verify the finished roof: edge metal and drip edge profile, flashing at penetrations and valleys, ridge cap installation, fastener pattern, and overall workmanship. If the inspector finds non-compliant work, a correction notice is issued and the contractor must fix the issues and call for a re-inspection.
- Final sign-off and certificate of completion. The building department closes the permit, and the property gets a Certificate of Completion or similar final record. This is the document an insurance company, mortgage lender, or future buyer will ask for.
The critical detail most homeowners miss is the dry-in inspection. Miami-Dade requires roof decking and underlayment to be inspected before the top layer goes on. If a roofer doesn’t stop for that inspection, the inspector can require a tear-off, even if the finished roof looks fine from the ground. In the City of Miami, the dry-in inspection is called an “intermediate roof inspection,” and it’s listed as a mandatory stop on the permit card. For a roof replacement in Miami, this is the difference between a one-day re-roof and a two-week, two-inspection job.
HVHZ Product Approval: Why a Broward Shingle May Be Illegal in Miami-Dade
Every roofing product installed in Miami-Dade County must carry a Notice of Acceptance, which is a product approval number issued by the county’s Building Code Compliance Office. An NOA is not a warranty. It is a certification that the specific product, installed in the specific manner described in the NOA, meets HVHZ wind and water requirements for Miami-Dade. A shingle approved for Broward County under the Florida Building Code’s general product approval system is not automatically legal in Miami-Dade unless the manufacturer also obtained an NOA.
This matters more than most homeowners realize. CertainTeed’s Landmark shingles, for example, carry Miami-Dade NOA numbers, and so do several GAF and Owens Corning lines. But not every product from those manufacturers has an NOA. A roofer in Hollywood could legally install a product that a Miami-Dade inspector would reject on sight in Kendall. When we quote a job in Miami, we check the specific NOA for the specific material we have chosen for that home, and we provide the NOA number in the written estimate so the homeowner can verify it on the county’s online database.
Here is how to verify an NOA yourself:
- Ask the roofer for the exact manufacturer, product line, and NOA number for every material going on the roof, including underlayment, the shingles or tile, the ridge cap, and the adhesive.
- Go to the Miami-Dade County Building Code Compliance Office product control search page, which is public and searchable by manufacturer, product category, or NOA number.
- Enter the NOA number. The document will show the product’s approved installation method, the allowable substrate, the fastening schedule, and any limitations like “approved for use on minimum 3:12 roof slopes.”
- Compare those limitations against the actual roof. If the roof is a 2:12 slope and the NOA says minimum 3:12, the product is not code-compliant on that roof regardless of what the roofer claims.
The HVHZ system exists because post-Andrew investigations found products had been marketed as hurricane-resistant without any independent verification. An NOA is the county’s way of saying: we tested it, or we reviewed the manufacturer’s test data, and here is exactly how it has to be installed. In Miami, an NOA number is not optional paperwork. It is the difference between a roof that passes inspection and one that has to be pulled off and redone at the roofer’s expense.
The Permit-to-Final-Inspection Timeline in Miami-Dade
In Miami-Dade, a straightforward residential re-roof permit takes about 7 to 14 days to issue, assuming the application is complete and the roofer filed correctly. Plan review for a simple asphalt shingle re-roof is typically done in under a week. The jobsite work itself is one to three days for a single-story shingle roof. The variable is inspections. Miami-Dade County inspection windows have varied over the years; currently, most jurisdictions schedule inspections with one to two business days of notice, and the inspection itself is completed in a 20- to 40-minute visit. City of Miami inspectors generally run a similar schedule. Realistically, a full re-roof in Miami from contract signing to final Certificate of Completion runs 3 to 5 weeks, with most of that time being permit processing and inspection scheduling, not roofing labor. For Seasonal Roofing Care for Miami: Year-Round Homeowner’s Guide, timing your project outside peak storm season can shorten that window.
What surprises most homeowners in Miami is the door hanger. When an inspector visits, they leave a green or red tag. Green means the inspected phase passed. Red means it did not, and the tag explains what needs fixing and which code section was violated. Work must stop after a red tag until the issue is corrected and a re-inspection is scheduled. In our experience, most red tags on residential re-roofs in Miami-Dade come from three issues: underlayment installed without the dry-in inspection called, the wrong nail length or pattern for the deck type, or missing drip edge at eaves and rakes. All three are fixable, but each one resets the timeline and adds re-inspection fees.
Here is the step-by-step timeline for a typical Miami-Dade re-roof, assuming a clean inspection record:
- Day 1: Contract signed, written price provided, permit application prepared.
- Day 2 to 5: Permit filed, plan review, permit issued. Fees paid.
- Day 6 to 10: Old roof torn off, deck inspected, repairs to deck if needed.
- Day 10 to 12: Dry-in inspection scheduled and passed. Underlayment approved.
- Day 11 to 14: Roof covering installed, final inspection scheduled and passed. Certificate of Completion issued.
The timeline lengthens if decking is rotted and needs replacement (very common in older Coral Gables and Coconut Grove homes), if the house has a clay tile roof that requires specialized matching, or if the owner requests a material that is backordered, which was common for concrete tile from Boral through 2023 and 2024.
Owner-Builder Permits: What Homeowners Can Legally Do Themselves
Florida law allows a homeowner to act as their own builder and pull a permit on their own residence, including a roofing permit. It is called an owner-builder permit, and it is legal in Miami-Dade County. The state statute that allows it, Section 489.103, lets a property owner construct, re-roof, or repair their own single-family home without a contractor’s license, provided the work will be performed by the owner, the owner’s immediate family, or contracted labor hired and supervised by the owner.
What the statute also says is that the owner-builder is then responsible for everything. The owner-builder is the general contractor for that project in the eyes of the law. That means the owner-builder is responsible for verifying that every roofer they hire as “labor” is actually licensed, insured, and carrying workers’ compensation. If a hired worker falls off the owner-builder’s roof in Miami, the homeowner can be held personally liable. In a hurricane-zone county with HVHZ inspections, the owner-builder must also manage the inspection schedule, know the code well enough to correct deficiencies, and pay for re-inspections if work fails.
There is also a selling restriction. A Florida owner-builder who completes work under an owner-builder permit may not sell the home for at least one year after the final inspection. If the homeowner sells within that window, the new owner inherits the liability. This rule exists to stop investors from using owner-builder permits to flip re-roofed houses without hiring a licensed contractor. It is one more reason the owner-builder route, while legal, is riskier in practice than most homeowners expect.
Our honest recommendation as a Miami roofing company: the owner-builder permit is appropriate for a homeowner who has contracting experience, who plans to live in the home for years, and who is prepared to manage safety, inspections, and code compliance personally. For everyone else, the safer route is a licensed roofing contractor who pulls the permit, manages the inspections, and carries liability insurance and workers’ compensation for the crew. That insurance is the single biggest legal difference between a hired crew and a Tilehurst Roofing Miami crew operating under the Kingswell Guarantee.
Homeowner’s Insurance and Open Permits: The Renewal Problem
Florida insurers now pull building permit records during underwriting and at renewal. An open or expired permit on the property is a red flag on the risk report, and in Miami-Dade it is a common reason for non-renewal. In recent years, we have talked to homeowners across South Florida who lost coverage or watched premiums jump after an insurer discovered an open roofing permit, even when the work was done properly and the only missing piece was the final inspection and sign-off.
The insurer’s logic is simple: an open permit means the roof’s condition cannot be confirmed. Florida insurers have been aggressively dropping policies on homes with roofs over 15 years old, and an open permit makes a roof of any age look like a liability. If a hurricane claim is filed on a home with an open permit, the carrier can take the position that the roof work was never completed or inspected, and deny the claim on that basis. Homeowners who closed a purchase, re-roofed, and never followed up on the final inspection have been caught exactly this way.
If you already have an open roofing permit on your Miami-Dade home, the fix is straightforward but time-sensitive. Call the building department, request the inspection record, and ask what remains open. If the roof is still un-inspected, the department will schedule an inspection, but it will require access to the roof surface and possibly some removal of finished material to see the underlayment. If the contractor who did the work is out of business, the homeowner has to hire a new contractor to assess the roof and correct anything non-compliant. The Miami-Dade building department does not waive inspections for open permits. A roofer who does work without a permit is not saving you money, they are setting you up for a non-renewal letter two years from now.
What Permits and Inspections Cost in Miami-Dade
Permit fees in Miami-Dade are calculated as a percentage of the job’s total construction cost, plus flat inspection fees. The percentages are set by each jurisdiction, and they are close enough that Miami construction pros talk about them as a single standard. For a typical residential asphalt shingle re-roof in the $12,000 to $20,000 range, here is what the paperwork costs look like:
- Building permit fee: $150 to $500, depending on the job’s declared value and the municipality. Miami-Dade County, the City of Miami, Coral Gables, and Hialeah all have their own fee schedules, but the range for a typical single-family re-roof falls here.
- Plan review and plan check: $75 to $250, typically waived for simple re-roofs using pre-approved NOA products.
- Inspection fees: $80 to $150 per inspection. A typical Miami-Dade re-roof requires two inspections, a dry-in and a final, for a total of $160 to $300.
- Re-inspection fee (if the first inspection fails): $80 to $200, charged each time the inspector has to come back.
- Certificate of Completion or fee card service charge: $25 to $75.
- Total permit and inspection cost for a standard single-family re-roof in Miami: $400 to $1,100, with $1,100 representing a high-fee municipality with one re-inspection.
These are real Miami numbers, and they are why we’re always direct about pricing. A roofer who quotes a Miami re-roof without breaking out the permit and inspection fees is either new to the market or planning to skip the permit. Tilehurst Roofing Miami gives a written price before any work starts, and every line item including the building permit, the two inspections, and the waste hauling is listed. You should never see a permit fee appear at the door on Day 1 as a “change order.”
Common Mistakes to Avoid
- Signing a contract without verifying the roofer will pull the permit. In Miami-Dade, the contractor listed on the permit is the contractor legally responsible for the roof. If the roofer says “the homeowner handles the permit,” you are the contractor in the county’s eyes. That is a red flag.
- Using a Broward or Palm Beach roofer on a Miami-Dade roof without confirming HVHZ experience. The shingles, the nail pattern, the underlayment, and the drip edge are all regulated differently in Miami-Dade. A roofer from Fort Lauderdale who never works in Miami will often under-bid and then discover mid-job that the materials are not NOA-approved.
- Skipping the dry-in inspection because the roofer says “the county never checks.” The county does check, and they check specifically because so many roofs fail at the underlayment. Skipping it means a re-inspection, a red tag, or a forced tear-off.
- Allowing the roofer to choose materials without showing the NOA numbers. Every product on a Miami-Dade roof needs its own NOA. If the roofer won’t provide the numbers, assume they haven’t checked and the inspector may reject the roof.
- Not requesting the Certificate of Completion after the final inspection. The final inspection is not the last step. The file has to be closed by the building department, and the certificate is the document an insurance company wants to see. Without it, the permit is still open.
- Paying the full contract price before the final inspection passes. The industry standard is a deposit to start, a progress payment after dry-in, and the final balance after final inspection and sign-off. If a roofer demands full payment up front in Miami, walk away.
- Using an owner-builder permit and then hiring unlicensed day labor. Homeowners who do this in Miami-Dade are gambling with their liability exposure. Workers’ compensation claims and code violations both land on the homeowner personally.
See the difference
Before
After
Before
After
Before
AfterWhen to Call a Professional
A homeowner should bring in a licensed roofing contractor the moment any of these four situations apply. First, the roof is more than 15 years old and showing granule loss, cracked flashing, or missing shingles, and the insurance company has sent a letter asking about the roof’s condition. Second, a recent storm left visible damage and a claim is needed. Third, the house is being sold or refinanced and a permit search shows an open roofing permit from a previous owner. Fourth, the homeowner is considering a new roof and wants someone who will pull the permit, manage the inspections, and guarantee the work in writing. All four situations are common in Miami, and all four become more expensive the longer they sit. Tilehurst Roofing Miami offers free estimates in Miami, with a written price before any work starts and a live person on the phone 24 hours a day. Call (850) 613-1762 to schedule a roof assessment, and if you’re still in the research phase, see our Tilehurst Roofing Miami home for more on how we approach permitted re-roofs in Miami-Dade. Anyone looking for a broader look at our work should start with this Roofing Company in Miami overview. For a detailed look at how we handle storm damage and smaller repairs, see Roof Repair in Miami, and for full tear-off and re-roof work, read Roof Replacement in Miami.
Frequently Asked Questions
Yes. Under Florida Building Code Section 105.1, any roofing work beyond minor repairs to a small area requires a building permit, and in Miami-Dade County the threshold for what counts as “minor” is extremely narrow. A full re-roof, a partial tear-off, or any replacement of underlayment all require permits. Call (850) 613-1762 if you’re unsure whether your job needs one; the answer in Miami-Dade is almost always yes.
For a typical single-family asphalt shingle re-roof, expect to pay between $400 and $1,100 total for the permit, plan review, required inspections, and the certificate of completion, depending on the municipality and whether any re-inspections are needed. The permit is rolled into the job cost when you hire a licensed contractor.
The sale can stall or collapse because the buyer’s lender and insurance company will discover the open or missing permit during the closing process. If the sale proceeds anyway, the seller can be held liable for the cost of pulling a new permit, re-inspecting, and potentially tearing off and replacing the roof, as happened to a Miami homeowner in 2019 who ended up paying for a second full re-roof three years after the first one.
Yes. The dry-in inspection, called an intermediate roof inspection in the City of Miami, is a mandatory stop in the HVHZ permitting process. The inspector must see the deck and underlayment before shingles, tile, or metal are installed. Work that continues without the dry-in sign-off in Miami-Dade often ends with a red tag and a forced tear-off.
Only if the roofer is licensed by the state of Florida and registered in the specific Miami-Dade jurisdiction where the house is located, and only if the roofer uses HVHZ-approved products with current Miami-Dade NOA numbers. Roofers from outside the county frequently under-bid Miami work by using standard Florida Building Code materials that are not legal in HVHZ territory. Ask for the NOA numbers before signing anything.
Almost certainly. Florida insurers routinely pull building permit records as part of underwriting and renewal. An open roofing permit is a common reason for a non-renewal notice in Miami-Dade, and a hurricane claim filed with an open permit on record can be denied entirely. The final inspection and certificate of completion are the two documents that close the loop and keep your insurance file clean. Call (850) 613-1762 if you have an open permit and need help understanding what it will take to close it out.
The Bottom Line
Florida’s roofing permit system is not bureaucracy for its own sake. It exists because under-built roofs killed people in 1992, and Miami-Dade’s stricter HVHZ code exists because the county learned exactly how those roofs failed. The permit activates your legal protection, your insurance coverage, and your warranty rights. In Miami, skipping a permit saves a couple thousand dollars up front and creates a liability that follows the house through every future sale, renewal, and hurricane season. The safe play is the same one we recommend for every roofing decision: hire a licensed contractor who pulls the permit, schedules the inspections, uses NOA-approved materials from manufacturers like GAF, CertainTeed, Owens Corning, and Boral, and gives you the final sign-off in writing. That is the standard, and you can find more guides & resources on our blog.
Back to Tilehurst Roofing Miami | About Our Miami Roofing Company
Written by Greg Holloway, Owner at Tilehurst Roofing Miami, serving Miami since 2000.