What happens if you skip the permit (and you needed one)
- Stop-work orders and $500–$2,000 fines from Millbrae Building Department; roofer can be cited directly and may lose licensing.
- Roof fails final inspection or later reveals unpermitted work during home sale or refinance — title company may demand removal/redo at your cost ($15,000–$40,000) or refuse to insure.
- Insurance denial on water-damage claims if adjuster discovers unpermitted roof work (especially after a storm) — your policy can be voided.
- If a permit WAS required and you didn't pull it, sale disclosure obligations may trigger lawsuits from buyers; Millbrae real-estate market is competitive and title companies flag this.
Millbrae roof replacement permits — the key details
The foundational rule in Millbrae is California Title 24 Roofing Compliance (CBC §1505, which adopts IRC R905 with California amendments) plus the City's local enforcement of the 3-layer rule. IRC R907.4 states that if your roof has three or more layers, you must strip to the deck; Millbrae Building inspectors probe this early by requiring you to identify existing layer count on the permit application. If you claim two layers and the inspection discovers a third, work stops and you'll be ordered to tear off everything. This isn't theoretical — it happens because roofers sometimes skip disclosure. The fix: before you submit, get on the roof or hire an inspector to count physically. If you're at three layers now, budget a full tear-off (adds $0.50–$1.50 per square foot). If you're at two, overlay is still legal in Millbrae, but the Building Department will ask for written confirmation of layer count signed by a licensed roofer — verbal estimates don't fly.
Material selection triggers different approval paths. A like-for-like replacement (shingles to shingles, same class and color family) is fastest, usually approved over-the-counter in 2–3 business days if the roofer's plans are clear. A material change — shingles to metal, shingles to tile, or upgrading to a higher wind-resistance grade — requires structural review and will go to the plan examiner. Why? IRC R907.2 requires you to verify that the deck and framing can support the new load. Metal is lighter, so it's usually fast-tracked; clay tile is heavier (typically 15 lbs/sq. ft. vs. 2.5–3 for asphalt), and Millbrae will require a structural engineer's letter confirming deck capacity if the roof is original 1970s or earlier construction. Expect 7–10 days for material-change permits. Wind-uplift testing (ASTM D3161) is assumed for modern shingles (Class D, wind-resistant), but Millbrae requires the product data sheet on file. If you're upgrading to Class A fire-rated shingles (especially relevant near Millbrae's wildland-urban interface in the hills), submit the UL classification before the permit issues — inspectors will ask for proof.
Underlayment and secondary-water-barrier requirements are where Millbrae's coastal and fog-heavy environment shapes the code. Per California Energy Commission amendments to IRC R905.2 (Title 24, §150.1(c)), you must use a synthetic underlayment (not felt) with a minimum water-resistance rating of ASTM D779 or better. Millbrae Building Department specifically requires the manufacturer's data sheet and nailing pattern to be submitted with the permit application — hand-written notes or verbal confirmation won't be accepted. Ice-and-water-shield (self-adhering membrane) is required along the eaves (typically 3 feet up the roof) and all valleys. Why? Coastal weather means wind-driven rain and fog saturation; standard underlayment alone fails under those conditions. If the roof pitch is under 4:12, ice-and-water-shield is required across the entire deck. Many roofers under-spec this or forget it altogether, causing rejections. Check your contract with the roofer to ensure they're budgeting synthetic underlayment, not felt, and ice-and-water-shield by default.
Inspection sequencing and permit-office workflow in Millbrae differ from neighboring San Mateo or Burlingame. Millbrae Building Department does NOT offer online permit applications through a third-party portal; instead, applications are submitted in person at City Hall (1600 Trenton Ave) or by fax/email to the Building Department. This means you can't upload documents and track status online — you'll need to call (650-558-7600, extension for Building) to confirm receipt and approval status. Plan-review staff are typically available Mon–Fri, 8 AM–5 PM, and they do NOT review roofing plans over the phone. In-person meetings are common for complex roofs (material changes, structural questions). After approval, you'll receive a permit card or letter; show it to the roofer. Inspections are typically two phases: (1) Deck Inspection (after tear-off, before new underlayment and shingles are nailed) to verify nailing pattern, deck integrity, and flashing prep; (2) Final Inspection (roof fully shingled) to confirm wind-uplift fastening, ridge vent, underlayment overlap, and flashing sealing. Expect 1–2 weeks between rough-in and final, depending on inspector availability. If defects are found, re-inspection fees ($75–$150 per re-visit) apply.
Cost and timeline summary for Millbrae: Permit fees are typically $150–$400, based on the declared valuation of the work ($0.03–$0.05 per dollar of project value). A 2,000 sq. ft. roof replacement valued at $8,000–$12,000 will trigger a $150–$250 permit fee. If a tear-off is required (third layer detected), expect an additional $0.75–$1.50 per sq. ft. labor cost, roughly $1,500–$3,000 on a 2,000 sq. ft. roof. Material-change permits take longer (7–10 days); like-for-like permits are often issued same-day or next-day if the roofer submits complete plans. Total timeline from application to final inspection is typically 3–4 weeks. Do NOT start work before the permit is issued and inspected for deck approval; Millbrae Building Department has a zero-tolerance policy for unpermitted starts.
Three Millbrae roof replacement scenarios
Millbrae's coastal and wildfire-risk code enforcement
Millbrae sits at the edge of the San Francisco Bay with coastal fog and wind exposure, plus proximity to wildland-urban interface areas in the nearby hills (Skylawn, Black Mountain). The City adopted the California Fire Code (CFC) with amendments for Class A fire-rated roofing. This means that while a basic Class D asphalt shingle meets IRC R905 minimum standards statewide, Millbrae's Building Department increasingly recommends (and in some cases, for certain high-risk parcels, enforces) Class A fire-rated shingles on replacement roofs. Class A shingles are more expensive (15–25% premium), but they're not technically mandated unless you live in a Local Responsibility Area (LRA) or Very High Fire Hazard Severity Zone (VHFSZ). Check your parcel's fire-hazard zone on the San Mateo County Fire Authority website or ask the Building Department during pre-permit planning.
Wind-uplift fastening is scrutinized in Millbrae due to coastal exposure and winter storms. The Building Department requires that all shingles meet ASTM D3161 wind-uplift test at 90 mph minimum; most modern shingles do, but older or discount-bin products may not. The roofer must provide the product data sheet proving uplift rating, or the permit will be held. Additionally, fastening pattern is inspected line-by-line: 4 nails per shingle, placed 6 inches from the top and 1 inch from the edges, staggered across the roof. Hip and ridge caps require 6 nails per cap. Undersized or overdriven nails are red-flag items; roofers must use roofing nails (galvanized, 1.5 inch length, 0.148 inch diameter) and set them flush without crushing the shingle. Final Inspection includes a fastener pull-test (inspector randomly pulls 10–15 fasteners to verify they're embedded correctly and resist 20+ lbs. of pull force).
Underlayment and moisture management in Millbrae's foggy climate demand synthetic, not felt. The City's Building Department enforces California Title 24 §150.1(c), which requires ASTM D779 synthetic underlayment (typical brands: Titanium, Synthetics, GAF Snow & Ice Shield). Felt underlayment, which is cheap and still legal in drier parts of California, is effectively banned in Millbrae practice — inspectors will reject it and order removal. Cost difference is modest ($0.10–$0.20 per sq. ft.), but it adds up on a 2,000+ sq. ft. roof. Ice-and-water-shield is non-negotiable along eaves (36 inches up), all valleys, and roof-to-wall transitions. Many roofers underestimate the valley ice-and-water-shield requirement; Millbrae inspectors visually verify that valleys are fully covered, not just the centerline.
The Millbrae permit office workflow and how to avoid delays
Millbrae Building Department does not use an online permit portal like some larger Bay Area cities (San Jose, Oakland). Instead, roofing permits are submitted in person at City Hall, 1600 Trenton Ave, Millbrae, CA 94030, during business hours (Mon–Fri, 8 AM–5 PM, closed noon–1 PM). This is a significant workflow difference from neighboring Burlingame or San Mateo, where you can upload documents online. For Millbrae, you must physically hand-carry or fax/email a completed application with attachments. Faxed applications are accepted at (650) 558-7619 (Building Department fax). Email is also available, but response times are slower than in-person submission. The upshot: if you're hiring a roofer, confirm they've submitted the permit application and have a dated receipt from City Hall before work begins.
Required documents for a roofing permit application in Millbrae are: (1) completed Application for Building Permit form (available at City Hall or online), (2) roof plan (hand-drawn or digital) showing roof dimensions, pitch, and existing layer count, (3) manufacturer spec sheet for the new roofing material (shingle, metal, tile), including UL fire rating and wind-uplift test results, (4) underlayment specification (must state synthetic, ASTM D779 or better), (5) a signed statement from the contractor or owner confirming layer count and tear-off scope. Missing any item delays review by 3–5 days. Many roofers skip item (4) or submit incomplete product data, assuming underlayment is 'standard' — it's not. Build time into your schedule for complete documentation.
Plan-review timelines vary. Like-for-like shingle replacements with complete documentation are approved in 1–2 business days (same-day is rare but possible). Material-change permits (shingles to metal, structural upgrades) take 7–10 business days because they require engineer review or structural consultation. If the plan examiner has questions, he or she will call the roofer or owner (depending on who's listed on the application) — this adds 2–3 days if callbacks are delayed. Pro tip: submit the application early in the week (Mon–Tue) to avoid Friday bottlenecks and ensure the examiner can follow up quickly if needed.
Inspection scheduling is manual — you must call the Building Department to request Deck Inspection after tear-off. Average wait time is 2–3 business days. If you call same-day after tear-off, inspections are sometimes available next-day; if you wait a week, you're competing with other permit jobs and wait times stretch. The roofer typically handles this call, but confirm they do. Final Inspection is requested once the roof is fully shingled and flashing sealed; wait time is again 2–3 business days. Total calendar time from permit issuance to final inspection can stretch to 4–5 weeks if there are inspection delays or if defects are found and require re-inspection (additional $75–$150 re-visit fee per trip).
1600 Trenton Ave, Millbrae, CA 94030
Phone: (650) 558-7600, ext. Building
Mon–Fri, 8 AM–5 PM (closed 12–1 PM)
Common questions
Do I need a permit for a roof repair that's less than 25% of the roof area?
If it's a repair (patching a few shingles or replacing flashing without tear-off), it's typically exempt under 25% if like-for-like materials are used. However, Millbrae Building Department considers any work that involves tearing off shingles down to the deck as a 'replacement,' not a 'repair,' and the 25% rule resets — you may need a permit if the torn area is over 25%. Call the Building Department before starting work if the repair involves tear-off, to confirm exemption status. Repairs limited to nail-popping, isolated shingle re-fastening, or caulking (no tear-off) are almost always exempt.
What if an inspection finds a hidden third layer of shingles that I didn't know about?
Millbrae Building Department will issue a Stop-Work Order and require you to tear off all layers down to the deck. This is mandatory per IRC R907.4. Work cannot resume until the full tear-off is complete and re-inspected. Cost of tear-off is typically $1.50–$3.00 per sq. ft. ($3,000–$6,000 on a 2,000 sq. ft. roof), which will be your responsibility unless the contractor signed a warranty that they'd identify layers beforehand. Always do a pre-permit roof inspection or hire a roofer to probe the layers before submitting the application; it's cheaper than a stop-work.
Can I overlay new shingles on top of the existing two layers without tearing off?
Technically, yes — IRC R907 allows overlay on a two-layer roof in most jurisdictions. However, Millbrae Building Department practice discourages it because of the city's strict enforcement of the 3-layer rule. If you overlay, you're creating a three-layer system, and if a future inspector or appraiser identifies this during a sale or refinance, the layers will be flagged as non-code-compliant. Additionally, future re-roofing will be more costly because tear-off is mandatory. Most Millbrae roofers recommend full tear-off even on a two-layer roof because the cost difference is small and it avoids future liability.
How much does a roofing permit cost in Millbrae?
Permit fees are typically $150–$400, based on the declared valuation of the roofing work. A standard 2,000 sq. ft. asphalt shingle replacement valued at $8,000–$12,000 will cost $200–$280. Metal or tile roof replacements, which are more expensive ($12,000–$20,000), will cost $250–$400. The fee is calculated as a percentage of project valuation (roughly 2–3%) and is paid when the permit is issued. Some cities include inspection fees; Millbrae typically includes two inspections (Deck and Final) in the permit fee, but re-inspections (if defects are found) cost an additional $75–$150 per visit.
Do I need a structural engineer's letter for a material change from shingles to metal or tile?
Yes, if the new material is significantly heavier than the existing shingles or if the framing is older (pre-1950). Metal roofs are lighter, so structural review is usually a quick approval. Tile roofs are heavier (12–15 lbs per sq. ft. vs. 2.5–3 for asphalt), and Millbrae Building Department requires a licensed structural engineer's letter confirming the deck and framing can support the load. The letter costs $500–$1,200 and typically takes 1–2 weeks to obtain. Build this into your timeline if you're upgrading to tile or slate.
What happens if I don't pull a permit for a roof replacement?
Millbrae Building Department enforces unpermitted work actively, especially if a neighbor complains or if work is discovered during a home sale appraisal. Penalties include Stop-Work Orders ($500–$2,000 fine), double permit fees if you re-pull the permit after the fact, and potential denial of insurance claims if water damage occurs (insurance companies often check permit history). If you're selling the home, title companies will flag unpermitted roofing work, and buyers or lenders may demand removal and re-installation at your cost ($15,000–$40,000) or refuse the transaction.
How long does the entire roof replacement process take in Millbrae?
For a like-for-like shingle replacement with complete documentation: 1–2 business days permit approval, 2–3 days until Deck Inspection is available, 3–5 days of actual work (tear-off, underlayment, shingles), 2–3 days until Final Inspection is available. Total calendar time is typically 10–14 days. For material-change permits (shingles to metal), plan an additional 7–10 days for plan review and structural evaluation, extending the total to 3–4 weeks. Weather delays (rain preventing inspection or work) can add another week.
Is synthetic underlayment required, or can I use felt?
Synthetic underlayment is mandatory in Millbrae per California Title 24 §150.1(c). Felt, while still legal in some drier California areas, is not accepted by Millbrae Building Department inspectors. Synthetic underlayment (ASTM D779) costs $0.10–$0.20 per sq. ft. more than felt but provides better moisture resistance in Millbrae's foggy coastal climate. The roofer must state the underlayment type (by brand or ASTM standard) in the permit application, or the application will be rejected as incomplete.
Do I need a permit if I'm just replacing gutters or flashing?
Gutter replacement alone (no roof removal) is typically exempt. Flashing replacement that does not involve tear-off is also usually exempt. However, if flashing repair requires lifting shingles and tearing them off (to access the flashing or deck underneath), it may cross into 'replacement' territory and require a permit if the area is over 25%. When in doubt, call Millbrae Building Department (650-558-7600) and describe the exact scope before starting work.
What fire-rating do I need for roofing materials in Millbrae?
Class D fire-rating (the minimum per IRC R905) is legal. Class A fire-rating is strongly recommended in Millbrae's hillside and wildland-urban interface areas and is increasingly expected during home sales. Class A shingles cost 15–25% more but are not mandated unless your parcel is in a designated Very High Fire Hazard Severity Zone (VHFSZ). Check the San Mateo County Fire Authority's zone map or ask the Building Department. If you're in a high-risk zone, budget for Class A shingles and submit UL classification documentation with your permit application.
More permit guides
National guides for the most-asked homeowner permit projects. Each goes deep on code thresholds, common rejections, fees, and timeline.
Roof Replacement
Layer count, deck inspection, ice dam protection, hurricane straps.
Deck
Attached vs freestanding, footings, frost depth, ledger, height/area thresholds.
Kitchen Remodel
Plumbing, electrical, gas line, ventilation, structural changes.
Solar Panels
Structural review, electrical interconnection, fire setbacks, AHJ approval.
Fence
Height/material limits, sight triangles, pool barriers, setbacks.
HVAC
Equipment changeouts, ductwork, combustion air, ventilation, IMC sections.
Bathroom Remodel
Plumbing rough-in, ventilation, electrical (GFCI/AFCI), waterproofing.
Electrical Work
Subpermits, NEC sections, panel upgrades, GFCI/AFCI, who can pull.
Basement Finishing
Egress, ceiling height, electrical, moisture barriers, occupancy rules.
Room Addition
Foundation, footings, framing, electrical/plumbing extensions, structural.
Accessory Dwelling Units (ADU)
When permits are required, code thresholds, JADU vs ADU, electrical/plumbing/parking rules.
New Windows
Egress, header sizing, structural cuts, fire-rating, energy code.
Heat Pump
Electrical capacity, refrigerant handling, condensate, IECC compliance.
Hurricane Retrofit
Roof straps, garage door bracing, opening protection, FL OIR product approval.
Pool
Barriers, alarms, electrical bonding, plumbing, separation distances.
Fireplace & Wood Stove
Hearth, clearances, chimney, gas line work, NFPA 211.
Sump Pump
Discharge location, electrical, backup options, plumbing tie-in.
Mini-Split
Refrigerant lines, condensate, electrical disconnect, line set sleeve.