Overview
Residential districts use SR (Suburban Residential) and TR (Traditional Residential) prefixes with intensity suffixes: C=Consistent (lower density, uniform setbacks), V=Varied (mixed housing types), U=Urban (highest density), R=Rustic, P=Planned. Numbers 1-4 indicate ascending intensity within each sub-type. NOT lot-size-encoded or density-encoded — names describe character type. Commercial/mixed-use districts use descriptive abbreviations (NMX, TSS, CC, DC). Special districts use letter codes (A, CN, PR, PD).
- Municode library.municode.com returns HTTP 403 Cloudflare-gated for automated access. Primary research required ZoningTable.pdf (cityofmadison.com) and Legistar File 86650 PDF for dimensional data.
- Side-yard setbacks in most residential districts distinguish 1-story from 2-story — a building-type-varying standard that must be stored as variant arrays.
- Rear setbacks in residential districts are formula-based (lesser of percentage of lot depth or fixed minimum), not fixed numeric values. These cannot be reduced to a single setback_rear_ft number without losing precision.
+ 6 more in Quirks & notes
Districts
| Code | Name | Category | Min lot | Height | Coverage | FAR | Du/ac | Parking | Setbacks F/S/R |
|---|---|---|---|---|---|---|---|---|---|
| SR-C1 | Suburban Residential – Consistent 1 | res_sf | 8,000 sf[4] | 35 ft[5] | 0.5[6] | —[7] | [{'variant': 'range', 'range': {'min': 7, 'max': 14}}][8] | — | 30[1] / [{'variant': '1-story', 'value': 6}, {'variant': '2-story', 'value': 7}][2] / —[3] |
| SR-C2 | Suburban Residential – Consistent 2 | res_sf | 6,000 sf[12] | 35 ft[13] | 0.5[14] | —[15] | [{'variant': 'range', 'range': {'min': 8, 'max': 17}}][16] | — | 30[9] / [{'variant': '1-story', 'value': 6}, {'variant': '2-story', 'value': 7}][10] / —[11] |
| SR-C3 | Suburban Residential – Consistent 3 | res_sf | 6,000 sf[20] | 35 ft[21] | 0.6[22] | —[23] | [{'variant': 'range', 'range': {'min': 8, 'max': 17}}][24] | — | [{'variant': 'SF-detached', 'value': 30}, {'variant': 'two-unit', 'value': 25}, {'variant': 'twin', 'value': 25}][17] / [{'variant': '1-story', 'value': 5}, {'variant': '2-story', 'value': 6}][18] / —[19] |
| SR-V1 | Suburban Residential – Varied 1 | res_mf | [{'variant': 'SF-detached', 'value': 6000}, {'variant': 'two-unit', 'value': 6000}, {'variant': 'twin', 'value': 3000, 'note': 'per du'}, {'variant': 'MF-3-8-units', 'value': 1500, 'note': 'per du'}, {'variant': 'SF-attached-3-4-unit', 'value': 1500, 'note': 'per du'}] sf[28] | [{'variant': 'SF-detached', 'value': 35}, {'variant': 'SF-attached-3-4-unit', 'value': 40}, {'variant': 'MF-3-8-units', 'value': 40}] ft[29] | 0.6[30] | —[31] | [{'variant': 'range', 'range': {'min': 8, 'max': 29}}][32] | — | 25[25] / [{'variant': 'SF-1-story', 'value': 5}, {'variant': 'SF-2-story', 'value': 6}, {'variant': 'MF', 'value': 6, 'note': '6 ft / 15 ft total'}][26] / —[27] |
| SR-V2 | Suburban Residential – Varied 2 | res_mf | [{'variant': 'SF-detached', 'value': 6000}, {'variant': 'MF-3-24-units', 'value': 1500, 'note': 'per du'}, {'variant': 'SF-attached', 'value': 1500, 'note': 'per du'}] sf[36] | [{'variant': 'SF-detached', 'value': 35}, {'variant': 'MF-by-right', 'value': 40}, {'variant': 'MF-conditional-gt24', 'value': 52}] ft[37] | 0.6[38] | —[39] | [{'variant': 'range', 'range': {'min': 8, 'max': 29}}][40] | — | 25[33] / [{'variant': 'SF-1-story', 'value': 5}, {'variant': 'SF-2-story', 'value': 6}, {'variant': 'MF', 'value': 10}][34] / —[35] |
| TR-R | Traditional Residential – Rustic | res_sf | — | — | — | — | [{'variant': 'range', 'range': {'min': 4, 'max': 8}}][41] | — | — / — / — |
| TR-C1 | Traditional Residential – Consistent 1 | res_sf | 6,000 sf[45] | 35 ft[46] | 0.5[47] | —[48] | [{'variant': 'range', 'range': {'min': 8, 'max': 17}}][49] | — | 20[42] / [{'variant': '1-story', 'value': 6}, {'variant': '2-story', 'value': 7}][43] / —[44] |
| TR-C2 | Traditional Residential – Consistent 2 | res_sf | 4,000 sf[53] | 35 ft[54] | 0.65[55] | —[56] | [{'variant': 'range', 'range': {'min': 10, 'max': 21}}][57] | — | 20[50] / [{'variant': '1-story', 'value': 5}, {'variant': '2-story-or-more', 'value': 6}, {'variant': 'lot-width-lt-50', 'note': '10% of lot width'}][51] / —[52] |
| TR-C3 | Traditional Residential – Consistent 3 | res_sf | 3,000 sf[61] | 35 ft[62] | 0.75[63] | —[64] | [{'variant': 'range', 'range': {'min': 14, 'max': 29}}][65] | — | 15[58] / 5[59] / 20[60] |
| TR-C4 | Traditional Residential – Consistent 4 | res_sf | 4,000 sf[69] | 35 ft[70] | 0.65[71] | —[72] | [{'variant': 'range', 'range': {'min': 10, 'max': 32}}][73] | — | 20[66] / [{'variant': '1-story', 'value': 5}, {'variant': '2-story', 'value': 6}, {'variant': 'lot-width-lt-50', 'note': '10% lot width'}][67] / —[68] |
| TR-V1 | Traditional Residential – Varied 1 | res_mf | [{'variant': 'SF-detached', 'value': 3000}, {'variant': 'two-unit', 'value': 3000}, {'variant': 'twin', 'value': 1500, 'note': 'per du'}, {'variant': 'three-four-unit', 'value': 1500, 'note': 'per du'}, {'variant': 'SF-attached', 'value': 1500, 'note': 'per du'}] sf[77] | [{'variant': 'SF-detached', 'value': 35}, {'variant': 'two-unit', 'value': 35}, {'variant': 'three-four-unit', 'value': 40}, {'variant': 'SF-attached', 'value': 40}] ft[78] | 0.7[79] | —[80] | [{'variant': 'range', 'range': {'min': 14, 'max': 43}}][81] | — | 20[74] / [{'variant': 'SF-1-story', 'value': 5}, {'variant': 'SF-2-story', 'value': 6}, {'variant': 'lot-width-lt-50', 'note': '10% lot width'}][75] / —[76] |
| TR-V2 | Traditional Residential – Varied 2 | res_mf | [{'variant': 'SF-detached', 'value': 3000}, {'variant': 'MF-3-12-units', 'value': 1500, 'note': 'per du'}, {'variant': 'SF-attached', 'value': 1500, 'note': 'per du'}] sf[85] | [{'variant': 'SF-detached', 'value': 35}, {'variant': 'MF-3-12-units', 'value': 40}, {'variant': 'MF-gt12-cond', 'value': 40}] ft[86] | 0.7[87] | —[88] | [{'variant': 'range', 'range': {'min': 14, 'max': 43}}][89] | — | 20[82] / [{'variant': 'SF-1-story', 'value': 5}, {'variant': 'SF-2-story', 'value': 6}, {'variant': 'MF', 'value': 10}][83] / —[84] |
| TR-U1 | Traditional Residential – Urban 1 | res_mf | [{'variant': 'SF-detached', 'value': 3000}, {'variant': 'MF-5-24-units', 'value': 750, 'note': 'per du'}, {'variant': 'SF-attached', 'value': 1000, 'note': 'per du'}, {'variant': 'MF-gt24-cond', 'value': 750, 'note': 'per du'}] sf[93] | [{'variant': 'SF-detached', 'value': 35}, {'variant': 'SF-MF-by-right', 'value': 40}, {'variant': 'MF-5-24-by-right', 'value': 52}, {'variant': 'MF-gt24-cond', 'value': 65}] ft[94] | 0.75[95] | —[96] | [{'variant': 'range', 'range': {'min': 14, 'max': 58}}][97] | — | 15[90] / [{'variant': 'SF-1-story', 'value': 5}, {'variant': 'SF-2-story', 'value': 6}, {'variant': 'MF', 'value': 10}][91] / —[92] |
| TR-U2 | Traditional Residential – Urban 2 | res_mf | [{'variant': 'three-four-unit', 'value': 3000}, {'variant': 'MF-5-36-units', 'value': 350, 'note': 'per du'}, {'variant': 'SF-attached', 'value': 800, 'note': 'per du'}, {'variant': 'MF-gt36-cond', 'value': 350, 'note': 'per du'}] sf[101] | [{'variant': 'MF-by-right', 'value': 52}, {'variant': 'MF-gt36-cond', 'value': 78}] ft[102] | 0.75[103] | —[104] | [{'variant': 'range', 'range': {'min': 14, 'max': 124}}][105] | — | 15[98] / [{'variant': 'SF-1-story', 'value': 5}, {'variant': 'SF-2-story', 'value': 6}, {'variant': 'MF', 'value': 10}][99] / —[100] |
| TR-P | Traditional Residential – Planned | res_mf | — | — | — | — | [{'variant': 'range', 'range': {'min': 15, 'max': 72}}][106] | — | — / — / — |
| LMX | Limited Mixed-Use | mu | —[110] | 35 ft[111] | —[112] | —[113] | —[114] | — | [{'variant': 'curb-gte-15ft', 'value': 0}, {'variant': 'curb-lt-15ft', 'value': 5}][107] / [{'variant': 'curb-gte-15ft', 'value': 0}, {'variant': 'curb-lt-15ft', 'value': 5}][108] / —[109] |
| NMX | Neighborhood Mixed-Use | mu | 500 sf[118] | 40 ft[119] | 0.75[120] | —[121] | 87[122] | — | [{'variant': 'curb-gte-15ft', 'value': 0}, {'variant': 'curb-lt-15ft', 'value': 5}][115] / [{'variant': 'standard', 'value': 0}, {'variant': 'window-within-6ft', 'value': 5}][116] / 20[117] |
| TSS | Traditional Shopping Street | mu | 350 sf[126] | 40 ft[127] | 0.85[128] | —[129] | 124[130] | — | [{'variant': 'curb-gte-15ft', 'value': 0}, {'variant': 'curb-lt-15ft', 'value': 5}][123] / [{'variant': 'standard', 'value': 0}, {'variant': 'window-within-6ft', 'value': 5}][124] / —[125] |
| CC-T | Commercial Corridor – Transitional | mu | — | — | — | —[133] | 87[134] | — | [{'variant': 'curb-gte-15ft', 'value': 0}, {'variant': 'curb-lt-15ft', 'value': 5}][131] / 10[132] / — |
| CC | Commercial Center | com | — | — | — | — | 58[135] | — | — / — / — |
| RMX | Regional Mixed-Use | mu | — | — | — | — | -1[136] | — | — / — / — |
| MXC | Mixed-Use Center | mu | — | —[140] | 0.85[141] | — | —[142] | — | [{'variant': 'curb-gte-15ft', 'value': 0}, {'variant': 'curb-lt-15ft', 'value': 5}][137] / —[138] / —[139] |
| THV | Tiny House Village | spec | — | 25 ft[143] | — | — | — | — | — / — / — |
| DR1 | Downtown Residential 1 | res_mf | 3,000 sf[144] | — | — | — | — | — | — / — / — |
| DR2 | Downtown Residential 2 | res_mf | 3,000 sf[145] | — | — | — | — | — | — / — / — |
| UOR | Urban Office Residential | mu | — | — | — | — | -1[146] | — | — / — / — |
| UMX | Urban Mixed-Use | mu | — | — | — | — | -1[147] | — | — / — / — |
| DC | Downtown Core | cbd | — | — | — | — | -1[148] | — | — / — / — |
| TE | Traditional Employment | off | — | — | — | — | 21[149] | — | — / — / — |
| SE | Suburban Employment | off | — | — | — | — | 21[150] | — | — / — / — |
| SEC | Suburban Employment Center | off | — | — | — | — | — | — | — / — / — |
| EC | Employment Campus | off | — | — | — | — | 29[151] | — | — / — / — |
| IL | Industrial – Limited | ind | — | -1 ft[152] | — | — | — | — | — / — / — |
| IG | Industrial – General | ind | — | -1 ft[153] | — | — | — | — | — / — / — |
| A | Agricultural | ag | — | -1 ft[154] | — | — | —[155] | — | — / — / — |
| UA | Urban Agriculture | ag | — | 25 ft[156] | — | — | — | — | — / — / — |
| CN | Conservancy | spec | — | — | — | — | — | — | — / — / — |
| PR | Parks and Recreation | spec | — | — | — | — | — | — | — / — / — |
| AP | Airport | spec | — | — | — | — | — | — | — / — / — |
| ME | Nonmetallic Mineral Extraction | spec | — | -1 ft[157] | — | — | — | — | — / — / — |
| MC | Mission Camp | spec | — | 25 ft[158] | — | — | — | — | — / — / — |
| CI | Campus Institutional | spec | — | — | — | — | — | — | — / — / — |
| PD | Planned Development | spec | — | — | — | — | — | — | — / — / — |
| PMHP | Planned Mobile Home Park | spec | — | — | — | — | [{'variant': 'range', 'range': {'min': 10, 'max': 12}}][159] | — | — / — / — |
Confidence: confirmed partial under review not found
Overlays
Properties within the TOD Overlay boundary, which encompasses areas close to Metro Transit routes with frequent service (BRT corridor and selected high-frequency routes). Shown on Official Zoning Map.
| min_stories_nonresidential | 2[160] |
|---|---|
| max_front_setback_ft | 20[161] |
| parking_minimum_eliminated | 1[162] |
| auto_areas_street_prohibition | 1[163] |
| primary_entrance_facing_street | 1[164] |
| density_bonus_by_base_district | —[165] |
Mapped wellhead protection areas around municipal water supply wells, as shown on the Wellhead Protection Overlay map. Shown in City Assessor Property Look-up.
| restricted_uses | —[166] |
|---|
Mapped wetland areas as delineated on the Wetland Overlay map. Regulates development in wetlands per Wisconsin §281.31 and NR 117.
| purpose | —[167] |
|---|
Properties within mapped FEMA floodplain boundaries. Regulates development to prevent obstruction of floodwater flow and prevent increases in regional flood height.
| purpose | —[168] |
|---|
Mapped boundary covering portions of the city. Establishes permitted and conditional uses that override the permitted and conditional uses in the base zoning district for alcohol-licensed premises.
| use_override | —[169] |
|---|
Properties within designated historic districts (Mansion Hill HIST-MH, Third Lake Ridge HIST-TL, University Heights HIST-UH, Marquette Bungalows HIST-MB, First Settlement HIST-FS) or individually designated landmarks (HIST-L). Shown on City Landmarks Map.
| demolition_review | 1[170] |
|---|---|
| exterior_alteration_standards | —[171] |
State preemptions
Adopted building codes
Modified as WI Uniform Dwelling Code
Click a code label to open its state-by-state adoption atlas.
Amendment history
| Date | Kind | Citation |
|---|---|---|
| 2026-05-27 | retrieved at | Research session — ZoningTable.pdf and Legistar File 86650 retrieved |
| 2026-03-13 | supplement effective | City of Madison Zoning District Summary, March 13, 2026 — most recent official summary document; retrieved 2026-05-27 |
| 2013-01-01 | codification start | Chapter 28 comprehensive rewrite — euclidean code adopted 2013 |
Quirks & notes
- Municode library.municode.com returns HTTP 403 Cloudflare-gated for automated access. Primary research required ZoningTable.pdf (cityofmadison.com) and Legistar File 86650 PDF for dimensional data.
- Side-yard setbacks in most residential districts distinguish 1-story from 2-story — a building-type-varying standard that must be stored as variant arrays.
- Rear setbacks in residential districts are formula-based (lesser of percentage of lot depth or fixed minimum), not fixed numeric values. These cannot be reduced to a single setback_rear_ft number without losing precision.
- Downtown heights are governed by the Downtown Height Map rather than fixed story or foot limits. DC, UOR, UMX, DR1, DR2 all reference the map.
- Wisconsin Stat. §66.1015 struck down Madison's inclusionary zoning ordinance (Regency West Apartments LLC v. City of Madison, 2007 WI App 32). Madison has not re-enacted IZ.
- TR-R (§28.052) and TR-P (§28.053) dimensional tables could not be retrieved: Municode Cloudflare-gated and elaws.us returned HTTP 503. Story counts and density ranges confirmed from ZoningTable.pdf.
- TOD overlay eliminates parking minimums and adds 2-story minimum for non-residential buildings along BRT/high-frequency transit corridors (January 2023 adoption).
- Legistar File 86650 (2024 amendment) removed bedroom cap for ADUs, increased max ADU size to 1,000 sf, and expanded flexibility for two- and three-unit building arrangements.
- HIST suffix appended to base zoning code for properties in designated historic districts or with landmark status. Chapter 41 governs — separate from Chapter 28.
Formulas
Definitions
- height
- Grade to roof peak or highest structural point. §28.134(1)(b). Stories counted per chapter 28 definition.
- lot_coverage
- Building footprint / lot area (principal structure). §28.031. Fraction, not percent.
- far
- Not codified as explicit FAR in residential districts. Downtown height governed by Downtown Height Map.
- du_ac
- Density controlled via minimum lot area per dwelling unit type. Range in ZoningTable reflects intensity gradient within district.
- setback_front
- Front lot line to nearest building face. §28.031.
- setback_side
- Side lot line to nearest building face. Note: 1-story and 2-story setbacks differ in most residential districts per Legistar File 86650.
- setback_rear
- In residential districts: lesser of percentage of lot depth or fixed minimum. §28.031.
- parking
- Parking minimums eliminated in TOD overlay areas. Outside TOD, Table 28I-3 governs. Not extracted — marked partial.
- adu_max_size
- 1,000 sq ft max (Legistar File 86650, §28.151(f)). No bedroom cap post-2026 amendment.
- adu_owner_occupancy
- No owner-occupancy requirement per Legistar File 86650 amendment.
Capacity calculations
- max_footprint_sf
lot_area_sf * lot_coverage- max_units_from_lot_area
floor(lot_area_sf / min_lot_area_per_unit)
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] §28.035(2)
- [2] §28.035(2)
- [3] §28.035(2)
- [4] §28.035(2)
- [5] §28.035(2)
- [6] §28.035(2)
- [7] n
- [8] §ZoningTable-2026-03-13
- [9] §28.036(2)
- [10] §28.036(2)
- [11] §28.036(2)
- [12] §28.036(2)
- [13] §28.036(2)
- [14] §28.036(2)
- [15] n
- [16] §ZoningTable-2026-03-13
- [17] §28.037(2)
- [18] §28.037(2)
- [19] §28.037(2)
- [20] §28.037(2)
- [21] §28.037(2)
- [22] §28.037(2)
- [23] n
- [24] §ZoningTable-2026-03-13
- [25] §28.039(2)
- [26] §28.039(2)
- [27] §28.039(2)
- [28] §28.039(2)
- [29] §28.039(2)
- [30] §28.039(2)
- [31] n
- [32] §ZoningTable-2026-03-13
- [33] §28.040(2)
- [34] §28.040(2)
- [35] §28.040(2)
- [36] §28.040(2)
- [37] §28.040(2)
- [38] §28.040(2)
- [39] n
- [40] §ZoningTable-2026-03-13
- [41] §ZoningTable-2026-03-13
- [42] §28.042(2)
- [43] §28.042(2)
- [44] §28.042(2)
- [45] §28.042(2)
- [46] §28.042(2)
- [47] §28.042(2)
- [48] n
- [49] §ZoningTable-2026-03-13
- [50] §28.043(2)
- [51] §28.043(2)
- [52] §28.043(2)
- [53] §28.043(2)
- [54] §28.043(2)
- [55] §28.043(2)
- [56] n
- [57] §ZoningTable-2026-03-13
- [58] §28.043(2)-TR-C3
- [59] §28.043(2)-TR-C3
- [60] §28.043(2)-TR-C3
- [61] §28.043(2)-TR-C3
- [62] §28.043(2)-TR-C3
- [63] §28.043(2)-TR-C3
- [64] n
- [65] §ZoningTable-2026-03-13
- [66] §28.045(2)
- [67] §28.045(2)
- [68] §28.045(2)
- [69] §28.045(2)
- [70] §28.045(2)
- [71] §28.045(2)
- [72] n
- [73] §ZoningTable-2026-03-13
- [74] §28.047(2)
- [75] §28.047(2)
- [76] §28.047(2)
- [77] §28.047(2)
- [78] §28.047(2)
- [79] §28.047(2)
- [80] n
- [81] §ZoningTable-2026-03-13
- [82] §28.048(2)
- [83] §28.048(2)
- [84] §28.048(2)
- [85] §28.048(2)
- [86] §28.048(2)
- [87] §28.048(2)
- [88] n
- [89] §ZoningTable-2026-03-13
- [90] §28.050(2)
- [91] §28.050(2)
- [92] §28.050(2)
- [93] §28.050(2)
- [94] §28.050(2)
- [95] §28.050(2)
- [96] n
- [97] §ZoningTable-2026-03-13
- [98] §28.051(2)
- [99] §28.051(2)
- [100] §28.051(2)
- [101] §28.051(2)
- [102] §28.051(2)
- [103] §28.051(2)
- [104] n
- [105] §ZoningTable-2026-03-13
- [106] §ZoningTable-2026-03-13
- [107] §28.063(3)
- [108] §28.063(3)
- [109] §28.063(3)
- [110] n
- [111] §28.063(3)
- [112] §28.063(3)
- [113] n
- [114] §28.063
- [115] §28.064(3)
- [116] §28.064(3)
- [117] §28.064(3)
- [118] §28.064(3)
- [119] §28.064(3)
- [120] §28.064(3)
- [121] n
- [122] §ZoningTable-2026-03-13
- [123] §28.065(3)
- [124] §28.065(3)
- [125] §28.065(3)
- [126] §28.065(3)
- [127] §28.065(3)
- [128] §28.065(3)
- [129] n
- [130] §ZoningTable-2026-03-13
- [131] §28.067(3)
- [132] §28.067(3)
- [133] n
- [134] §ZoningTable-2026-03-13
- [135] §ZoningTable-2026-03-13
- [136] §ZoningTable-2026-03-13
- [137] §28.066(5)
- [138] §28.066(5)
- [139] §28.066(5)
- [140] §28.066(5)
- [141] §28.066(5)
- [142] §28.066
- [143] §ZoningTable-2026-03-13
- [144] §ZoningTable-2026-03-13
- [145] §ZoningTable-2026-03-13
- [146] §ZoningTable-2026-03-13
- [147] §ZoningTable-2026-03-13
- [148] §ZoningTable-2026-03-13
- [149] §ZoningTable-2026-03-13
- [150] §ZoningTable-2026-03-13
- [151] §ZoningTable-2026-03-13
- [152] §ZoningTable-2026-03-13
- [153] §ZoningTable-2026-03-13
- [154] §ZoningTable-2026-03-13
- [155] §ZoningTable-2026-03-13
- [156] §ZoningTable-2026-03-13
- [157] §ZoningTable-2026-03-13
- [158] §ZoningTable-2026-03-13
- [159] §ZoningTable-2026-03-13
- [160] §28.098
- [161] §28.098
- [162] §28.098
- [163] §28.098
- [164] §28.098
- [165] §28.098
- [166] §28.097
- [167] §28.096
- [168] §28.095
- [169] §28.093
- [170] §Ch.41
- [171] Ch.41
Research status
Publication gates
| primary url present | passed | code_source = https://library.municode.com/wi/madison/codes/code_of_ordinances?nodeId=COORMAWIVOIICH20--31_CH28ZOCOOR — HTTPS, not an aggregator, direct city code URL on Municode |
|---|---|---|
| no aggregator cited | passed | Full-text scan: no Zoneomics, Steadily, SitePlanGuide, or other aggregator domain in any field. Sources: library.municode.com, cityofmadison.com, madison.legistar.com, docs.legis.wisconsin.gov |
| confidence tags full form | passed | All confirmed fields carry §-section citations: c§28.035(2), c§28.036(2), c§28.037(2), c§28.039(2), c§28.040(2), c§28.042(2), c§28.043(2), c§28.045(2), c§28.047(2), c§28.048(2), c§28.050(2), c§28.051(2), c§28.063(3), c§28.064(3), c§28.065(3), c§28.066(5), c§28.067(3), c§28.098, c§ZoningTable-2026-03-13, cCh.41. Partial fields use 'p' code with explicit retrieval_failure_reason. |
| overlays have parameters trigger confidence | passed | All 6 overlays have: name, code, type, trigger, params (at least one param object), confidence. TOD params include 4 confirmed parameters. Partial params carry retrieval_failure_reason. |
| preempt section city specific | passed | WI is not in active-preemption list (CA/TX/FL/OR/WA/CO/MN/MT/UT/AZ/NJ/CT). Gate 5 passes. Two WI-specific statutes documented with city-specific qualifying conditions: §66.1015 (IZ prohibition, applied — Regency West case 2007) and §66.1019 (housing codes). Both entries have qualifying_condition_checked with specific case citation and qualifying_condition_source. |
Data quality
- TR-R dimensional table (§28.052) not retrieved
- TR-P dimensional table (§28.053) not retrieved
- Parking table 28I-3 not extracted for any district
- Downtown height map not digitized (DC/UOR/UMX/DR1/DR2 heights all partial)
- CC/RMX/TE/SE/EC/SEC/IL/IG dimensional tables not extracted
- Historic district/landmark overlay detailed standards (Chapter 41) not extracted
Known issues
Other cities in this state
Nearest-alphabetical profiles. Click through to compare zoning patterns side-by-side.