A Brennan company - serving Jacksonville, FL

Roofing Permits, Codes & Inspections in FL: What You Need to Know

Last updated October 17, 2026

Metal roofingMetal roofing
Architectural shinglesArchitectural shingles
Tile roofingTile roofing
GAFGAF
Owens CorningOwens Corning
Flat & low-slopeFlat & low-slope
Every visit starts with

Free roof inspection with deck photos before we talk money - GAF and Owens Corning certified installation

Your new roof for as low as$159/month*On approved credit; ask for current terms
Get your free estimate

Roofing Permits, Codes & Inspections in FL: What You Need to Know

If a Jacksonville roofing contractor tells you “we can skip the permit and save you money,” they’re not saving you money. They’re transferring their legal risk onto you. An unpermitted roof can void your homeowner’s insurance claim, flag your title during a sale, and leave you personally liable for code violations. This guide and our Complete Guide to Roofing in Jacksonville explain the Florida roofing permit system plainly: what requires a permit, what inspections actually check, what a wind mitigation form is worth, and how to verify any roof you own or buy in Jacksonville was done right.

Call (904) 719-6346

Explore

Styles & brands we work with

Architectural shingles
Architectural shingles
Metal roofing
Metal roofing
Tile roofing
Tile roofing
GAF
GAF
Owens Corning
Owens Corning
Flat & low-slope
Flat & low-slope

Quick Answer

Most full roof replacements in Florida require a building permit under Florida Building Code Section 1511. Roof repairs under 100 square feet of non-structural work may qualify for a repair exemption, but anything touching decking, flashing, or structural members generally requires a permit and at least one inspection. The permit process protects you in three ways: it forces the contractor to meet current wind load codes, it creates a public record for title and insurance purposes, and it gives you a final inspection signed by a Duval County code enforcement officer.

Table of Contents

What Roofing Work Requires a Permit in Florida

Under Florida Building Code Section 1511, a permit is required for any roof replacement that involves removal of existing roofing material down to the deck. That means tear-offs, full replacements, and any job where the underlayment or decking is exposed. A permit is also required when you change the roof covering material type, such as going from asphalt shingles to metal, or from a flat built-up roof to tile. Any structural alteration to the roof framing, including adding a dormer, changing the roofline, or reinforcing trusses for a heavier material, requires a permit and often an engineer’s letter.

In Duval County, the threshold is straightforward: if the job involves more than 100 square feet of roof area and touches anything below the surface layer, expect a permit. That covers roughly 95% of full replacements. A typical asphalt shingle tear-off and replacement on a 2,000 square foot Jacksonville home runs $8,000 to $14,000 including permit fees, which in Duval County generally run $150 to $400 depending on the job valuation. That fee is not a tax. It buys you an independent inspector who checks the contractor’s work against the Florida Building Code, 8th Edition.

Here is what triggers a permit in Duval County:

  • Tear-off and replacement of any roof covering
  • Installation of a new roof covering over an existing one (re-roof with no tear-off)
  • Changing material type: asphalt to metal, tile to shingle, etc.
  • Any repair involving decking replacement, even partial
  • Any work on roof framing, trusses, or structural connections
  • Skylight replacement or installation that cuts the roof deck
  • Any roofing work in a flood zone that requires elevation verification

We have seen homeowners in Arlington and Mandarin get a “repair” quote for what is really a full replacement, with the contractor telling them no permit is needed. That is the contractor trying to avoid the cost and the inspection. It is not doing the homeowner any favor. A permitted roof is a roofing company in Jacksonville standing behind their work publicly, in the county record.

The Repair Exemption: What It Actually Covers

Florida Administrative Code and Section 1511 of the Florida Building Code allow certain repairs to proceed without a permit. The exemption is narrow, and it does not mean “small job, no permit.” It means non-structural work below a specific square footage that does not touch the deck, flashing, or structural members. Specifically, a repair is exempt from permit requirements when it covers less than 100 square feet of roof area and is limited to replacing the surface material in kind, such as swapping damaged asphalt shingles for new asphalt shingles of the same type.

The exemption falls apart the moment the repair is not “in kind.” If the original roof was three-tab asphalt and you install architectural shingles, that is a material change and requires a permit. If the original was T-lock shingles, which are no longer manufactured, and you must switch to a modern replacement, that is a material change and requires a permit. If a roofer peels back shingles and finds rotted decking, the moment they replace that plywood or OSB, the repair exemption ends and a permit is required. A trained roofer knows this. A trained roofer stops and tells you. A roofer who keeps going without saying anything is putting you on the hook.

In our experience on Jacksonville re-roofs, small repairs below 100 square feet rarely stay below 100 square feet once the old material comes off. Jacksonville’s humidity and summer rain cycles mean decking rot is common along eaves and valleys, especially in older Riverside and Avondale homes built before 1960. The practical takeaway: treat the repair exemption as an exception, not a shortcut. When a contractor defaults to “no permit needed” before they have even been on the roof, that is a flag.

What Happens During a Jacksonville Roof Inspection

