Every ZIP code in the United States, with weather, radar, trivia and the numbers behind it. Five digits since 1963!

ZIP stands for Zone Improvement Plan. The codes went live on July 1, 1963.The lowest ZIP code is 00501 — the IRS in Holtsville, New York.The highest ZIP code is 99950, in Ketchikan, Alaska.Type 07734 into a calculator and turn it upside down: hELLO. It is Keansburg, New Jersey.12345 belongs to one company: General Electric in Schenectady, New York.The first digit is a region: 0 is New England and New Jersey, 9 is the West Coast, Alaska and Hawaii.Mr. ZIP, the cartoon mailman, was the mascot that sold the idea to America.ZIP+4 arrived in 1983 and can narrow a ZIP down to one side of one block.A ZIP code is a mail route, not a place: plenty of them cross county and even state lines.Play ZIP Hunt: guess the secret ZIP code of the day in six tries.
zipcodes.pro — DOWNLOAD

Free US ZIP code database

Every US ZIP code — all 41,711 of them, including PO-box-only and military codes — with its town, state, county and FIPS code, coordinates, population and telephone area codes. One row per ZIP code, as CSV, JSON or SQLite. Free for any use, commercial included, under CC BY 4.0. Data release 2026-10-12.

CSV

UTF-8, comma separated, header row. Opens in Excel, Google Sheets and Numbers.

Download · 5.1 MB

us-zip-codes-2026-10-12.csv
SHA-256 20cdde4d27abacb0…

JSON

An array of objects, one per ZIP code. Lists are arrays, empty values null.

Download · 15.2 MB

us-zip-codes-2026-10-12.json
SHA-256 be7dcf5fc2fd61d3…

SQLite

A ready-to-query database: table zips, indexed by state, county and city, with the field dictionary and licence inside.

Download · 8.0 MB

us-zip-codes-2026-10-12.sqlite
SHA-256 0b579a2a537aaab4…

Always the newest release, at addresses that do not change: https://zipcodes.pro/download/us-zip-codes.csv, https://zipcodes.pro/download/us-zip-codes.json, https://zipcodes.pro/download/us-zip-codes.sqlite. Also here: LICENSE.txt, FIELDS.csv (the field dictionary), SOURCES.csv and checksums. Files are served with open CORS, so a browser app can fetch them directly.

What the rows look like

zipcitystatecounty_namelatlngpopulationarea_codes
10001New YorkNYNew York County40.750649-73.99729830511212|646|917|332
60629ChicagoILCook County41.775414-87.711487108324773|312|872
30024SuwaneeGAGwinnett County34.063485-84.091188067470|678|943|770
00601AdjuntasPRAdjuntas Municipio18.180555-66.74996116669939|787
99950KetchikanAKKetchikan Gateway Borough55.3422-131.6478907
96201APO APAP

A blank is a value no source publishes for that ZIP code, never a zero: a ZIP code that only serves PO boxes has no residents counted, and a military code has no county or fixed location.

Fields

