A Tilehurst company - serving San Diego, CA

Roofing Permits, Codes & Inspections in CA: 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 CA: What You Need to Know

Here’s a number most San Diego homeowners never hear: roughly one in five residential roofs in California has some form of unpermitted work on it. That doesn’t sound like much until you’re sitting at a closing table and a title report flags a reroof from 2016 that was never inspected. The buyer’s lender freezes the loan. The seller is suddenly negotiating a five-figure credit. And the roofer who did the work changed phone numbers two years ago. California roofing permits are not bureaucratic friction. They are the only mechanism that forces a third-party inspector to verify what’s actually under your shingles. This guide explains exactly when a permit is required, what the San Diego process looks like step by step, what inspections actually check, how Title 24 changes your material choices, and what unpermitted work costs you at resale. For the complete guide to roofing in San Diego, see our full resource. If you own a roof in California, this is the one permit guide worth reading all the way through.

Call (619) 393-3877

Quick Answer

In California, a building permit is required for any roofing project that removes and replaces more than 50% of the roof covering on a structure, and for all new roof installations. Minor repairs covering less than 10% of the roof area within a 12-month period are typically exempt, as long as no structural decking, sheathing, or framing is altered. The permit exists to trigger an independent city or county inspection, which verifies code compliance before the job is signed off and becomes part of the property’s permanent public record. For San Diego homeowners, permits are issued by the City of San Diego Development Services Department or the County of San Diego for unincorporated areas.

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

Table of Contents

When a Roofing Permit Is Required in California

The governing rule comes from the California Building Code (CBC), specifically Chapter 15, which addresses roofing. Section 1505.1 requires that roof coverings be installed in accordance with the code and the manufacturer’s installation instructions. The permit trigger itself comes from the California Residential Code and local amendments: any roof covering replacement where more than 50% of the total roof area is removed and replaced within a 12-month period requires a permit. A full tear-off and reroof always requires a permit. A new roof on a new addition or new home requires a permit as part of the larger building permit.

What this means in plain language: if a contractor is tearing off your entire old shingle layer and installing a new field of shingles, underlayment, and flashing, that job needs a permit. There is no gray area on a full reroof in San Diego. The City of San Diego has made this explicit in its published guidance: any project involving structural alterations, including replacement of roof sheathing or decking, requires a permit and a structural inspection. If a roofer tells you “we can do the whole job without pulling a permit and save you $400,” you should understand what you are actually saving: $400 in permit fees in exchange for zero third-party verification that the job was done to code, and a documented unpermitted alteration on your property record.

There is also a second trigger homeowners miss: alterations to the roof structure itself. If your project involves adding a skylight, changing the roof pitch, cutting into rafters for a dormer, adding a solar mounting system that penetrates the deck, or replacing damaged sheathing beyond a small repair patch, a permit is required even if the total area of roof covering replaced is otherwise minimal. The permit triggers a structural inspection, and that inspection is what confirms the building can still carry the load.

What’s Exempt: Repairs That Don’t Need a Permit

The California Building Code exempts “minor repairs” from building permits. The working definition most jurisdictions apply, including San Diego, is a repair that covers less than 10% of the total roof area within a 12-month period, and that does not alter or replace any structural component. In practice, this covers:

  • Replacing a few damaged or missing asphalt shingles after a wind event.
  • Replacing a small section of flashing around a vent pipe or chimney where the underlying deck is sound.
  • Sealing a localized leak with roofing cement and a small patch.
  • Replacing a single tile or a small cluster of tiles on a tile roof, provided no underlayment is replaced.
  • Cleaning gutters, replacing gutter guards, and re-caulking around skylights.

Here is where the “sometimes true, often a warning sign” distinction matters. If your roofer identifies a leak, tells you the fix is four shingles and a little flashing, and says no permit is needed, that’s probably accurate and nobody is gaming the system. If your roofer is replacing an entire roof plane from ridge to eave and calls it a “repair,” that is not a repair. That is a reroof. And a reroof requires a permit. In our experience in San Diego, we have seen homeowners told a full garage roof replacement was “just a repair” or that the permit could be skipped on an entire rear slope. When the work is finished, the homeowner has no inspection record, no city sign-off, and no documentation to show a future buyer. The risk transfer is entirely to the homeowner.

