California building permit report
185,102 building permits issued across 103 California cities in the last 12 months, broken down by city and type of work. Compiled from official city permit portals and refreshed nightly.
Last updated September 16, 2026.
Permits by city
Last 12 months. Click a city for its month-by-month history.
| City | All permits | Reroofs | Remodels & additions | ADUs | Pools & spas |
|---|---|---|---|---|---|
| Los Angeles | 45,129 | 9,302 | 6,434 | 5,253 | 2,886 |
| San Diego | 34,134 | 145 | 2,369 | 1,432 | 473 |
| San Jose | 19,483 | 2,040 | 1,704 | 640 | 162 |
| San Francisco | 14,075 | 1,808 | 2,860 | 178 | 20 |
| Pasadena | 12,617 | 937 | 1,790 | 1,063 | 145 |
| Sacramento | 10,176 | 1,305 | 1,021 | 124 | 97 |
| Huntington Beach | 5,681 | 794 | 428 | 104 | 156 |
| Irvine | 5,547 | 254 | 605 | 57 | 116 |
| Chula Vista | 5,091 | 374 | 283 | 351 | 63 |
| Fullerton | 3,534 | 337 | 175 | 196 | 45 |
| Anaheim | 3,377 | 634 | 467 | 179 | 68 |
| Orange | 2,788 | 724 | 243 | 0 | 93 |
| Newport Beach | 2,681 | 228 | 1,157 | 48 | 167 |
| Costa Mesa | 2,596 | 451 | 377 | 10 | 71 |
| Santa Ana | 2,017 | 564 | 118 | 188 | 26 |
| San Bernardino | 1,072 | 100 | 31 | 77 | 21 |
| Joshua Tree | 919 | 46 | 39 | 25 | 129 |
| Phelan | 915 | 33 | 18 | 29 | 6 |
| Lake Arrowhead | 817 | 134 | 56 | 7 | 39 |
| Mill Valley | 728 | 14 | 44 | 2 | 5 |
| San Rafael | 590 | 10 | 16 | 0 | 9 |
| Fontana | 565 | 57 | 15 | 57 | 4 |
| Big Bear City | 529 | 76 | 24 | 18 | 59 |
| Victorville | 519 | 41 | 10 | 19 | 11 |
| Apple Valley | 493 | 21 | 12 | 24 | 8 |
| Bloomington | 469 | 32 | 18 | 45 | 7 |
| Lucerne Valley | 367 | 18 | 14 | 3 | 2 |
| Pinon Hills | 321 | 13 | 3 | 3 | 3 |
| Kentfield | 292 | 8 | 17 | 2 | 15 |
| Novato | 270 | 4 | 7 | 0 | 4 |
| Running Springs | 269 | 31 | 8 | 4 | 10 |
| Crestline | 262 | 53 | 3 | 1 | 2 |
| Yucca Valley | 239 | 5 | 5 | 12 | 22 |
| Landers | 228 | 14 | 9 | 6 | 21 |
| Wrightwood | 225 | 33 | 7 | 1 | 4 |
| Morongo Valley | 225 | 19 | 8 | 4 | 7 |
| Barstow | 221 | 12 | 4 | 5 | 6 |
| Oak Hills | 213 | 4 | 3 | 13 | 11 |
| Mentone | 203 | 17 | 8 | 8 | 12 |
| 29 Palms | 194 | 16 | 11 | 3 | 15 |
| Sausalito | 188 | 14 | 3 | 0 | 0 |
| Hesperia | 180 | 19 | 10 | 14 | 0 |
| Silver Lakes (Helend | 179 | 9 | 2 | 1 | 2 |
| Upland | 167 | 30 | 7 | 8 | 3 |
| San Anselmo | 159 | 1 | 6 | 0 | 11 |
| Sugarloaf | 158 | 33 | 8 | 0 | 16 |
| Chino | 138 | 11 | 3 | 13 | 3 |
| Newberry Springs | 122 | 3 | 3 | 0 | 0 |
| Rialto | 117 | 16 | 3 | 6 | 2 |
| Yucca Mesa | 102 | 4 | 2 | 2 | 5 |
| Greenbrae | 97 | 2 | 5 | 0 | 0 |
| Pioneertown | 95 | 4 | 5 | 2 | 11 |
| Helendale | 93 | 7 | 0 | 0 | 0 |
| Highland | 89 | 21 | 3 | 1 | 2 |
| Fawnskin | 88 | 16 | 5 | 3 | 6 |
| Point Reyes Station | 85 | 3 | 2 | 0 | 0 |
| Twin Peaks | 84 | 9 | 7 | 0 | 7 |
| Tiburon | 84 | 1 | 1 | 0 | 1 |
| Green Valley Lake | 84 | 17 | 4 | 0 | 2 |
| Colton | 77 | 6 | 3 | 8 | 0 |
| Ontario | 75 | 12 | 5 | 3 | 0 |
| Redlands | 74 | 10 | 1 | 0 | 1 |
| Devore | 67 | 8 | 1 | 3 | 1 |
| San Moritz | 66 | 18 | 1 | 0 | 0 |
| Chino Outside | 62 | 7 | 1 | 3 | 0 |
| Yermo | 61 | 2 | 2 | 2 | 0 |
| Wonder Valley | 61 | 1 | 3 | 1 | 8 |
| Vly Of Enchantment | 60 | 6 | 2 | 0 | 0 |
| Arrow Bear Pk | 60 | 7 | 0 | 0 | 4 |
| Fairfax | 59 | 1 | 3 | 0 | 4 |
| Bolinas | 59 | 3 | 4 | 0 | 0 |
| Twentynine Palms | 57 | 1 | 0 | 0 | 0 |
| Stinson Beach | 56 | 2 | 3 | 0 | 1 |
| Inverness | 54 | 0 | 1 | 1 | 0 |
| Arrowhead Villas | 54 | 7 | 5 | 4 | 4 |
| Johnson Valley | 53 | 2 | 0 | 1 | 0 |
| El Mirage | 52 | 2 | 1 | 0 | 0 |
| Oro Grande | 52 | 2 | 1 | 3 | 0 |
| Cedarpines Park | 50 | 6 | 2 | 0 | 0 |
| Lake Erwin | 48 | 11 | 1 | 0 | 0 |
| Big Bear Lake | 48 | 9 | 1 | 1 | 2 |
| Rancho Cucamonga | 47 | 13 | 2 | 0 | 3 |
| Cedar Glen | 46 | 6 | 2 | 0 | 0 |
| Grandview | 45 | 2 | 1 | 1 | 0 |
| Dillon Beach | 43 | 1 | 1 | 0 | 0 |
| Adelanto | 42 | 0 | 2 | 0 | 0 |
| Altadena | 41 | 0 | 14 | 0 | 4 |
| Lytle Creek | 37 | 6 | 0 | 1 | 0 |
| Lenwood | 36 | 6 | 0 | 0 | 0 |
| Forest Falls | 35 | 4 | 4 | 2 | 0 |
| Sunfair | 33 | 0 | 4 | 0 | 2 |
| Hinkley | 33 | 0 | 2 | 0 | 0 |
| Baker | 32 | 0 | 0 | 0 | 1 |
| Woodacre | 32 | 1 | 1 | 0 | 0 |
| Angelus Oaks | 32 | 5 | 1 | 0 | 0 |
| Forest Knolls | 31 | 1 | 1 | 0 | 0 |
| Oak Glen | 31 | 0 | 2 | 1 | 0 |
| Trona | 31 | 7 | 1 | 0 | 0 |
| Baldwin Lake | 27 | 5 | 0 | 1 | 0 |
| Rim Forest | 26 | 3 | 1 | 0 | 0 |
| West Cajon Valley | 26 | 0 | 1 | 0 | 0 |
| Flamingo Heights | 26 | 1 | 2 | 0 | 0 |
| Yucaipa | 25 | 1 | 0 | 0 | 1 |
Statewide totals by work type
| Work type | Permits (12 mo) |
|---|---|
| Reroofs | 21,173 |
| Remodels & additions | 20,603 |
| ADUs | 10,288 |
| Pools & spas | 5,141 |
| Water heaters | 5,057 |
| Repipes | 1,533 |
| New construction | 1,855 |
City reports
Common questions
How many homes replaced their roof in California this year?
21,173 reroof permits were issued across the 103 cities tracked here in the last 12 months. Reroofs are consistently the largest single category of residential work.
Where does this data come from?
Directly from each city's own permit system — the same public records the city publishes. We normalize them into one format, categorize the work type, and refresh nightly. No estimates or modeled figures.
Can I cite these numbers?
Yes, freely, with attribution to oneforminsurance.com. There's a machine-readable version at /reports/data.json if you'd rather work with the raw figures.
Why do permit counts matter?
A permit is a dated, public record that a homeowner just invested in their property. For insurance producers, a new roof often changes what a home qualifies for. For real estate agents, owners investing in additions, ADUs, and remodels are signalling their plans for the property.
Work these permits. OneForm turns any of these lists into print-ready postcards with per-address QR tracking, under your own name and license number — so you know which addresses responded.
Request access