About ZipNest
ZipNest is a quiet, independent reference site for people thinking carefully about where to live in the United States. We build a single, honest profile for every US ZIP code — not a flashy real-estate marketplace, not an opinionated “best places to live” ranking, just the underlying numbers presented in a way you can actually skim.
Why this site exists
Most ZIP code lookup tools are built for one of two audiences: marketers who want to scrape contact lists, or real-estate platforms trying to funnel you toward a transaction. We wanted a site you could land on, read, and leave smarter — with a clean URL for every neighborhood you might want to bookmark or share.
Where the numbers come from
- SimpleMaps US ZIPs (basic tier, free) — one CSV covering 33,000+ ZIP codes with city, state, county, latitude/longitude, population, density, and time zone. This is the spine of our index.
- US Census Bureau American Community Survey (ACS) 2023 5-Year table-based Summary Files — pipe-delimited bulk files downloaded directly from
www2.census.gov/programs-surveys/acs/summary_file/2023/table-based-SF/data/5YRData/(no API key, no login): table B19013 (median household income), table B25077 (median home value, owner-occupied), and table B25064 (median gross rent). These are US federal government works; under 17 U.S.C. §105 such works are not subject to US copyright, and the bulk-download directory itself is an unauthenticated public listing with no click-through terms. We could not surface a separate, explicit “data reuse” policy page this round (a documented gap, not a claim that one doesn’t exist). - HUD USPS ZIP–CBSA crosswalk — used during seeding to validate city and county mappings against the most recent USPS quarterly file.
How the ACS income / home value / rent figures are joined
Each ZIP’s figures are matched to exactly one row in each ACS file by an exact GEOID join: GEOID = "860Z200US" + zip5 (e.g. ZIP 01001 joins row 860Z200US01001). No fuzzy or name-based matching is used. Rows carrying a Census jam/sentinel code (negative placeholder values used when a median can’t be computed, e.g. a ZCTA with too few housing units) are treated as missing for that one field and rendered as “—”, never estimated or interpolated. Margins of error (90% confidence, as published) are shown alongside the estimate whenever the file provides a valid one.
Coverage as of this update: the ACS 2023 5-year files contain 33,772 ZCTA rows. Of the site’s 33,788 ZIP pages, 33,769 matched a ZCTA row exactly; 19 ZIP pages (mostly Virgin Islands, Guam, American Samoa, Northern Mariana Islands, and a few PO-box-only codes) have no corresponding ZCTA in the ACS files and are left exactly as before. A further 3 ZCTA rows in the ACS files have no matching ZIP page on this site and were simply not used.
Of the 33,769 matched pages, 33,425 were updated with real ACS figures this round. The remaining 344 matched pages were deliberately left untouched: these ZIP pages (mostly high-population urban ZIPs) already displayed non-dash income/home-value numbers before this update, with no on-page note of their vintage or source, and those numbers do not exactly match the newly-downloaded 2023 5-year figures (they are close in most cases, consistent with an earlier ACS vintage, but we could not confirm this from the live site alone). Rather than overwrite one unverified number with another or silently blend two vintages on the same page, we left those 344 pages exactly as they were pending a dedicated review, and flagged this for the site owner. Within each of the 33,425 updated pages, individual fields (income, home value, rent) are filled independently — a field is left as “—” on a matched page if that specific ACS table has a jam/sentinel value for that ZCTA, even when the other two fields have valid data.
What we deliberately did not add this round
- Median age and total housing units on ZIP pages remain “—” — those ACS tables were not part of this update and we are not backfilling them from any other source.
- City / county / metro / state hub “average income” and “average home value” cards remain “—”. A true average of ZCTA-level medians is not itself a figure the Census Bureau publishes, and computing one from the ZIP-level rows would be an invented statistic, not a sourced one — so we left those cards alone rather than manufacture an aggregate.
- The four 1–10 “Affordability / Opportunity / Vibrancy / Walkability” scores on every ZIP page are unchanged. They are self-labelled on-page as heuristics (“simple, transparent heuristics derived from the same data shown above”) but no formula or weighting is published anywhere on the site, and they predate this update — they are not derived from the new ACS income/home-value/rent figures. We have not verified or endorsed these scores; treat them independently of the sourced ACS figures directly above them on each page.
What we don’t do
We don’t collect personal information, we don’t sell leads, and we don’t play SEO games with synthetic location pages that have nothing to say. Every ZIP profile is generated from the same underlying schema; if a number is missing for one ZIP, it’s missing because the source data is missing or was intentionally withheld (see above), not because we’re hiding it behind a paywall.
We do show contextual advertising on most pages. Those slots are clearly marked, and they fund the maintenance of the dataset and the server.
Corrections
If a ZIP profile shows the wrong city, county, coordinates, or ACS figure, please write in with: the page URL, the field you believe is wrong, what you believe the correct value is, and a link to a public source that supports the correction. See our contact page for how to reach us. We read every message, even if we can’t reply to all of them.