One more nuance: the 10% exemption applies to the project scope, not to a series of small “repairs” that add up to a reroof over time. A contractor who proposes doing your roof in four small permit-free phases over 18 months is not being clever; they are creating a code-compliance problem for you.

The San Diego Permit Process, Step by Step

The City of San Diego permit process for roofing is straightforward, but it has more steps than most homeowners expect. For a standard residential reroof with no structural changes, here is what the process looks like in practice:

  1. Permit application is submitted. The contractor (or homeowner, but almost always the contractor) submits an application through the City’s OpenDSD online portal or in person at the Development Services Department. The application includes the project address, scope of work, roof area, and material specifications.
  2. Plans are reviewed and the permit is issued. A straightforward asphalt shingle reroof with no structural changes is typically issued over the counter or within a few business days when there are no complications. If structural work is involved, or if the home is in a historic district or coastal zone, review takes longer: two to six weeks is common in San Diego.
  3. Fees are paid. Permit fees for a standard residential reroof in San Diego typically fall in the $300 to $900 range, depending on the roof area and the valuation of the work. This is on top of any Title 24 documentation or plan check fees, which can add $100 to $250.
  4. Roofing work begins after permit issuance. The permit must be issued before work starts. A contractor who begins work and says they’ll “pull the permit next week” is doing unpermitted work at that moment.
  5. Mid-roof inspection (when applicable). For most reroofs, the key inspection happens after the old roof is torn off and the new underlayment is installed, but before the new shingles or tiles go on. This is the “dry-in” or “in-progress” inspection. It verifies the deck condition, underlayment type, and flashing details that will be covered by the finished roof.
  6. Final inspection. After the roof is complete, the inspector returns and checks the finished surface, edge details, roof-to-wall intersections, vent terminations, and general code compliance. Once signed off, the project is closed and the inspection becomes part of the home’s permanent public record.

Who schedules the inspections? In San Diego, the contractor of record typically schedules inspections on the permit. But here’s a point most homeowners don’t know: the homeowner is entitled to a copy of every inspection report, and those reports are public record. You can look up your permit status and inspection results any time through the City’s online permit lookup. You should. A contractor who gives you a verbal “everything passed” but cannot point you to the recorded inspection is not giving you the full picture.

The timeline for the entire process is realistic and not scary: a standard reroof permit takes a few days to issue, one to three business days to get an inspector on site for the in-progress inspection, and another one to three days for the final. The longest pole is almost always the plan review for structural work or coastal zone review. And one practical point from a San Diego roofer’s perspective: the City’s inspection scheduling is by day, not by appointment hour, so the inspector arrives sometime within a scheduled window. That’s normal, and it’s why the contractor should be the one on site coordinating it. If your roofer is asking you to meet the inspector, that’s a red flag.

What Roofing Inspectors Actually Look For

Most homeowners picture an inspector climbing a ladder and glancing at shingles. The actual San Diego roofing inspection is more rigorous than that, and understanding what is being checked helps you understand why the permit is worth every dollar.

At the in-progress inspection, the inspector is looking at the parts of the roof you will never see after the job is done:

  • Deck condition. The inspector checks the plywood or OSB sheathing for rot, delamination, and structural soundness. Damaged decking must be replaced before underlayment goes down. The inspector may require seam clips or H-clips if edges are unsupported.
  • Underlayment type and attachment. California has specific underlayment requirements. The inspector verifies the correct product for the roof type (felt, synthetic, peel-and-stick in valleys and eaves) and that it’s properly fastened. San Diego’s wildfire zones have stricter requirements: in the Very High Fire Hazard Severity Zones, at least one layer of a fire-retardant or non-combustible underlayment is required depending on the roof assembly.
  • Flashing details. This is where a lot of unpermitted work fails. The inspector checks flashing at penetrations (pipes, vents, chimneys), roof-to-wall intersections, valleys, and skylights. Flashing is the most common source of leaks on any roof, and it’s also where code violations show up most frequently.
  • Ventilation. California requires attic ventilation in most residential roof assemblies. The inspector checks that intake and exhaust vent ratios meet the current code. A reroof that seals up the attic without proper ventilation creates a moisture problem that shortens the life of the new deck and shingles.

