San Francisco Preconstruction Activity Index
Building-permit applications by neighborhood and permit type, with issuance timing.
Two permit systems
San Francisco has been moving routine permit types out of the Department of Building Inspection's legacy system and into PermitSF, a new online portal published as a separate open dataset. The legacy data alone would show June–August applications at 78.6; from the September 2026 edition the index counts both systems. Over-the-counter fire-alarm and fire-sprinkler work is left out of both years, because PermitSF now issues it as a fire permit rather than a building permit. Leaving out stopped-and-refiled PermitSF applications and solar and energy-storage applications as well, the index would read 110.7.
| Moved to PermitSF | Permit types |
|---|---|
| February 10, 2026 | In-kind door, window and siding replacements; fire alarms; fire sprinklers |
| June 22, 2026 | Reroofing; signs and awnings |
| July 14, 2026 | Electrical; plumbing and mechanical |
| September 14, 2026 | Kitchen and bath remodeling |
| Applications, June–August | 2025 | 2026 |
|---|---|---|
| Legacy DBI system, all applications | 6,283 | 4,937 |
| Less over-the-counter fire-alarm and fire-sprinkler work | −541 | −66 |
| Plus PermitSF building permits | 0 | 1,621 |
| Index universe | 5,742 | 6,492 |
How the two systems were checked against each other is set out in the methodology.
Applications by permit category
By permit category, over-the-counter permits were 92.8% of June–August 2026 applications and rose 15.7% (5,211 to 6,027); type 3 additions, alterations and repairs, the category routed through full plan review, fell 7.1% (254 to 236). These are the city's permit categories, not project sizes. Over-the-counter permits are reviewed and approved at the permit counter, and they include large commercial interiors: 81 legacy over-the-counter applications in June–August 2026 declared $1 million or more (63 a year earlier), against 23 type 3 applications (22 a year earlier). Declared values are applicants' own estimates, present on 78% of legacy over-the-counter applications (88% a year earlier), and PermitSF records are not included. An index is not shown where the year-earlier count is under 50.
| Permit category, June–August | 2025 | 2026 | Index | Share of 2026 |
|---|---|---|---|---|
| Over-the-counter permits | 5,211 | 6,027 | 115.7 | 92.8% |
| Type 3: additions, alterations or repairs | 254 | 236 | 92.9 | 3.6% |
| Signs and awnings | 249 | 107 | 43.0 | 1.6% |
| Type 9 (solar and energy storage) | 7 | 93 | — | 1.4% |
| Types 1, 2, 5 and 6: new construction, demolition, grading | 21 | 29 | — | 0.4% |
| All building-permit applications | 5,742 | 6,492 | 113.1 | 100% |
August applications by permit type
| Category | Aug 2025 | Aug 2026 |
|---|---|---|
| Over-the-counter alterations (DBI system) | 1,741 | 1,349 |
| Plan-reviewed additions/alterations/repairs | 84 | 86 |
| Sign - erect | 54 | 1 |
| Permit type 9 (no published definition; descriptions are solar and energy-storage work) | 7 | 30 |
| Wall or painted sign | 4 | 0 |
| Demolitions | 3 | 7 |
| New construction (wood frame) | 3 | 5 |
| New construction | 2 | 2 |
| Grade/quarry/fill/excavate | 1 | 1 |
| Door, window and siding replacements (PermitSF) | 0 | 270 |
| Reroofing (PermitSF) | 0 | 364 |
| Signs and awnings (PermitSF) | 0 | 28 |
Issuance timing
Over-the-counter permits are reviewed and approved at the permit counter, usually within days, while type 3 permits are routed through full plan review, which takes months, so the two are timed separately. Times are elapsed calendar days from filing to issuance among permits issued in August; they include the applicant's own time and leave out applications still waiting. Over-the-counter permits are measured across both permit systems, sign and awning permits excluded. Corrected September 28, 2026: the September 2026 edition's figures included 12 PermitSF sign permits and read 39.6% the same day.
| Measure (permits issued in August) | 2025 | 2026 |
|---|---|---|
| Over-the-counter permits, median days | 0 days | 2 days |
| Over-the-counter permits issued same day | 57.5% | 39.9% |
| Type 3 permits (full plan review), median | 172 days | 206 days |
Declared value, type 3 permits (full plan review)
| Percentile | Aug 2025 | Aug 2026 |
|---|---|---|
| 25th | $31,451 | $40,000 |
| Median | $149,810 | $150,000 |
| 75th | $366,844 | $420,000 |
| Filings | 84 | 86 |
| Declared at $1 (placeholder) | 7 | 9 |
| Median excluding $1 (sensitivity) | $161,254 | $175,000 |
Neighborhoods
All 41 San Francisco Analysis Neighborhoods are listed. 29 filed more applications than a year earlier. The mover rule requires at least 50 applications in the prior-year window, so the 8 smallest areas cannot qualify however they moved. One of them, Presidio (1 to 3), has the largest percentage increase in the city. Read any "N of 33" comparison as covering only the screened areas.
| Neighborhood | 2025 | 2026 | Index | Meets 50-application screen | Passes mover rule |
|---|---|---|---|---|---|
| Sunset/Parkside | 504 | 581 | 115.3 | yes | yes |
| Financial District/South Beach | 474 | 559 | 117.9 | yes | yes |
| West of Twin Peaks | 375 | 486 | 129.6 | yes | yes |
| Mission | 319 | 363 | 113.8 | yes | yes |
| Outer Richmond | 319 | 330 | 103.4 | yes | — |
| Noe Valley | 241 | 248 | 102.9 | yes | — |
| Inner Sunset | 228 | 247 | 108.3 | yes | yes |
| Castro/Upper Market | 227 | 241 | 106.2 | yes | — |
| Pacific Heights | 216 | 240 | 111.1 | yes | yes |
| Bayview Hunters Point | 201 | 195 | 97.0 | yes | — |
| Marina | 201 | 226 | 112.4 | yes | yes |
| Bernal Heights | 173 | 258 | 149.1 | yes | — |
| Inner Richmond | 170 | 155 | 91.2 | yes | — |
| Excelsior | 160 | 189 | 118.1 | yes | — |
| Haight Ashbury | 140 | 145 | 103.6 | yes | — |
| Glen Park | 119 | 96 | 80.7 | yes | — |
| Potrero Hill | 115 | 133 | 115.7 | yes | yes |
| Chinatown | 114 | 101 | 88.6 | yes | — |
| Oceanview/Merced/Ingleside | 111 | 131 | 118.0 | yes | — |
| Nob Hill | 110 | 142 | 129.1 | yes | yes |
| Russian Hill | 109 | 146 | 133.9 | yes | — |
| Lone Mountain/USF | 108 | 91 | 84.3 | yes | — |
| Presidio Heights | 105 | 143 | 136.2 | yes | yes |
| Hayes Valley | 102 | 119 | 116.7 | yes | — |
| South of Market | 99 | 125 | 126.3 | yes | yes |
| Outer Mission | 95 | 98 | 103.2 | yes | — |
| Western Addition | 80 | 102 | 127.5 | yes | yes |
| Portola | 79 | 75 | 94.9 | yes | — |
| Tenderloin | 71 | 70 | 98.6 | yes | — |
| North Beach | 70 | 111 | 158.6 | yes | yes |
| Mission Bay | 62 | 43 | 69.4 | yes | — |
| Twin Peaks | 54 | 73 | 135.2 | yes | yes |
| Seacliff | 52 | 61 | 117.3 | yes | — |
| Visitacion Valley | 49 | 75 | 153.1 | — | — |
| Lakeshore | 46 | 43 | 93.5 | — | — |
| Japantown | 32 | 37 | 115.6 | — | — |
| Treasure Island | 7 | 8 | 114.3 | — | — |
| McLaren Park | 2 | 1 | 50.0 | — | — |
| Golden Gate Park | 1 | 1 | 100.0 | — | — |
| Lincoln Park | 1 | 1 | 100.0 | — | — |
| Presidio | 1 | 3 | 300.0 | — | — |
Full table: SF neighborhoods (CSV)
Row-level extracts
The rows behind every table on this page, re-pulled from the city's open-data API with the same filters the edition used, for anyone who wants to check a figure against the source. A fresh pull differs from the frozen edition by a handful of records because the city back-dates its own file; the reconciliation extract lists every headline figure both ways, with the delta, rather than hiding it. Same CC BY 4.0 licence as the tables.
Extracts: legacy-system applications, June to August, both years (fire-work flag) (CSV) · PermitSF building permits, June to August, with neighborhood (CSV) · legacy-system permits issued in August, both years, with days filed to issued (CSV) · electrical permits by month (companion series) (CSV) · PermitSF building permits issued in August, with days submitted to issued (CSV) · electrical permits filed in August, both years (legacy system) (CSV) · PermitSF electrical permits filed in August (CSV) · duplicate audit: every PermitSF permit flagged, with the application it matched (CSV) · fire-filter audit: every legacy application the two keyword rules treat differently (CSV) · reconciliation: published figure, fresh pull, delta (CSV) · manifest: pull time, dataset, exact query per file (CSV)