A parcel’s zoningcode tells you it’s in R-4. It doesn’t tell you what R-4 allows, and R-4 means something different from one town to the next. The new zoningurl attribute closes that gap: every parcel whose zoning district we can verify now links to that district’s page on ZoneOptics, with its permitted uses, lot sizes, setbacks and height limits, each cited to the section of the adopted ordinance it came from. About 73 million parcels in 1,524 counties, across all 50 states and DC, carry one today.
One code, three ordinances
Leesburg, Virginia has an R-4 district. So does Loudoun County, which surrounds the town, and so does Abington Township, Pennsylvania. They’re three different districts, written by three different governments:
R-4 | Town of Leesburg, VA | Loudoun County, VA | Abington Township, PA |
|---|---|---|---|
| District | Single-Family Residential | Single Family Residential (legacy) | Medium-High-Density Residential |
| Lot size | 10,000 sq ft per unit | No minimum; 1 unit per 10,000 sq ft | 7,500 sq ft |
| Lot width (min) | 75 ft | 50 ft | 50 ft |
| Front yard | 15 ft (20 ft at a garage entrance) | 25 ft | 20 ft |
| Side / rear yard | 10 ft / 20 ft | 9 ft / 25 ft | 10 ft / 25 ft |
| Height (max) | 35 ft | 40 ft | 35 ft |
| Parcels | 2,882 | 3,580 | 13,739 |
zoningurl | …/5144984.R-4 | …/51107.R-4 | …/4209100156.R-4 |
Figures for an interior single-family lot, from each ordinance’s dimensional table: Leesburg Zoning Ordinance §5.4.3; Loudoun County Zoning Ordinance Table 2.02.05.02-1, suburban option (the county stopped letting R-4 expand after December 13, 2023); Abington Township Zoning Ordinance §602, Figure 6.1.
Each parcel’s zoningurl points at the right one. The map at the top of this post shows what that looks like on the ground: inside the dashed Leesburg town line, parcels link to the town’s ordinance (green, with the town’s R-4 in dark green); outside it, they link to Loudoun County’s (amber, with the county’s PD-H3 neighborhoods east of town in dark amber).
zoningcode.link/4209100156.R-4 leads: Abington Township’s R-4 on ZoneOptics, its standards read from Figure 6.1 of the township ordinance, with a link to the source chapter.Finding whose ordinance applies
The hard part isn’t the code; it’s knowing whose code it is. A county isn’t enough: inside city limits the city’s ordinance governs, and across much of the Northeast and Midwest, townships zone their own land. For each parcel we take the first of these that applies:
- The incorporated city, town or village the parcel sits in, keyed by its 7-digit Census place GEOID. Leesburg is
5144984. - The township or town, where that county subdivision is a government. Abington Township is
4209100156, its 10-digit county subdivision GEOID. Townships that leave zoning to their county (1,385 of them, in Illinois, Indiana, Kansas, Minnesota, Missouri, Nebraska, North Dakota, South Dakota and Wisconsin) fall through to the next step. - The county, keyed by its 5-digit GEOID. Loudoun County is
51107.
Census-designated places don’t count, because they have no government. Ashburn, Virginia is one, so all 15,429 Ashburn parcels in our data link to Loudoun County’s ordinance. The rule matters at scale: in a sample of 22,600 parcels across 58 counties, 41% sat inside an incorporated place, where the county’s ordinance doesn’t apply.
Verified, or empty
We only write a zoningurl when we can name the jurisdiction that governs the parcel, ZoneOptics covers that jurisdiction, and the parcel’s code is a district there. Nothing falls back. If a city isn’t on ZoneOptics yet, its parcels don’t borrow the county’s link, because the county’s R-1 is not the city’s R-1. Values that aren’t districts, such as SEE ZONING, NO VALUE or a bare number from a tax roll, get no link either. A NULL zoningurl is coverage we haven’t reached yet, never a link to the wrong rules.
The link also carries the district the way its ordinance spells it. Loudoun’s tax roll records Ashburn’s planned neighborhoods as PDH-4; the county ordinance calls the district PD-H4, so the link is 51107.PD-H4. In Lower Merion Township, Pennsylvania, LDR-4 links as the ordinance’s LDR4.
zoningcode.link: the link is the address
Every zoningurl is a zoningcode.link address: the jurisdiction’s GEOID, a dot, and the zone code.
$ curl -sI https://zoningcode.link/5144984.R-4 HTTP/2 302 location: https://zoneoptics.us/localities/5144984/districts/R-4
There’s no database behind the redirect and no lookup table: the ID decodes straight to the ZoneOptics page, so you can build a link yourself from a jurisdiction’s GEOID and a code, and one can’t break because a mapping table was rebuilt. Characters a URL can’t carry are percent-encoded, so Yakima County, Washington’s R-10/5 is 53077.R-10%2F5. The redirect is a 302 rather than a permanent 301, so if a district is corrected, the same link follows it.
More examples
| Parcel in | Ordinance | zoningcode | zoningurl |
|---|---|---|---|
| Leesburg, VA | Town of Leesburg (incorporated town) | B-2 | zoningcode.link/5144984.B-2 |
| Ashburn, VA | Loudoun County (Ashburn is a CDP) | PDH-4 | zoningcode.link/51107.PD-H4 |
| Abington Township, PA | Abington Township (zoning township) | R-4 | zoningcode.link/4209100156.R-4 |
| Lower Merion Township, PA | Lower Merion Township (ordinance spelling) | LDR-4 | zoningcode.link/4209144976.LDR4 |
| Upper Merion Township, PA | Upper Merion Township (zoning township) | R-2 | zoningcode.link/4209179136.R-2 |
Where to find it
- Bulk downloads and the Web API.
zoningurlis column 95 in the data content reference, a nullable string next tozoningcodeandzoningdesc. - The data explorer. In the explorer’s county sample table every
zoningurlis a live link: pick a county, scroll to the zoning columns, and click through. - By hand. Any
zoningurlworks in a browser, a spreadsheet cell or a GIS attribute table. It’s a plain URL.
Coverage grows as ZoneOptics reads more ordinances. If you need zoning links for a city or county that doesn’t have them yet, get in touch.