At the final inspection, the focus shifts to the finished surface: shingle or tile alignment, nail placement and count per shingle, ridge cap installation, drip edge at eaves and rakes, and the overall weather barrier. The inspector also checks that the roof covering meets the fire rating required for the home’s location. In San Diego’s wildland-urban interface areas, this typically means a Class A roof assembly, which affects which materials you can even use. For roofing warning signs every San Diego homeowner should know, review our reference guide.

The inspection is not a courtesy. It’s the only point in the entire project where a person who doesn’t get paid by the contractor verifies that what was specified is what was installed. Our crews get inspected on the same workday sometimes, and the inspector’s report is the closest thing the construction industry has to a third-party audit.

Unpermitted Roofing Work at Resale: The Hidden Cost

This is where the “save $400 on permits” math collides with reality. An unpermitted reroof is not a secret. It’s a fact in the public record by its absence. Here’s how it shows up at resale:

When a home sells, the buyer’s title company and lender examine the property history. If permits exist for other work on the home but no permit exists for a roof that is visibly newer than the rest of the house, that discrepancy gets flagged. The seller’s disclosure statement requires an answer: was any unpermitted work done on the property? Lying on that form is insurance fraud and the basis for a rescission lawsuit after closing. Answering honestly means disclosing the unpermitted roof. At that point, one of three things happens:

  • The lender conditions the loan on retroactive permitting. The buyer’s underwriter requires the roof to be permitted and inspected before closing. The seller pays for it. In San Diego, retroactive permitting for a reroof that’s already been installed can cost several times the original permit fee: the city charges penalty fees that accrue retroactively, the roofing work may need to be partially opened up so the inspector can see the underlayment and flashing, and if the work doesn’t meet code, remediation costs get added on top. A $400 “savings” at install can become a $4,000 to $12,000 line item at closing.
  • The buyer demands a price reduction. The buyer’s agent knows the unpermitted roof is a liability, and they price it in. The seller takes a credit that usually far exceeds the cost of having pulled the permit originally.
  • The deal falls through. Lenders can simply refuse to finance a home with unpermitted structural work. The seller’s pool of buyers shrinks to cash buyers only, and cash buyers expect a discount.

There is also a safety and insurance angle. If an unpermitted roof fails and causes interior damage, the homeowner’s insurance company may deny the claim on the grounds that the damage resulted from work done outside code compliance. The insurance carrier’s obligation is to cover damage from covered perils, not to indemnify a homeowner for the consequences of unpermitted construction.

Retroactively permitting work in San Diego is possible, but it’s not a clean process. The homeowner or a licensed contractor must submit plans, pay back permit fees plus penalties, arrange for the existing roof to be inspected, and correct any violations found. If the inspector requires the roof to be opened for inspection, the “finished” roof gets torn into. This is the worst of both worlds: you pay the permit fee, you pay the penalties, and you pay for repairs to the roof you already paid to have installed.

California Title 24 and Your Roof Materials

California Title 24 is the state’s Building Energy Efficiency Standards. It applies to roof replacements when more than 50% of the roof area is replaced, and its practical effect for San Diego homeowners is mainly about reflectivity and insulation. Our seasonal roofing care guide for San Diego covers how these standards fit into year-round maintenance. The code divides California into climate zones. San Diego is split between Climate Zone 7 (coastal) and Climate Zone 10 (inland), and the requirements differ slightly between them.

For steep-slope roofs like asphalt shingles, tile, and metal, Title 24 prescribes minimum aged solar reflectance and thermal emittance values. Here’s the practical translation: your replacement roof in San Diego generally needs to be a “cool roof” product that meets either the prescriptive minimums or the performance-based whole-building approach. Most major manufacturers now produce Title 24-compliant options as standard products in their lines. GAF, CertainTeed, Owens Corning, and Tamko all make cool-roof asphalt shingle colors that carry a CRRC (Cool Roof Rating Council) rating. If you want a darker shingle color, you may need to choose a product with special reflective granules to meet the requirement.