ColumnTypeFilledMeaning
zip text 41,711 Five-digit ZIP code, zero padded (00601 stays 00601). Never empty.
city text 41,711 The town the mail is addressed to (GeoNames' name for the ZIP code).
state text 41,711 Two-letter USPS code. Military codes are AA, AE or AP, read from the ZIP prefix as USPS sorts them.
state_name text 41,711 State, territory or military region name.
type text 41,711 standard (has a census tabulation area, so street delivery), po_box, unique, military, or unknown (a PO-box-only or single-organisation ZIP that public data cannot tell apart).
county_fips text 41,171 Five-digit FIPS code of the county holding most of the ZIP's land. Empty for military codes and a few territory ZIPs.
county_name text 41,171 Name of county_fips.
county_fips_all text 41,171 Every county the ZIP touches, largest share first, separated by |. A ZIP code can cross county lines.
lat number 41,202 Latitude, WGS84. A Census internal point for ZIPs with a tabulation area (always inside it), GeoNames otherwise. Empty for military codes.
lng number 41,202 Longitude, WGS84. As lat.
coord_source text 41,202 census (Gazetteer internal point) or geonames.
is_zcta 0/1 41,711 1 if the Census Bureau tabulates the ZIP as a ZIP Code Tabulation Area. If 0, population and areas are empty by construction.
parent_zcta text 7,325 For a ZIP with no tabulation area, the ZCTA its point falls inside. Its figures describe that area, not this ZIP.
population integer 33,772 American Community Survey 5-year estimate for the ZCTA. Empty means not tabulated, never zero.
land_sqmi number 33,791 Land area of the ZCTA in square miles (Census Gazetteer).
water_sqmi number 33,791 Water area of the ZCTA in square miles.
density_per_sqmi number 33,772 population / land_sqmi.
area_codes text 39,128 Telephone area codes of the town, most numbers first, separated by |. From NANPA's rate centres, by town, not by ZIP. Empty where the town has no matched rate centre.

"Filled" counts the rows with a value, out of 41,711. In the JSON, county_fips_all and area_codes are arrays; in the CSV and SQLite they are separated by |. ZIP codes are text, so 00601 keeps its leading zeros; when opening the CSV in Excel, import the zip column as text.

Licence and credit

The database is licensed under the Creative Commons Attribution 4.0 International licence. Copy it, ship it inside your product, modify it, sell what you build with it. The one condition is credit. Please use:

ZIP code data from zipcodes.pro (https://zipcodes.pro/download), CC BY 4.0. Includes U.S. Census Bureau data (public domain) and GeoNames (CC BY 4.0).

On a web page or in a README, a link is the credit we ask for:

ZIP code data from <a href="https://zipcodes.pro/download">zipcodes.pro</a> (<a href="https://creativecommons.org/licenses/by/4.0/">CC BY 4.0</a>)

Census Bureau files are public domain. GeoNames, which names the towns, is CC BY 4.0 as well, and the credit above covers it. NANPA publishes its numbering records without licence terms; they are cited as the source of the area codes.

Sources

SourceVintageLicenceRetrieved
Census Gazetteer ZCTA file 2024 Gazetteer Public domain (U.S. Census Bureau) 2026-10-12
Census 2020 ZCTA-to-County relationship file 2020 relationship file Public domain (U.S. Census Bureau) 2026-10-12
Census Gazetteer county file 2024 Gazetteer Public domain (U.S. Census Bureau) 2026-10-12
Census 2020 Gazetteer county file 2020 Gazetteer Public domain (U.S. Census Bureau) 2026-10-12
Census American Community Survey 5-year estimates ACS 5-year 2024 Public domain (U.S. Census Bureau) 2026-10-12
GeoNames US postal codes rolling daily export CC BY 4.0 2026-10-12
GeoNames postal codes (PR, VI, GU, AS, MP, MH, FM, PW) rolling daily export CC BY 4.0 2026-10-12
NANPA NPA (area code) database file of 2026-10-10 Public numbering records (NANPA, under FCC contract); no licence terms stated 2026-10-12
NANPA Central Office Code assignments (all states, utilized) file of 2026-10-10 Public numbering records (NANPA, under FCC contract); no licence terms stated 2026-10-12

Using it

# Python / pandas: keep the ZIP codes as text
import pandas as pd
zips = pd.read_csv("https://zipcodes.pro/download/us-zip-codes.csv", dtype={"zip": str, "county_fips": str, "parent_zcta": str})

# SQLite
curl -O https://zipcodes.pro/download/us-zip-codes.sqlite
sqlite3 us-zip-codes.sqlite "SELECT zip, city, county_name FROM zips WHERE state = 'VT' LIMIT 5"

# JavaScript
const zips = await fetch("https://zipcodes.pro/download/us-zip-codes.json").then((r) => r.json());

What is not in it

  • Time zones. Ours are looked up in OpenStreetMap-derived boundaries, licensed ODbL, which cannot be relicensed as CC BY. They are on every ZIP code page and in the paid editions.
  • Demographics beyond population, business counts, metro areas, nearby ZIP codes and boundaries. Those are in the Core and Complete editions, with monthly updates.
  • USPS delivery details. ZIP+4, carrier routes and the USPS list of acceptable city names come only from USPS-licensed data, which no free source carries.

Updates

The files are rebuilt with every data release, from the same database that answers every page on this site, so a row here and the page for that ZIP code always agree. File names carry the release date, so a link to one release keeps pointing at it; the names without a date follow the newest. Found something wrong? Email [email protected] with the ZIP code and the field.

Need to look up a list rather than download everything? The bulk lookup tool appends city, county and coordinates to a pasted list, and the API answers one ZIP code at a time.