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 Florida, any roofing job that covers more than 25% of the total roof area legally requires a permit. That threshold sounds generous until you realize how quickly a modest repair crosses it, and how many storm-season jobs in Jacksonville quietly do. The result: a roof that looks fine from the driveway but sits unpermitted, uninscribed, and ready to complicate a future home sale or insurance claim. This guide walks through what a roofing permit actually protects, how Duval County’s process works, what inspectors look for, and how to avoid the messiest mistakes we see in Jacksonville; for a broader overview, see The Complete Guide to Roofing in Jacksonville.
Styles & brands we work with






Quick Answer
Roofing permits in Florida are required for any roof work exceeding 25% of the total roof area, and they are issued by your local building department, which in Jacksonville means Duval County. The permit triggers inspections that verify decking attachment, underlayment, drip edge, and ventilation against the Florida Building Code. An unpermitted roof can block a home sale, void an insurance claim, and transfer liability to you as the owner, so the permit is not a formality, it is the document that proves the work is legal.
Table of Contents
- The 25% Rule: When Florida Law Says You Need a Permit
- How the Duval County Permit Process Actually Works
- What a Florida Roofing Inspection Actually Checks
- The Re-Roof Trigger: Secondary Water Barriers and Hidden Cost
- Who Pulls the Permit, and Why ‘the Contractor Will Handle It’ Is Not Enough
- What an Unpermitted Roof Does to a Home Sale
- Retroactively Correcting an Unpermitted Jacksonville Roof
- Florida Building Code Changes Jacksonville Homeowners Should Know
- Common Mistakes to Avoid
- When to Call a Professional
- Frequently Asked Questions
- The Bottom Line
The 25% Rule: When Florida Law Says You Need a Permit
Florida Building Code section 105.1 sets the line: any roof repair or replacement covering more than 25% of the total roof area within a 12-month period requires a permit. The code does not care whether the damage came from a named hurricane or a slow leak. It cares about scope. And scope is where homeowners get misled.
A contractor can say “this is just a repair” and be technically wrong. Replace the shingles on one entire slope of a gable roof, and you have likely exceeded 25%. Tear off and re-cover a full section after wind damage, and you are unquestionably over the line. Even patching work that looks small from the driveway can cross the threshold once the damaged area is measured. The measurement is not linear feet of flashing, it is square footage of roof surface disturbed.
In Jacksonville, the 25% rule interacts with a second reality: age. Many homes in Arlington, Mandarin, and San Marco carry roofs that are 15 to 20 years old. A repair on an older roof often reveals deeper problems mid-job, and the scope grows. At that point the permit is not optional, it is required, and starting without one means the entire job runs illegal from the first tear.
What the permit buys you is straightforward. It creates a public record that the work happened, that it was inspected, and that it met the Florida Building Code at the time of installation. That record is what a buyer’s title company looks for. It is what an insurance adjuster looks for after a claim. It is, in short, the difference between a roof and a liability.
How the Duval County Permit Process Actually Works
Duval County operates its own building department, and Jacksonville roofing permits run through that system, not a state agency. The process is manageable if you know the sequence. Here is how it works, step by step:
- Determine the permit type. A full re-roof, a repair over 25%, or a roof-over all require a building permit. Small repairs under the threshold do not, but a contractor who tells you the threshold is “anything under half the roof” is wrong, and you should ask for that in writing.
- File the application. The application requires the property address, parcel number, a scope of work description, and the contractor’s license information. Duval County accepts applications online through the Building Inspections Division portal.
- Pay the fee. Permit fees in Duval County run on a valuation-based schedule. For a typical residential re-roof in Jacksonville, the permit fee usually lands between $150 and $400, though valuations vary by roof size and material. The fee is separate from the contractor’s labor and material price, and a reputable roofer shows it as a line item.
- Schedule the inspections. Jacksonville roofing work triggers at least two inspection points: an in-progress inspection (often after tear-off and underlayment, before shingles go down) and a final inspection. Inspection scheduling in Duval County typically runs one to three business days out, depending on volume.
- Close the permit. Once the final inspection passes, the permit closes. This is the moment you have a legal, documented roof. Keep a copy of the closed permit with your home records.
One Jacksonville-specific note: the city’s building department is a separate entity from the county tax assessor, and a closed permit does not automatically update your property record for insurance purposes. You may want to send the closed permit to your insurance agent after any re-roof, which can help when wind mitigation credits are on the table.
If you are starting from a roof that already has problems, the place to begin is a roof repair in Jacksonville that includes a written scope and a permit when the law requires one. You should not have to argue for the permit.
What a Florida Roofing Inspection Actually Checks
An inspection is not a rubber stamp. The inspector’s job is to verify that what was installed under the shingles meets the Florida Building Code, and in Jacksonville that code is written for hurricane winds and torrential rain. Here is what the inspector actually looks at, and what each check protects you from:
- Decking attachment. Florida code, updated after Hurricane Andrew, requires plywood or OSB roof decking to be nailed on a specific pattern, not stapled. The inspector checks nail spacing and penetration. Loose decking is what peels off in high wind, and once the deck is gone, the shingles go with it. In neighborhoods like Atlantic Beach and Ponte Vedra, where wind exposure is higher, this check is non-negotiable.
Note: this is one of the reasons to work with a crew that does tear-off carefully. If old decking is destroyed during removal, the permit and inspection ensure the replacement decking is installed to code, not just screwed down and covered up.
- Underlayment. Florida code requires a specific underlayment: ASTM D226 Type II felt or a synthetic equivalent, installed in the right pattern with the right lap. The inspector looks for proper overlap, no tears, and fastening that will hold until the shingles go on. Underlayment is the last line of defense if a shingle blows off, and in a Jacksonville summer thunderstorm, that defense matters.
- Drip edge installation. Drip edge is the metal flashing at the roof edge that directs water into the gutter instead of into the fascia. The inspector checks that it is present, correctly lapped, and installed per code. Missing drip edge is one of the most common unpermitted-roof defects we see in Jacksonville, and it leads to rotted fascia and staining below the eaves.
- Ridge and eave ventilation. Florida code requires attic ventilation at a ratio based on attic square footage, usually split between ridge vents and soffit or eave vents. The inspector verifies the vents exist, are unobstructed, and are properly installed. Improper ventilation is what turns a Jacksonville attic into an oven in August, cooking shingles from below and shortening the roof’s life.
- Fastener type and placement. Shingles in Florida are typically required to be attached with the correct number of fasteners per shingle, and in high-wind zones that number goes up. The inspector may spot-check nail placement. An under-fastened shingle is the one that ends up in your neighbor’s yard in a tropical storm.
What you are buying with a permitted, inspected roof is not just a pretty shingle line. You are buying proof that the attachments, the underlayment, the flashing, and the ventilation were checked by someone whose only job is code compliance, not profit margin.
The Re-Roof Trigger: Secondary Water Barriers and Hidden Cost
Here is a Florida-specific code requirement that many low-bid contractors quietly omit: on a full re-roof, Florida Building Code section 1523 requires a secondary water barrier in most parts of the state, including Jacksonville. This is a self-adhering membrane, usually peel-and-stick, applied over the decking at eaves, valleys, and other critical areas, or in some cases across the entire deck.
The secondary water barrier’s job is to keep water out even if the shingles and underlayment are torn away by wind. Think of it as the roof’s last skin. The material is not free, and neither is the labor to install it correctly. Depending on roof size and the specific product, this requirement adds roughly $500 to $1,500 to a Jacksonville re-roof. A contractor bidding without it has a lower number, and some homeowners pick the lower number without knowing what went missing.
The tell is in the permit. A permitted re-roof gets inspected, and the inspector will look for the secondary barrier. An unpermitted re-roof can skip the barrier, cover it with shingles, and the homeowner will never see what is not there. Until the storm that takes the shingles off and reveals bare decking where the barrier should have been. At that point the roof failure is not an act of God. It is a missed code requirement.
We work with materials from Owens Corning, IKO, and Atlas, among others, and every re-roof estimate we write in Jacksonville includes the secondary barrier as a code line item, not an upgrade. It is not an add-on. It is the law. If a re-roof bid does not mention it, ask why.
Who Pulls the Permit, and Why ‘the Contractor Will Handle It’ Is Not Enough
Florida law requires the licensed contractor performing the work to pull the permit. Homeowners can pull their own permit in some limited cases, but for roofing, the contractor’s license is what the building department wants to see on the application. The sentence “the contractor will handle the permit” is technically true, and it is also where most Jacksonville permit problems begin.
Handling the permit means more than saying the word. It means the contractor has applied, paid the fee, received the permit number, posted the permit on the job site, scheduled the inspections, and closed the permit when the work passes. Each of those steps is a discrete action, and any one of them can quietly not happen.
Here is what you, as the homeowner, should do:
- Ask for the permit number before work starts. A licensed Jacksonville roofer applying for a permit through Duval County’s online portal will have a permit number within days of application. No number, no work.
- Look up the permit yourself. Duval County’s Building Inspections Division maintains a public permit search portal. Enter your address, and the permit, its status, and its inspection history are visible. This takes five minutes and tells you whether the permit actually exists.
- Confirm inspections are scheduled and passed. After the in-progress and final inspections, the portal shows their results. A final inspection marked “passed” and a permit marked “closed” is the finish line.
- Keep the closed permit record. Download or screenshot it. Store it with your closing documents, insurance paperwork, and home improvement files.
In our experience in Jacksonville, most unpermitted roofs are not the result of a homeowner saying “skip the permit.” They are the result of a contractor saying “we’ll handle it” and then quietly not. The homeowner finds out two years later when a buyer’s inspection flags the roof. The fix at that point is more expensive and more complicated than the permit would have been on day one.
What an Unpermitted Roof Does to a Home Sale
Here is the scenario we hear most often in Jacksonville: a homeowner is selling a house in Riverside or Murray Hill. The buyer makes an offer, the buyer’s inspector walks the property, and the inspector notices shingle patterns, fastening, or vent placement that look inconsistent with a permitted installation. The buyer’s title company then runs a permit search on the property and finds no record of a roof permit matching the roof’s apparent age. The deal stalls.
This is not a hypothetical. Title companies in Duval County routinely check permit history as part of the title search, and unpermitted work is one of the most common deal-breakers in residential real estate. The consequences unfold in sequence:
- The buyer’s lender may refuse to finance until the unpermitted roof is corrected, inspected, and documented.
- The buyer’s insurance company may decline coverage on an unpermitted roof, particularly an older one in a wind zone.
- The seller must either reduce the price to cover the buyer’s risk or remediate the roof before closing.
- If the seller did not disclose the unpermitted work on the seller’s disclosure statement, the buyer may have grounds for a post-closing claim.
The financial hit varies. Remediating an unpermitted roof in Jacksonville can cost anywhere from a few hundred dollars for a permit and inspection on a small repair, to several thousand dollars if the inspection reveals code violations that require tear-off and correction. That cost lands on the seller at the worst possible moment, when the moving truck is booked and the new house is under contract.
A closed permit, filed in the Duval County system, prevents this entire chain. The document costs a few hundred dollars at most. The alternative costs a home sale.
Retroactively Correcting an Unpermitted Jacksonville Roof
If you already own a home with an unpermitted roof, either from your own oversight or a previous owner’s, the situation is fixable. It is not instant, and it is not free, but it is a known process in Duval County. Here is the path:
- Stop guessing and get a roof assessment. A licensed Jacksonville roofer can evaluate whether the existing roof was installed to code, and what it would take to bring it into compliance. This is the starting point regardless of whether the roof looks fine. You cannot fix a problem you have not measured. A roof replacement in Jacksonville may not be necessary; sometimes the fix is a permit, an inspection, and minor corrections.
- File for the appropriate permit with Duval County. In many cases, the county can issue a permit for work that has already been completed, often called an “after-the-fact” permit. The application process is the same, but the inspection is the key: the inspector will review the existing roof against current Florida Building Code.
- Correct the deficiencies the inspector identifies. This is the part where costs vary. Common corrections on unpermitted Jacksonville roofs include adding missing drip edge, re-nailing decking, adding underlayment in exposed sections, or bringing ventilation up to ratio. Some corrections are minor. Some are not.
- Pass the final inspection and close the permit. Once the corrections are made and the final inspection passes, the permit closes, and the roof is legal. The closed permit becomes part of your property record.
The cost of a retroactive permit in Jacksonville starts at the standard fee, plus any correction work. Realistically, most homeowners spend between $500 and $3,000 depending on what the inspection finds. That is less than the average price concession on a home sale where an unpermitted roof surfaces during escrow.
Florida Building Code Changes Jacksonville Homeowners Should Know
Florida’s building code changes every three years, and the roofing sections do not stay still. If your roof was installed under an older code, that does not automatically make it non-compliant, but when you do any permitted work, the work is inspected against the current code. Here are three recent shifts that matter in Jacksonville:
Fastener patterns tightened after Hurricane Irma. The 2020 Florida Building Code and the subsequent 2023 update increased fastener requirements for shingles in high-wind zones. Jacksonville sits in a zone where these requirements apply, particularly east of the Intracoastal. An inspector checking a new roof in Atlantic Beach is looking for more nails per shingle than an inspector checking a roof in a lower-wind part of the state. This is why nail patterns matter: they are not aesthetic, they are structural.
Underlayment standards moved toward synthetics. The code now permits synthetic underlayments that meet specific ASTM standards, and many Jacksonville roofers prefer them because they hold up better in Florida humidity than felt. The catch is that the synthetic product must meet the code’s specific standard. A generic “synthetic felt” that does not meet the ASTM rating will not pass inspection. We use products from Tamko and Atlas that are rated for the Florida market, so there is no question at inspection time.
Roof decking attachment remains a frequent correction item. The code’s decking nail requirements have been in place since the early 2000s, but inspectors in Duval County still flag improperly fastened decking on after-the-fact permits and on re-roofs where the old decking was reused. If your home was built before 2002 and the decking was never upgraded, a re-roof is the moment to fix it, because the inspector will be looking.
The practical takeaway is that code compliance is not a static target. A roof installed to code in 2005 may not meet 2023 standards, and any permitted work triggers the current standard. That is another reason the permit matters: it forces the roof into the current code instead of letting it drift further behind.
Common Mistakes to Avoid
- Believing “storm damage” exempts you from the permit. It does not. A hurricane or hailstorm may create urgency, but Florida law does not waive the 25% rule because the damage came from weather. Some Jacksonville contractors use storm season as cover for unpermitted work. Do not let urgency become an excuse for an illegal roof.
- Accepting the lowest bid without asking what it excludes. The secondary water barrier, the permit fee, the inspection coordination, and the decking corrections are the items that vary between a responsible bid and a low one. In Jacksonville, a re-roof bid that is $1,000 under the others is often low because it omits a code requirement, not because it is efficient.
- Assuming a metal roof over shingles does not need a permit. It does. A roof-over is still a roof, and the 25% threshold and inspection requirements still apply. The fact that the work sits on top of existing shingles does not make it a “repair” in the code’s eyes.
- Failing to verify the permit before payment. Many homeowners pay the contractor’s permit fee as part of the job cost, then never confirm the permit exists. The correct sequence is: pay the fee, get the permit number, verify it on the Duval County portal, then allow the work to proceed.
- Losing the closed permit record. A closed permit is not just a formality. It is the document you will need when you sell, when you file a wind mitigation insurance application, or when a future inspector asks. Store it somewhere you will not lose it.
- Using the seller’s old permit as proof of current compliance. If you buy a home that had a permitted roof in 2008, that permit proves the 2008 work was inspected. It does not prove the current roof meets the current code. When in doubt, have the roof assessed.
When to Call a Professional
Some roofing situations are not DIY problems, and the permit process is one of them; for more guides & resources, see our blog. Call a licensed roofing professional in Jacksonville when the work will exceed the 25% threshold, when you are buying or selling a home and the roof’s permit history is unclear, when an insurance claim hinges on roof documentation, or when you want a scope of work and a written price before anyone climbs a ladder. Permit applications, inspection scheduling, and code corrections are not things you want to learn by trial and error on your own roof.
Birchbark Roofing Jacksonville offers free estimates in Jacksonville, and every estimate includes a written price before any work starts, a clear permit line item when one is required, and a clean-up photo before the crew leaves. Call (904) 604-7914 to schedule yours.
Frequently Asked Questions
A roofing permit in Jacksonville typically costs between $150 and $400 for a standard residential re-roof, depending on the roof’s valuation and square footage. The fee is paid to Duval County and is separate from the contractor’s labor and material price. Call (904) 604-7914 for an exact quote on your roof, and the permit fee will be itemized in writing before work begins.
Yes, an unpermitted roof can be a problem for insurance in Florida, particularly when a claim is filed after storm damage. Insurance adjusters may deny a claim or reduce a payout if the roof was installed or repaired without a permit, because the work cannot be verified against the Florida Building Code. A closed permit is the document that removes the ambiguity from the claim.
The 25% rule means any roof repair or replacement covering more than 25% of the total roof area within a 12-month period requires a building permit in Florida. The threshold is based on roof area disturbed, not on the cost of the work or whether the damage was storm-related. In Jacksonville, a full slope of a gable roof is usually over the line.
You can list a house with an unpermitted roof, but the sale typically hits a wall when the buyer’s title company searches Duval County permit records and finds nothing matching the roof. Lenders and insurers frequently refuse to proceed until the roof is permitted, inspected, and corrected. The seller usually pays the correction cost or concedes it in the sale price.
Yes, a roof overlay, also called a roof-over, requires a permit in Florida when it exceeds the 25% area threshold, because the building code treats it the same as any other roof covering work. The inspection requirements, including decking, underlayment, and ventilation checks, still apply even though the new shingles sit on top of the old ones.
A typical residential roof permit in Duval County is issued within a few days to a week of application, and inspection scheduling usually runs one to three business days out once the work is ready. The full timeline from application to closed permit depends on the contractor’s schedule and the inspector’s workload, but a two-to-three-week window is common for a straightforward re-roof in Jacksonville.
The Bottom Line
Florida’s roofing permit system exists because the state’s wind and rain punish roofs that cut corners, and Jacksonville’s enforcement through Duval County is consistent enough that unpermitted work eventually surfaces. The permit is not a bureaucratic tax. It is the proof that your roof was built to the Florida Building Code, inspected by someone who does not profit from the job, and recorded in a system that protects you when you sell, when you insure, and when the next storm comes. Ask for the permit number before work starts. Verify it yourself. Keep the closed permit when it is done. That is the whole system, and it is within your control.
If you are in Jacksonville and want a roofer who treats the permit as part of the job rather than an inconvenience, Birchbark Roofing Jacksonville is here. We have been part of the Cedarwell family of roofing businesses since 2000, and every job includes a written price before work starts, shoe covers and drop cloths on every visit, and a photo of the completed clean-up before the crew leaves. Call (904) 604-7914 to schedule your free estimate.
Written by Erik Lindgren, Owner at Birchbark Roofing Jacksonville, serving Jacksonville since 2000.
See the difference
Before
After
Before
After
Before
After