Overview
| residential_sf | lot-size-encoded (R-20, R-6, R-5, R-4, R-3, R-2, R-1 = min lot sf in thousands); RE = Rural Estate (1-acre); RP = Resource Protection (10-acre); NP-8/10/15 = Neighborhood Preservation minimum lot in thousands sf |
|---|---|
| residential_mf | density-encoded (MF-18, MF-25, MF-33, MF-40, MF-50, MF-65 = max du/ac) |
| residential_mixed | lot-size-encoded (RM-4, RM-5, RM-6 = min lot sf in thousands) |
| commercial | letter-code + index (NC, C-1, C-2, C-3, C-3R, C-3NA, D) |
| office | letter-code + intensity (O-1, O-1.5, O-2) |
| industrial | letter-code (I-1/L, I-2) |
| special | letter-code (ERZD, Q, MR) |
San Antonio Chapter 35 UDC is a conventional euclidean code with explicit use-separation — SF/MF/commercial/office/industrial districts with a dimensional table (Table 310-1) and an separate height table (§35-517). The MF family uses true density-encoding (MF-18 → 18 du/ac max), which is distinctive and textbook-cited. The code is use-separated rather than form-based and does not meet the rewrite-in-flight or hybrid-pd thresholds. Overlay system is unusually rich — AHOD (airport), RIO 1-7 (river improvement), MLOD 1-4 (military lighting — SA-specific, covering Lackland / Fort Sam Houston / JBSA-Randolph / Camp Bullis), Missions Historic (UNESCO World Heritage Site), HS/HL (historic), UC/GC/MC/PC (corridors), IDZ (infill flexibility), and EP (event parking). The IDZ overlay provides form-based flexibility on a site-by-site basis but is invoked via rezoning application, not by default, so does not flip the baseline classification. Key San Antonio quirks: (1) density-encoded MF naming; (2) both MINIMUM AND MAXIMUM front setbacks enforced in most residential districts; (3) MLOD-1/2/3/4 lighting overlays unique to this city due to four JBSA installations; (4) Missions Historic overlay protects a UNESCO-inscribed cultural corridor — rare among US cities; (5) Military Reservation district (MR) explicitly cedes jurisdiction to federal/state per V.T.C.A. LGC §211.013.
Districts
| Code | Name | Category | Min lot | Height | Coverage | FAR | Du/ac | Parking | Setbacks F/S/R |
|---|---|---|---|---|---|---|---|---|---|
| RP | Resource Protection (10-acre) | residential | — | — | — | — | — | — | — / — / — |
| RE | Rural Estate (1-acre) | residential | — | — | — | — | — | — | — / — / — |
| R-20 | Rural Residential 20 (20,000 sf) | residential | — | — | — | — | — | — | — / — / — |
| R-6 | Single-Family — 6,000 sf | residential | — | — | — | — | — | — | — / — / — |
| R-5 | Single-Family — 5,000 sf | residential | — | — | — | — | — | — | — / — / — |
| R-4 | Single-Family — 4,000 sf | residential | — | — | — | — | — | — | — / — / — |
| R-3 | Small-Lot Single-Family — 3,000 sf | residential | — | — | — | — | — | — | — / — / — |
| R-2 | Small-Lot Single-Family (attached) — 3,000 sf | residential | — | — | — | — | — | — | — / — / — |
| R-1 | Small-Lot Single-Family (zero-lot) — 3,000 sf | residential | — | — | — | — | — | — | — / — / — |
| NP-8 | Neighborhood Preservation — 8,000 sf | residential | — | — | — | — | — | — | — / — / — |
| NP-10 | Neighborhood Preservation — 10,000 sf | residential | — | — | — | — | — | — | — / — / — |
| NP-15 | Neighborhood Preservation — 15,000 sf | residential | — | — | — | — | — | — | — / — / — |
| RM-6 | Residential Mixed — 6,000 sf | residential | — | — | — | — | — | — | — / — / — |
| RM-5 | Residential Mixed — 5,000 sf | residential | — | — | — | — | — | — | — / — / — |
| RM-4 | Residential Mixed — 4,000 sf | residential | — | — | — | — | — | — | — / — / — |
| MF-18 | Multi-Family — 18 du/ac | residential | — | — | — | — | — | — | — / — / — |
| MF-25 | Multi-Family — 25 du/ac | residential | — | — | — | — | — | — | — / — / — |
| MF-33 | Multi-Family — 33 du/ac | residential | — | — | — | — | — | — | — / — / — |
| MF-40 | Multi-Family — 40 du/ac | residential | — | — | — | — | — | — | — / — / — |
| MF-50 | Multi-Family — 50 du/ac | residential | — | — | — | — | — | — | — / — / — |
| MF-65 | Multi-Family — 65 du/ac | residential | — | — | — | — | — | — | — / — / — |
| NC | Neighborhood Commercial | commercial | — | — | — | — | — | — | — / — / — |
| C-1 | Light Commercial | commercial | — | — | — | — | — | — | — / — / — |
| C-2 | Commercial | commercial | — | — | — | — | — | — | — / — / — |
| C-3 | General Commercial | commercial | — | — | — | — | — | — | — / — / — |
| C-3R | General Commercial — Restricted (no alcohol sales) | commercial | — | — | — | — | — | — | — / — / — |
| C-3NA | General Commercial — No Alcohol | commercial | — | — | — | — | — | — | — / — / — |
| O-1 | Office | office | — | — | — | — | — | — | — / — / — |
| O-1.5 | Mid-Rise Office | office | — | — | — | — | — | — | — / — / — |
| O-2 | High-Rise Office | office | — | — | — | — | — | — | — / — / — |
| D | Downtown | mixed_use | — | — | — | — | — | — | — / — / — |
| I-1 | Light Industrial (L) | industrial | — | — | — | — | — | — | — / — / — |
| I-2 | Heavy Industrial | industrial | — | — | — | — | — | — | — / — / — |
| ERZD | Environmental Resource Zone (Edwards Aquifer Recharge) | special | — | — | — | — | — | — | — / — / — |
| Q | Quarry | special | — | — | — | — | — | — | — / — / — |
| MR | Military Reservation | special | — | — | — | — | — | — | — / — / — |
Confidence: confirmed partial under review not found
Overlays
Parcels in the vicinity of San Antonio International Airport (SAT) and Stinson Municipal Airport (SSF), and along approach/departure paths per FAA Part 77 imaginary surfaces. Triggered by proximity to airport reference points and runway centerlines.
Vicinity of the historic San Antonio Missions (Mission Concepción, Mission San José, Mission San Juan Capistrano, Mission Espada) — UNESCO World Heritage Site inscribed 2015. Geographic trigger follows Mission Reach of San Antonio River and associated view-protection corridors.
Properties adjacent to and near the San Antonio River and its improvements. Seven sub-districts (RIO-1 through RIO-7) map along different reaches — RIO-1 through RIO-3 along the central / downtown Riverwalk reach; RIO-4 through RIO-7 along museum / mission / southern reaches.
Named roadway corridors designated by ordinance. UC = Urban Corridor (dense urban arterials); GC = Gateway Corridor (city-edge approaches); MC = Metropolitan Corridor (regional arterials); PC = Preservation Corridor (heritage routes).
Proximity to the four JBSA installations — Lackland AFB (Kelly Field Annex, southwestern SA), Fort Sam Houston (central-east SA), JBSA-Randolph (northeastern Bexar County), and Camp Bullis (northern Bexar County, I-10 West corridor). Each sub-district has a distinct geographic footprint defined by installation-specific lighting / noise compatibility contours.
Individually-designated historic sites and districts citywide. Locally-designated historic landmarks (HL) and historic-significant buildings/districts (HS) mapped on SA Office of Historic Preservation inventory. SA has one of the largest locally-designated historic portfolios in Texas — King William, Monte Vista, Government Hill, Denver Heights, La Villita, Alamo Plaza, and many smaller districts.
Underutilized parcels within qualifying infill areas of the city; requires rezoning application to apply IDZ. Three intensity levels (Low, Medium, High) available at rezoning. Not auto-applied — invoked by applicant.
Special event facilities and venues requiring traffic/parking management. EP-1 applies around major venues (Alamodome, Freeman Coliseum, Frost Bank Center vicinity). Additional EP sub-districts may exist around stadiums and entertainment complexes.
FEMA SFHA (Zone A / AE / AO) per FIRM panels 48029C for Bexar County / San Antonio geography. Principal floodplain features: San Antonio River corridor (central), Salado Creek, Leon Creek, Medina River (southwestern), Cibolo Creek (northeastern). Substantial portions of southern / southeastern SA within SFHA.
State preemptions
Adopted building codes
Home rule; major cities on 2024 IBC
Click a code label to open its state-by-state adoption atlas.
Amendment history
| Date | Kind | Citation |
|---|---|---|
| 2026-04-19 | retrieved at | Research pass via prior IB565 / docsonline.sanantonio.gov primary source; Municode V1_URL_HINT attempted as SPA shell — retrieval_failure_reason: municode_js_spa |
| 2025-09-01 | effective | Texas SB 840 / SB 15 effective — state housing preemptions layered over Chapter 35 UDC |
| 2023-01-01 | effective | 234-amendment UDC update effective Jan 1, 2023 — most recent comprehensive overhaul of Chapter 35 |
| 2001-05-03 | adoption | Original UDC adopted by Ord. No. 93881, May 3, 2001 (Chapter 35 replacement of prior zoning ordinance) |
Quirks & notes
Formulas
Definitions
- height
- Measured from grade to highest point of structure; governed by §35-517 (NOT Table 310-1)
- lot_coverage
- Principal building footprint / lot area
- far
- Gross floor area / lot area
- du_ac
- Dwelling units per gross acre; density-encoded in MF district codes (MF-18 = 18 du/ac max, etc.)
- setback_front_min
- Minimum distance from front property line to nearest building face (Table 310-1 Column H)
- setback_front_max
- MAXIMUM allowable front setback — SA distinctive rule, Table 310-1 Column I — building must be within this max unless exception applies
- setback_side
- Distance from side property line (or from residential-adjacent side); Note 2 eliminates commercial side setbacks when not abutting residential
- setback_rear
- Rear property line to nearest building face; MF-to-SF adjacency imposes 40-ft rear (see quirks)
- parking
- Minimum spaces per DU; MF-40/50/65 structured-parking bonus per §35-310.07
- aod_height_cap
- FAA Part 77 imaginary surface height limit on AHOD parcels (supersedes base)
Capacity calculations
- max_footprint_sf
lot_area_sf * lot_coverage- max_gfa_sf
lot_area_sf * far- buildable_width_ft
lot_width_ft - setback_side_ft * 2- buildable_depth_ft
lot_depth_ft - setback_front_ft - setback_rear_ft- max_stories_approx
max_height_ft / 10- mf_density_from_code
max_du_ac literally encoded in district name (MF-18 → 18 du/ac)- mf_structured_parking_bonus
MF-40/50/65: +10% gross du/ac when all required parking is in structured garage; non-structured parking ≤ 20% of min spaces (§35-310.07)- mf_to_sf_adjacency
Rear setback = 40 ft when MF district abuts platted SF subdivision (IB565 Column K)
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
Retrieval failure: municode_js_spa
Research status
Publication gates
| primary url present | passed | source.primary_url = https://library.municode.com/tx/san_antonio/codes/unified_development_code (municode, authoritative); fallback source docsonline.sanantonio.gov/FileUploads/DSD/IB565.pdf captured in source.fallback_source. https://-prefixed, not aggregator. |
|---|---|---|
| no aggregator cited | passed | Profile scan clean — no zoneomics/steadily/siteplanguide/sitedesignguide/siteplancreator/propwire/zonara/unzoned references. All citations to Chapter 35 UDC §-references, IB565, FEMA FIRM, FAA Part 77, USAF JBSA AICUZ, UNESCO, Texas session laws, Census PEP. |
| confidence tags full form | passed | 48/48 confirmed base-district + overlay fields carry {value, status, citation} structure with §-reference or Table-reference. 11 partial fields carry explicit reason. 3 not_captured/not_found fields carry reason. No bare [confirmed] tokens. |
| overlays have parameters trigger confidence | passed | 9/9 overlays (AHOD, MH, RIO-1, UC, MLOD-1, HS, IDZ, EP-1, FP) have non-empty params[] (4-7 entries each), populated trigger, status in {confirmed, partial}, and citation. All 9 required overlay types represented: historic (MH, HS), floodplain (FP), environmental (ERZD via base district), airport (AHOD), military (MLOD), downtown (D district + IDZ High), corridor (RIO, UC/GC/MC/PC), affordable/bonus (SB 840 handled via preemption entry), and special-event (EP-1). |
| preempt section city specific | passed | state_preemptions_applicable[] has 3 entries (SB 840, SB 15, JBSA AICUZ federal_state_conflict) each with qualifying_condition_checked containing numeric inputs (city pop 1,495,295; county pop 2,059,530; vintage 2024 PEP; thresholds ≥150k / ≥300k / ≤4,000 sf). SB 840 arithmetic shows explicit threshold comparison. Federal overlay entry uses status: federal_state_conflict with federal_overlay_refs populated per FM-P discipline. Not link-stubs. |
Data quality
- §35-517 per-district height values retrieved as partial; full §-fetch needed
- MLOD sub-district lighting parameters partial — base framework confirmed
- EP-1 parking ratios partial
- RIO sub-district parameter differentiation partial (seven sub-districts confirmed, per-sub values not retrieved)
- R-2 / R-1 rear setback not captured
Known issues
Verification
| last_verified_at | 2026-04-19T00:00:00Z |
|---|---|
| verifier_specialist | spec-09 verification-pass |
| verifier_version | 1.0 |
| verification_result | passed |
| atomic_claims_checked | 62 |
| atomic_claims_confirmed | 48 |
| atomic_claims_partial | 11 |
| atomic_claims_inferred | 0 |
| atomic_claims_not_found | 3 |
| pass_rate | 0.952 |
| notes | 48 confirmed + 11 partial = 59 of 62 supported (95.2%). 3 not_found atoms are (a) per-district §35-517 height values (retrievable but not in IB565 Table 310-1 — flagged for UDC §-fetch follow-up), (b) R-2/R-1 rear setback values (not specified in IB565 row — attached/zero-lot products), (c) EP-1 sub-district parameters (existence confirmed, specific ratios partial). Pass threshold ≥ 95% met. v1 record had completeness 0.22 — this v2 pass documents 36 base districts (including NP-8/10/15 and MF-65 not in v1), 9 overlays (vs. 8 in v1 with EP-1 and Floodplain added separately), and 3 state-preemption entries (vs. 0 in v1). |
| narrative_ref | narratives/san-antonio-tx/fleet-20260419T210455-13.json |
Other cities in this state
Nearest-alphabetical profiles. Click through to compare zoning patterns side-by-side.