For low-slope roofs in San Diego, Title 24 is more prescriptive: the roof must meet minimum aged solar reflectance values that effectively require a reflective membrane, a light-colored coating, or a ballasted system. This is why you see so many white or light-gray flat roofs in San Diego’s beach neighborhoods and mid-city commercial buildings. It’s not a style choice; it’s the code.

There is also an insulation requirement: if the reroof project exposes the attic, or if the home is in a wildfire zone where the deck is being replaced, the code may require insulation to be brought up to current standards before the roof goes back on. A licensed San Diego roofer who pulls a permit will tell you about this up front, because the inspector will check it. A roofer who doesn’t pull permits won’t mention it, and you’ll discover the omission when the home is inspected for sale.

Material choice matters under Title 24, and it’s one of the reasons we offer full manufacturer lines from seven suppliers, including Boral for tile applications, CertainTeed and GAF for composition shingles, and Tamko for value-oriented cool-roof options. The product has to fit the home, the climate zone, and the code requirement, not just whatever is in the truck that week.

How to Verify a Permit Is Really Pulled

Here is a scenario we hear regularly in San Diego: a contractor tells the homeowner the permit is pulled, work begins, and the homeowner never sees any paperwork. The contractor says the city is “slow” or the inspector “already came by.” The homeowner takes it on faith. Six months later, they discover no permit was ever issued.

The City of San Diego makes verification simple. Every permit issued since the early 2000s is searchable through the City’s online permit lookup system. You need the project address, and you can see every permit associated with that property: issued, in-progress, closed, or expired. For unincorporated areas of San Diego County, the County’s building division maintains the same function.

Here is the process, in order:

  1. Ask for the permit number before work starts. A licensed contractor who has pulled the permit will give you the number immediately; it’s on the issued permit document they receive from the City.
  2. Look up the address yourself. Go to the City of San Diego’s Development Services permit lookup page, enter your address, and confirm that a roofing permit is listed as “issued.”
  3. Check that the scope matches. The permit description should match the project being done. A permit for “reroof, 28 squares, asphalt shingle” should not be for a job that includes structural changes or a tile installation.
  4. Ask for the inspection results after each inspection. The inspector’s sign-off is recorded in the same system. You should be able to see the inspection status change from “scheduled” to “passed” to “finaled.”
  5. Keep a copy of the finaled permit for your files. When the project closes, download or print the final inspection record. This is the document you’ll provide at resale if anyone asks. It is also the document a buyer’s agent will look for.

A roofing contractor who tells you the permit is pulled but gives you no permit number, or who deflects when you ask to see it, is not operating in your interest. The permit is not their private business document. It’s public record. You have a right to see it, to be named on it or to know who is named on it, and to access every inspection result. Contractors who treat the permit as an internal matter are usually avoiding the record for a reason.

What Permits Cost and How Long They Take

Here are straight numbers, because homeowners deserve to know what they’re paying for before any work starts. For a standard residential reroof in the City of San Diego:

  • Building permit fee: typically $300 to $900 for a standard single-family reroof, scaled to the project valuation.
  • Plan check fee (if structural review is required): $100 to $250 additional.
  • Title 24 documentation: $50 to $150 for a simple compliance form prepared by a third-party provider.
  • Total: most reroof permits in San Diego land between $450 and $1,300 all-in.

The timeline is similarly predictable. Over-the-counter issuance for a straightforward tear-off and reroof with no structural changes is same-day or next-day in most cases. Reviews that require plan check, such as structural alterations or work in coastal zones, take two to six weeks. Inspections are scheduled on a one-to-three-day horizon and happen within the scheduled day but not at a fixed hour. The full process, from application to final sign-off, is typically two to four weeks for a standard project.

