We ran RunEnvelope’s zoning engine on 858,284 tax lots and kept the privately owned ones with real room for a building. 7,503 sites have at least 20,000 square feet of as-of-right room for housing and are built to half of it or less.
holding 527.3M square feet of room for housing between them.
The engine’s unit count for the largest apartment scheme on each site, minus the 57,295 homes already there. A ceiling, not a forecast.
2,164 sites, ahead of Manhattan with 1,748. The Bronx has the most room overall on lots above the floor: 171.9M square feet.
| Borough | Lots analyzed | Room for housing | Sites | Room on sites | More homes on sites |
|---|---|---|---|---|---|
| Manhattan | 2,988 | 157.8M sf | 1,748 | 105.2M sf | 125,820 |
| The Bronx | 3,978 | 171.9M sf | 2,164 | 139.3M sf | 160,886 |
| Brooklyn | 3,451 | 104.3M sf | 1,221 | 86.5M sf | 104,891 |
| Queens | 3,740 | 157.7M sf | 1,650 | 138.9M sf | 165,152 |
| Staten Island | 1,482 | 60.4M sf | 720 | 57.3M sf | 42,885 |
| All five boroughs | 15,639 | 652.3M sf | 7,503 | 527.3M sf | 599,634 |
Lots analyzed: privately owned, not condominium or co-op, with at least 20,000 square feet of unused floor area in the engine’s cache. A site is one of those with at least 20,000 square feet of room for housing, built to no more than 50% of the largest housing scheme. Method.
Our soft sites study found 5,463 sites using the City’s PLUTO file alone. The engine could assess 4,615 of them. On those, PLUTO’s residential FAR implies 289.4M square feet of unused floor area. The engine’s residential-only schemes, without affordability programs, find 297.5M. That is within 3%: where the two measure the same thing, they agree.
The gap opens once the engine is allowed what the zoning actually permits on those lots. Counting schemes that mix homes with shops or a community facility, the room rises to 363.4M square feet, 25% more than PLUTO implies, before any affordability program. With the City of Yes affordable and senior housing schemes it is 402.8M square feet, 39% more.
RunEnvelope precomputes its zoning analysis for every tax lot in PLUTO 26v2. For each lot we take the largest scheme with homes the engine found and subtract the floor area PLUTO records as built. Public and institutional land, condominiums and co-ops, lots with buildings but no recorded floor area, and lots whose largest scheme exceeds the district’s published maximum FAR are counted and set aside.
Figures cover lots with at least 20,000 square feet of unused floor area. Every one of them was computed by the current engine on the current PLUTO release. Smaller lots are not summed: many outside Manhattan still carry results from older engine versions, which we found to be wrong in places. Each borough page has the full method, the counts at each step and a CSV.
Computed October 25, 2026 against PLUTO 26v2 by scripts_seo/borough_research.py. Reuse with attribution and a link to this page.