A permitted roofing job in Duval County goes through up to three inspection stages. The sequence matters, because the contractor cannot hide work between stages. The county inspector sees the roof at each checkpoint and signs off before the next phase can legally proceed. Here is the standard sequence for a full tear-off replacement:

  1. In-progress inspection (deck and dry-in). After the old roof is torn off and the new underlayment is laid, the inspector comes out to verify the deck condition, fastener pattern, underlayment type and overlap, drip edge, and flashing details. This inspection happens before any shingles, tile, or metal panels go on. If the deck has soft spots, this is the inspection that catches them.
  2. Final inspection. After the roof covering is fully installed, the inspector returns to verify that the material matches the approved plans, the fasteners are correct for the wind zone, the flashing at penetrations and valleys is installed properly, and the roof edge and ridge details meet code. This is the inspection that closes the permit.
  3. Structural inspection (when required). If the permit involves truss modification, a re-roof over existing material where the roof load changes, or any work in a High-Velocity Hurricane Zone designated area, the county may require a structural inspection or a signed letter from a Florida-licensed engineer confirming the existing structure can handle the load.

The inspector works for Duval County, not for the roofer. That independence is the point. The inspector’s job is to enforce the Florida Building Code, 8th Edition, with local amendments. A roofer who tells you the inspector “won’t need to come out” is telling you they do not want the county looking at their work. Every permit we pull for a roof repair in Jacksonville or a full replacement gets the inspections it is entitled to, no exceptions.

What a Failed Inspection Triggers

A failed inspection is not a penalty. It is the system working. The inspector finds something that does not meet code, writes it up, and the contractor fixes it before the permit can proceed. What it costs you: nothing, if the contractor accounted for it. What it costs the contractor: a return trip and the cost of doing it right. That is a trade-off every homeowner should want on their side.

Common reasons a Jacksonville roof inspection fails:

  • Incorrect nail pattern or nail length for the wind load zone
  • Underlayment overlap less than the code-required minimum
  • Missing or improperly seated drip edge at eaves and rakes
  • Valley flashing installed with fasteners too close to the valley center
  • Pipe boot and vent flashing not integrated with the underlayment
  • Decking left with gaps wider than 1/8 inch that will telegraph through the new roof

Here is what a failed inspection triggers, step by step. The inspector leaves a written correction notice on site. The contractor pulls a re-inspection. The contractor fixes the listed items. The inspector returns. Pass or fail again. Each re-inspection costs the contractor a county fee, typically $75 to $100 in Duval County. If a contractor tells you the inspector “passed it anyway” or “we’ll handle it later,” they are betting you will not check the county portal. Check the portal. The final inspection record is what matters.

Wind Load Requirements and HVHZ Designations in Jacksonville

Florida’s High-Velocity Hurricane Zone, or HVHZ, sounds like it applies only to Miami-Dade and Broward. That is true for the most demanding fastening and testing requirements. But Duval County has its own elevated wind load requirements that affect how your roof gets fastened, and they vary by zip code. Jacksonville sits in the 130 to 140 mph wind speed zone depending on the specific location, with coastal and Intracoastal areas toward the higher end.

What this means in practice: the Florida Building Code specifies a required nail pattern, underlayment method, and flashing standard based on the design wind speed at your address. A Jacksonville Beach home typically needs a tighter fastener schedule than a home in Orange Park. The inspector checks the fastener pattern during the dry-in inspection. If the contractor nails to the wrong pattern to save an hour of labor, the roof fails inspection or, worse, gets passed and then peels in a named storm.

We install materials from manufacturer lines including GAF, Owens Corning, and Atlas, and we spec each job to the wind load requirements for the specific Jacksonville address. There is no one-size-fits-all fastener schedule. That is what the permit and inspection are for: verifying the roof was built to the number the code calculates for your street, not the number the last job used.

A final-passed roof permit is the single most important document in your insurance file. When you complete a roof replacement in Florida, your insurer will almost always accept new wind mitigation credits. In Jacksonville, completing a wind mitigation form after a permitted roof replacement typically saves homeowners $300 to $900 per year on their windstorm premium, depending on the home’s age, roof shape, and the specific credits earned.

Here is how the link works:

  1. The county final inspection verifies the roof meets current wind load code.
  2. A licensed inspector or qualified roofing contractor completes the Uniform Mitigation Verification Inspection Form, commonly called the 1802 form.
  3. The form lists specific credits: roof deck attachment, roof-to-wall connection, roof covering type, opening protection, and roof shape.
  4. Your insurer applies those credits to your windstorm premium at renewal.
  5. The credits stay in place until the roof system is materially changed.

An unpermitted roof gets none of this. The insurance company cannot verify when the roof was done, to what code, or by whom. In a claim, that becomes a reason to deny coverage for roof damage. A homeowner who paid cash to a roofer who skipped the permit, skipped the inspection, and skipped the wind mitigation form has saved money today and signed up for higher premiums and a disputed claim tomorrow. The permit is not bureaucracy. It is the document that makes your roof insurable.

