Overview
San Francisco is fundamentally Euclidean but with unusual layering: every parcel has both a base district (RH/RM/RC/RTO/NC/NCT/C/M/PDR/MUG/MUO/MUR/UMU/etc.) and a separate Height/Bulk District (40-X, 65-A, 130-E, 550-S, etc.). Named NCDs function as both base and overlay. RTO has no density cap by lot area — form-controlled. Many CA state preemptions apply; SF's own local ordinances are sometimes stricter than state minimum (e.g., parking). | naming_convention_raw=use-and-density-index ; sub_flags_raw=[layered-height-bulk-overlay, corridor-specific-NCDs, PDR-industrial-preservation, state-preemption-heavy] ; narrative_ref=zoning/narratives/san-francisco-ca/2a4169ef-6180-40a1-8472-203b63c4894f.json
- Height and Bulk District is a separate always-on overlay. Every parcel has a base district (RH-1, RM-4, C-3-O, etc.) AND a Height/Bulk District (40-X, 65-A, 130-E, 550-S). Heights are set by the Height/Bulk Map per §§260, 270 — NOT by the base district. A common modeling mistake is to read a max-height from the base district section, which does not exist. — [Planning Code §§260, 270, 271; Zoning Map Sectional Maps HT01-HT13]
- Front setback is context-driven (§132). Not a fixed numeric. Must match the two adjacent properties' front setbacks (averaged), with special rules for corner lots, lots with only one neighbor, and blocks without an established pattern. Any stated fixed front setback for an SF RH district is fabricated. — [Planning Code §132]
- Rear yard §134 applies uniformly across many district types: RH/RM/RC/RTO/NC/CMUO/MUG/MUO/MUR/RED/RED-MX/SPD/UMU/WMUG. Formula: 25% of lot depth or 15 ft, whichever is greater. This is unusual; most cities set rear yard per district. — [Planning Code §134]
+ 9 more in Quirks & notes
Districts
| Code | Name | Category | Min lot | Height | Coverage | FAR | Du/ac | Parking | Setbacks F/S/R |
|---|---|---|---|---|---|---|---|---|---|
| RH-1 | Residential House, One-Family | residential_single_family | — | —[3] | — | — | 1 du/lot (+ ADUs, + SB 9 where applicable)[4] | 0[5] | varies_by_site[1] / — / max(lot_depth * 0.25, 15)[2] |
| RH-1(D) | Residential House, One-Family with Detached Cottage | residential_single_family | — | —[8] | — | — | 1 du + detached accessory dwelling[9] | 0[10] | varies_by_site[6] / — / max(lot_depth * 0.25, 15)[7] |
| RH-2 | Residential House, Two-Family | residential_two_family | — | —[13] | — | — | 2 du/lot (+ ADUs)[14] | 0[15] | varies_by_site[11] / — / max(lot_depth * 0.25, 15)[12] |
| RH-3 | Residential House, Three-Family | residential_multi_family | — | —[18] | — | — | 3 du/lot (+ ADUs)[19] | 0[20] | varies_by_site[16] / — / max(lot_depth * 0.25, 15)[17] |
| RM-1 | Residential Mixed, Low Density | residential_multi_family | — | —[23] | — | — | 1 du per 800 sf lot area[24] | 0[25] | varies_by_site[21] / — / max(lot_depth * 0.25, 15)[22] |
| RM-2 | Residential Mixed, Moderate Density | residential_multi_family | — | —[28] | — | — | 1 du per 600 sf lot area[29] | 0[30] | varies_by_site[26] / — / max(lot_depth * 0.25, 15)[27] |
| RM-3 | Residential Mixed, Medium Density | residential_multi_family | — | —[33] | — | — | 1 du per 400 sf lot area[34] | 0[35] | varies_by_site[31] / — / max(lot_depth * 0.25, 15)[32] |
| RM-4 | Residential Mixed, High Density | residential_multi_family | — | —[38] | — | — | 1 du per 200 sf lot area[39] | 0[40] | varies_by_site[36] / — / max(lot_depth * 0.25, 15)[37] |
| RTO | Residential Transit-Oriented | residential_multi_family | — | —[43] | — | — | no lot-area density cap; form-controlled[44] | 0[45] | varies_by_site[41] / — / max(lot_depth * 0.25, 15)[42] |
| RC-3 | Residential-Commercial, Medium Density | mixed_use | — | —[47] | — | — | 1 du per 200 sf lot area[48] | 0[49] | — / — / max(lot_depth * 0.25, 15)[46] |
| RC-4 | Residential-Commercial, High Density | mixed_use | — | —[51] | — | — | 1 du per 125 sf lot area[52] | 0[53] | — / — / max(lot_depth * 0.25, 15)[50] |
| NC-1 | Neighborhood Commercial, Cluster | neighborhood_commercial | — | —[55] | — | — | — | 0[56] | — / — / max(lot_depth * 0.25, 15)[54] |
| NC-2 | Neighborhood Commercial, Small-Scale | neighborhood_commercial | — | —[58] | — | — | — | 0[59] | — / — / max(lot_depth * 0.25, 15)[57] |
| NC-3 | Neighborhood Commercial, Moderate-Scale | neighborhood_commercial | — | —[61] | — | — | — | 0[62] | — / — / max(lot_depth * 0.25, 15)[60] |
| NCT | Neighborhood Commercial Transit (generic + named) | neighborhood_commercial_transit | — | —[63] | — | — | — | — | — / — / — |
| C-2 | Community Business | commercial | — | —[64] | — | — | — | — | — / — / — |
| C-3-O | Downtown Office | downtown_commercial | — | —[65] | — | 9[66] | — | 0[67] | — / — / — |
| C-3-O(SD) | Downtown Office Special Development (Transbay) | downtown_commercial | — | —[68] | — | 6[69] | — | — | — / — / — |
| C-3-R | Downtown Retail | downtown_commercial | — | — | — | — | — | — | — / — / — |
| C-3-G | Downtown General | downtown_commercial | — | — | — | — | — | — | — / — / — |
| C-3-S | Downtown Support | downtown_commercial | — | — | — | — | — | — | — / — / — |
| UMU | Urban Mixed Use | mixed_use | — | —[70] | — | — | — | — | — / — / — |
| MUG | Mixed Use General | mixed_use | — | — | — | — | — | — | — / — / — |
| MUO | Mixed Use Office | mixed_use | — | — | — | — | — | — | — / — / — |
| MUR | Mixed Use Residential | mixed_use | — | — | — | — | — | — | — / — / — |
| PDR-1-B | Production, Distribution, Repair — Light Buffer | industrial | — | — | — | — | — | — | — / — / — |
| PDR-1-D | Production, Distribution, Repair — Design | industrial | — | — | — | — | — | — | — / — / — |
| PDR-1-G | Production, Distribution, Repair — General | industrial | — | — | — | — | — | — | — / — / — |
| PDR-2 | Production, Distribution, Repair — Lighter | industrial | — | — | — | — | — | — | — / — / — |
| SALI | Service, Arts, Light Industrial | industrial | — | — | — | — | — | — | — / — / — |
| M-1 | Light Industrial | industrial | — | — | — | — | — | — | — / — / — |
| M-2 | Heavy Industrial | industrial | — | — | — | — | — | — | — / — / — |
| DTR | Downtown Residential (DTR-SB, DTR-RH, DTR-TB) | residential_multi_family | — | — | — | — | — | — | — / — / — |
| WMUG | Western SoMa Mixed Use General | mixed_use | — | — | — | — | — | — | — / — / — |
| WMUO | Western SoMa Mixed Use Office | mixed_use | — | — | — | — | — | — | — / — / — |
| RED | Residential Enclave | residential_multi_family | — | — | — | — | — | — | — / — / — |
| RED-MX | Residential Enclave Mixed | mixed_use | — | — | — | — | — | — | — / — / — |
| SPD | South Park District | mixed_use | — | — | — | — | — | — | — / — / — |
| CMUO | Central SoMa Mixed Use Office | mixed_use | — | — | — | — | — | — | — / — / — |
| P | Public | public | — | — | — | — | — | — | — / — / — |
Confidence: confirmed partial under review not found
Overlays
Every parcel in SF has an assigned Height/Bulk District. 40-X is the most common low-density designation (40 ft max height, bulk category X)
Mapped corridor areas throughout SF: Polk Street (§723), Valencia Street (§726), Union Street (§725), Haight Street (§720.1), Castro Street (§715.1), Geary Boulevard (§720.2), Taraval Street (§728), West Portal Avenue (§730), Inner Clement Street (§718), Outer Clement Street (§719), Cortland Avenue, Cole Valley, Inner Balboa, Outer Balboa, 24th Street-Noe Valley, and more
Mission, Potrero Hill, Central Waterfront/Dogpatch, eastern SoMa — mapped in Eastern Neighborhoods Area Plan (2008)
Western SoMa Community Plan area (approximately Howard/4th/Division/12th Streets)
Market-Octavia Plan area (Market to Duboce, Octavia to Church); Upper Market NCT along Market St Octavia to Castro
Central SoMa Plan area (Market/2nd/Townsend/6th Streets)
Mission Bay North, Mission Bay South (ballpark area to Mariposa), and Pier 70 (Illinois to 20th) — mapped SUD boundaries
100+ individually designated landmarks and ~16 historic districts citywide (Alamo Square, Dogpatch, Webster Street, Liberty-Hill, Bush Street-Cottage Row, Blackstone Court, and others)
Downtown conservation districts: New Montgomery-Mission-2nd, Kearny-Market-Mason-Sutter, and others mapped in Article 11
Ocean Beach, Fort Funston, and adjacent properties west of the Great Highway within California Coastal Commission jurisdiction
Census tracts mapped by Planning Department as high-displacement-risk: Tenderloin, SoMa, Mission, Chinatown, Bayview, Excelsior, Visitacion Valley
All NC, NCT, NCD districts plus certain mixed-use districts (UMU, Upper Market)
State preemptions
Non-applicable laws (2)
Adopted building codes
Statewide mandatory minimum
Click a code label to open its state-by-state adoption atlas.
Quirks & notes
- Height and Bulk District is a separate always-on overlay. Every parcel has a base district (RH-1, RM-4, C-3-O, etc.) AND a Height/Bulk District (40-X, 65-A, 130-E, 550-S). Heights are set by the Height/Bulk Map per §§260, 270 — NOT by the base district. A common modeling mistake is to read a max-height from the base district section, which does not exist. — [Planning Code §§260, 270, 271; Zoning Map Sectional Maps HT01-HT13]
- Front setback is context-driven (§132). Not a fixed numeric. Must match the two adjacent properties' front setbacks (averaged), with special rules for corner lots, lots with only one neighbor, and blocks without an established pattern. Any stated fixed front setback for an SF RH district is fabricated. — [Planning Code §132]
- Rear yard §134 applies uniformly across many district types: RH/RM/RC/RTO/NC/CMUO/MUG/MUO/MUR/RED/RED-MX/SPD/UMU/WMUG. Formula: 25% of lot depth or 15 ft, whichever is greater. This is unusual; most cities set rear yard per district. — [Planning Code §134]
- PDR (Production, Distribution, Repair) industrial preservation is unique in California. PDR-1-B, PDR-1-D, PDR-1-G prohibit new housing entirely to protect industrial and arts land. No other major CA city has this explicit no-housing industrial zoning. — [Planning Code §210.3A]
- 20+ named Neighborhood Commercial Districts each with a parcel-specific Zoning Control Table (Article 7). No other US city approaches this level of corridor-specific use control. Projects in a named NCD must reference the specific NCD section, not the generic NC-1/2/3 table. — [Planning Code Article 7]
- RTO has no density cap by lot area — form-controlled (lot coverage, rear yard, height, open space). Unusual within a Euclidean framework; blurs the line with form-based codes. — [Planning Code §209.3]
- HOME-SF local density bonus layers on top of state §65915. Applicants choose pathway; local offers additional height but requires 30% affordable (vs. state minimum thresholds). — [Planning Code §328]
- Transferable Development Rights (TDR) in C-3 zones. Historic sites may sell unused FAR; receiving sites may build above base FAR up to a cap (C-3-O to 18.0; C-3-O(SD) Transbay to 27.0). Unique downtown capacity mechanism. — [Planning Code §128]
- Parking minimums eliminated citywide via Ordinance 181-18 (2018) — SF is stricter than state AB 2097. §151.1 removes parking minimums for most uses. No other major CA city eliminated parking minimums citywide before state law required it. — [Planning Code §151.1; Ordinance 181-18]
- SB 9 has narrow reach in SF. Article 10/11 historic districts (large) and very high fire hazard zones (Twin Peaks/Mount Davidson fringe) are carved out. Net applicability is a minority of RH-1 lots. — [Gov. Code §65852.21(a)(2)(E); Planning Code §207.1]
- Central SoMa jobs-housing linkage fee and Infrastructure Impact Fee added 2018; unique fee structure tying new office development to housing need and infrastructure capacity. — [Planning Code §§249.78, 329; Ordinance 296-18]
- West Side Rezoning (committed to HCD by January 2026) is pending. Sunset, Richmond, West Portal parcels require upzoning to meet RHNA. Failure to adopt jeopardizes Housing Element certification and would trigger Builder's Remedy. Monitor HCD status. — [SF Housing Element 2023 (HCD-certified 2023-01-31); HCD implementation commitments]
Formulas
Definitions
- height
- Height per §260 measured from grade to highest point of roof, governed by Height/Bulk District assigned to parcel (separate overlay, NOT set by base district)
- rear_yard
- Per §134: 25% of lot depth or 15 ft minimum, whichever greater; applies across RH/RM/RC/RTO/NC/CMUO/MUG/MUO/MUR/RED/RED-MX/SPD/UMU/WMUG
- front_setback
- Per §132: context-sensitive; must match adjacent buildings' front setbacks (averaged with special rules for corner/single-neighbor lots); NO fixed numeric for RH districts
- open_space
- Per §135: required useable open space per unit; private ≥300 sf/unit or shared ≥400 sf/unit for RH
- density
- Varies by district: RH = 1-3 du/lot (by type); RM = 1 du per 200-800 sf lot area; RC-3 = 1 du/200 sf; RC-4 = 1 du/125 sf; RTO = form-controlled (no lot-area density cap)
- far
- Applicable in C-3 and DTR districts; C-3-O base 9.0 (up to 18.0 with TDR); C-3-O(SD) Transbay base 6.0 up to 27.0 §124 §128
- bulk
- Per §270: alpha suffix on Height/Bulk designator specifies plan dimension max and diagonal dimension max above specified heights (categories X/A/B/C/D/E/F/G/S)
Capacity calculations
- rh_rear_yard_ft
max(lot_depth_ft * 0.25, 15)- rh1_max_units
1 primary unit + 1 ADU state-law + 1 ADU Local Program (in existing structure) + SB 9 split (if not historic/fire-hazard)- rm1_max_units_from_lot_area
lot_area_sf / 800- rm4_max_units_from_lot_area
lot_area_sf / 200- c3o_max_gfa_sf
lot_area_sf * 9.0 (base); lot_area_sf * 18.0 with TDR- c3o_sd_transbay_max_gfa_sf
lot_area_sf * 6.0 (base); up to lot_area_sf * 27.0 for qualifying tower sites
Massing explorer
Interactive 3D comparison across every district. Drag to orbit, scroll to zoom, use the slider to walk districts, and toggle applicable overlays in the right-side panel.
| District | Category | Height | FAR | Coverage | Setbacks | Parking | Density | Min lot | Overlays |
|---|
Sources & references
- [1] Planning Code §132 (match adjacent buildings, averaged)
- [2] Planning Code §134
- [3] Planning Code §§260, 270
- [4] Planning Code §209.1
- [5] Planning Code §151.1 (parking minimums eliminated citywide Ord. 181-18, 2018); further preempted near transit by AB 2097
- [6] Planning Code §132
- [7] Planning Code §134
- [8] Planning Code §§260, 270
- [9] Planning Code §209.1
- [10] Planning Code §151.1
- [11] Planning Code §132
- [12] Planning Code §134
- [13] Planning Code §§260, 270
- [14] Planning Code §209.1
- [15] Planning Code §151.1
- [16] Planning Code §132
- [17] Planning Code §134
- [18] Planning Code §§260, 270
- [19] Planning Code §209.1
- [20] Planning Code §151.1
- [21] Planning Code §132
- [22] Planning Code §134
- [23] Planning Code §§260, 270
- [24] Planning Code §209.2
- [25] Planning Code §151.1
- [26] Planning Code §132
- [27] Planning Code §134
- [28] Planning Code §§260, 270
- [29] Planning Code §209.2
- [30] Planning Code §151.1
- [31] Planning Code §132
- [32] Planning Code §134
- [33] Planning Code §§260, 270
- [34] Planning Code §209.2
- [35] Planning Code §151.1
- [36] Planning Code §132
- [37] Planning Code §134
- [38] Planning Code §§260, 270
- [39] Planning Code §209.2
- [40] Planning Code §151.1
- [41] Planning Code §132
- [42] Planning Code §134
- [43] Planning Code §§260, 270
- [44] Planning Code §209.3
- [45] Planning Code §151.1
- [46] Planning Code §134
- [47] Planning Code §§260, 270
- [48] Planning Code §209.4
- [49] Planning Code §151.1
- [50] Planning Code §134
- [51] Planning Code §§260, 270
- [52] Planning Code §209.4
- [53] Planning Code §151.1
- [54] Planning Code §134
- [55] Planning Code §§260, 270
- [56] Planning Code §151.1
- [57] Planning Code §134
- [58] Planning Code §§260, 270
- [59] Planning Code §151.1
- [60] Planning Code §134
- [61] Planning Code §§260, 270
- [62] Planning Code §151.1
- [63] Planning Code §§260, 270
- [64] Planning Code §§260, 270
- [65] Planning Code §§260, 270
- [66] Planning Code §124 (base); §128 (up to 18.0 with Transferable Development Rights)
- [67] Planning Code §151.1
- [68] Planning Code §§260, 270, 263.9
- [69] Planning Code §124 (base); up to 27.0 for qualifying Transbay towers via TDR/incentives §128, §263.9
- [70] Planning Code §§260, 270
Research status
Publication gates
| primary url present | passed | |
|---|---|---|
| no aggregator cited | passed | |
| confidence tags full form | passed | |
| overlays have parameters trigger confidence | passed | |
| preempt section city specific | passed |
Data quality
- Height/Bulk District assignments are parcel-specific and require Zoning Map lookup — not extracted into record (by design)
- Specific per-NCD use tables (23+ tables) summarized at overlay level, not expanded per NCD
- Mission Bay / Pier 70 per-block controls in Development Agreements — summarized, not expanded per block
- Inclusionary §415 sliding-scale rates by project type and Priority Equity Geography not extracted
Known issues
Verification
| last_verified_at | 2026-04-18T00:00:00Z |
|---|---|
| verifier_specialist | verification-pass |
| verifier_version | 1.0 |
| verification_result | passed |
| atomic_claims_checked | 58 |
| atomic_claims_passed | 56 |
| atomic_claims_failed | 0 |
| atomic_claims_flagged | 2 |
| flagged_claims | reason: Time-sensitive; HCD can revoke if West Side Rezoning commitments missed by Jan 2026; reason: Parcel-level data requires Zoning Map lookup, not in Planning Code text |
| narrative_ref | zoning/narratives/san-francisco-ca/2a4169ef-6180-40a1-8472-203b63c4894f.json |
Other cities in this state
Nearest-alphabetical profiles. Click through to compare zoning patterns side-by-side.