For context: the cost of the permit is roughly 1% to 3% of the cost of a full reroof in San Diego. The cost of fixing an unpermitted roof at resale is often 10% to 20% of the project cost. That’s the math. And the permit isn’t just a fee; it buys the one thing no contractor’s promise can match: independent verification. That’s what the inspection is for, and that’s why we include all permit coordination in our written quote before any work starts. When we write a price for a roof replacement in San Diego, the permit fee and the coordination are in it. The price doesn’t change when the permit is pulled, because pulling permits is part of the job, not an optional line item.

Common Mistakes to Avoid

  • Skipping the permit on a full reroof to save money. The savings never survive contact with the resale market. A reroof is a permanent alteration to the home’s primary weather barrier, and the absence of a permit is a documented liability that transfers to the next owner unless disclosed and negotiated.
  • Trusting a verbal “permit is pulled” without a permit number. The City of San Diego’s online lookup is public. If the permit number doesn’t appear on your address, no permit exists. Ask before work starts, not after.
  • Treating the in-progress inspection as optional. The dry-in inspection is the only time the inspector sees the underlayment and flashing before they’re covered. If that inspection is skipped, the final inspection cannot verify the waterproofing details that matter most. Make sure it’s scheduled and passed.
  • Choosing roof materials without checking Title 24 compliance. A dark shingle that doesn’t meet the reflectance requirement for your San Diego climate zone is a code violation that will be flagged at the final inspection, and if the job was never permitted, at resale. Choose products with a CRRC rating that fits your zone.
  • Letting a contractor do “phased repairs” to avoid the 10% permit threshold. A reroof broken into two or three permit-free phases is still a reroof. The city treats cumulative work on the same roof area within a 12-month period as one project. This tactic doesn’t work and it creates the same unpermitted-work liability.
  • Not keeping the finaled permit record. The final inspection report is the document you’ll need at resale. Download it, print it, file it with your home records. It’s worth more than any warranty card in your filing drawer.
  • Assuming the roofer’s warranty substitutes for a permit. A workmanship warranty covers the roofer’s installation. It does not verify code compliance, and it cannot be shown to a lender as proof that the roof was lawfully installed. The permit and inspection do that. They’re different things, and you want both.
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

When to Call a Professional

You should involve a licensed, permitted roofing contractor when the project involves anything beyond a simple shingle replacement or a small flashing repair. If you’re replacing an entire roof plane, doing a full reroof, changing materials, adding skylights or solar mounts, or if you’ve discovered rot in the deck or leaks around penetrations, the job requires a permit and an inspection. The contractor’s role includes coordinating both, and they should do it as standard practice, not as an add-on. If your roofer resists the permit process, that tells you something. A roofer who works inside the permit system every day isn’t afraid of it. Tilehurst Roofing San Diego offers free estimates in San Diego; call (619) 393-3877 to get a written price that includes permit fees, permit coordination, and the full inspection schedule, before any work starts. If you’re unsure whether your project needs a permit, call the City of San Diego Development Services Department for a direct answer, or call us and we’ll tell you straight.

Frequently Asked Questions

The Bottom Line

A California roofing permit is not paperwork for its own sake. It’s the mechanism that forces a third-party inspector to verify the work, and that inspection is the only independent check a homeowner ever gets on a roof that will protect their biggest asset for 20 to 30 years. In San Diego, the permit process is straightforward, costs far less than the liability of skipping it, and produces a public record that protects you at resale. Ask for the permit number before work starts. Verify it on the city’s online lookup. Keep the finaled inspection report. And hire a roofer who treats permits as standard practice, not as an optional add-on. If you’re planning a roof project in San Diego and want a written price that includes the permit, the inspections, and the full scope in plain language, call Tilehurst Roofing San Diego at (619) 393-3877 for a free estimate. Browse our more guides & resources for additional homeowner help.

Written by Greg Holloway, Owner at Tilehurst Roofing San Diego, serving San Diego since 2000.

Need Roofing help in San Diego? Licensed & insured · Written quotes before work starts response · free estimates
Call (619) 393-3877
Local Service Coverage

Request a Free Estimate in San Diego

Tell us what you need - Tilehurst Roofing San Diego responds fast. No obligation.

By submitting this form, you accept our Privacy Policy and consent to being contacted by call, text, or email regarding your service needs, including from the affiliated professionals who may take on the job.

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