How to Look Up a Roof Permit on a Jacksonville Home

If you are buying a home in Jacksonville, do not rely on the seller’s disclosure or the listing agent’s assurance about the roof. Do not rely on the roof’s appearance, either. A roof can look new and be unpermitted. That happens more often than it should. The public record tells the truth, and it is free to check.

Here is the step-by-step for Duval County:

  1. Go to the Duval County Property Appraiser website and find the property’s Real Estate Number, or REN, from the property record.
  2. Go to the Duval County Building Inspection Division permit portal, which is linked from the county’s main permitting page.
  3. Search by the REN or street address. The portal returns every permit ever pulled for that parcel.
  4. Look for a permit with a description containing “roof” or “reroof” with an issue date that corresponds to the age of the visible roof.
  5. Check the status. The status must read “finaled,” “closed,” or “passed final inspection” for the permit to be complete.

The phrase that matters most when you are buying: “permit closed without final inspection.” That status means someone pulled a permit, started work, and never got the final inspection passed. The permit was administratively closed by the county, often years later, without the roof ever being verified. For a prospective buyer, that status is functionally the same as no permit at all. The insurance credit is unavailable, the code compliance is unverified, and the title company may flag the open or improperly closed permit during the transaction. A roof inspection in Jacksonville can tell you what is on the roof today, but only the permit portal can tell you what the county saw, or never saw, when it was installed.

Common Mistakes to Avoid

  • Taking the “skip the permit” pitch. A contractor who offers to waive the permit is not saving you the $150 to $400 county fee. They are choosing to work outside the inspection system, and you are the one who lives with the result when it surfaces at a sale or a claim.
  • Assuming a new-looking roof is a permitted roof. In Jacksonville’s hotter resale markets, we see homes flipped with roofs installed by crews who never pulled a permit. The roof looks fine. The county record is silent. That is a title problem waiting.
  • Not verifying the final inspection status. Checking that a permit was pulled is not enough. A permit with an in-progress inspection that was never completed, or one administratively closed, leaves the job unverified.
  • Overlooking the wind mitigation form after a permitted roof. A final-passed permit triggers the ability to complete the 1802 form. Many homeowners never know to ask for it, leaving hundreds of dollars a year in premium savings unclaimed.
  • Allowing a material change without a new permit. Swapping three-tab for architectural shingles, or shingles for metal, changes the roof’s wind load and attachment requirements. The repair exemption does not cover it.
  • Hiring a roofer without a written scope that includes permit and inspection line items. The written price should state exactly what work is being done, what permit will be pulled, and who is responsible for scheduling and passing inspections. At Brennan Roofing Co Jacksonville, the price goes on paper before any work starts, and the permit and inspection responsibilities are part of that written scope.

When to Call a Professional

The honest answer for most homeowners: any time the work involves more than replacing a few damaged shingles under 100 square feet, you want a professional who works inside the permit system. The scenarios that justify a licensed contractor with a written price before any work starts include full tear-off replacements, re-roofs over existing material, any material type change, any decking or flashing repair, any storm damage claim, and any roof on a home you are buying or selling. If the roofer cannot produce a written price that includes the permit and inspection line items, that roofer is not operating under a standard you should accept. Brennan Roofing Co Jacksonville offers free estimates in Jacksonville. Call (904) 719-6346 to have a background-checked, uniformed technician walk your roof and put a written price in your hand before any work begins.

Frequently Asked Questions

The Bottom Line

Florida’s roofing permit and inspection system is not an obstacle. It is the only mechanism that proves your roof was installed to the wind load code your address requires. A final-passed permit protects your insurance claim, your wind mitigation credits, your title at resale, and your ability to know exactly what is on your roof. A contractor who operates inside that system, with a written price before any work starts and inspections they do not avoid, is a contractor you can hold accountable. That is the standard. It is the only one worth accepting in Jacksonville. For more guides & resources, visit our blog.

Written by Travis Oakley, Owner at Brennan Roofing Co Jacksonville, serving Jacksonville since 2000.

Ready for a written price and a permitted roof? Call Brennan Roofing Co Jacksonville at (904) 719-6346 for a free estimate. Visit the Brennan Roofing Co Jacksonville home page to learn more about The Garrison Standard and how we work.

Before & after

See the difference

Before - Recent ProjectBeforeAfter - Recent ProjectAfter
Recent Project
Before - Full RestorationBeforeAfter - Full RestorationAfter
Full Restoration
Before - Complete UpgradeBeforeAfter - Complete UpgradeAfter
Complete Upgrade
Need Roofing help in Jacksonville? Licensed & insured · Free in-home estimates response · free estimates
Call (904) 719-6346
Local Service Coverage

Request a Free Estimate in Jacksonville

Tell us what you need - Brennan Roofing Co Jacksonville responds fast. No obligation.

By sending this request, you accept our Privacy Policy and agree that you may be contacted by phone, email, or text about your request, including by the independent contractors we may refer it to.

Prefer to text? Text Us
Call Now - 24/7 Dispatch