simplemaplab

Map with ZIP Codes

🇺🇸United States only

Free ZIP code map maker — paste a list of US ZIP codes (with optional values or labels) and instantly render a heat map, dot map, or territory map. All 33,169 US ZIPs are covered. Three render modes, no sign-up, no watermark, all in your browser.

Render mode
Try a sample dataset
Color
Bins
Aggregate
State filter
Loading 33,169 ZIP codes…

Three ways to visualize ZIP codes

ZIP-level data has three canonical visualization formats. Most online tools force you to pick one and re-paste your data to switch. Map with ZIP Codes lets you toggle freely — your data stays loaded, only the rendering changes.

Heatmap mode (county-aggregate choropleth)

Each ZIP\u2019s value is rolled up to its county FIPS code, and the county is colored by the aggregated value (sum, average, max, min, or count). This is the publication-ready format: readable at a national zoom level, robust to outlier ZIPs, and matches how Census, BLS, and county-government data is typically published. The default mode for first-time visitors — the page auto-loads the Population sample so you see a national heat map immediately.

Dots mode (per-ZIP circles)

Each ZIP renders as a colored circle at its centroid (the average lat/lng of its populated area). Color encodes value via the chosen gradient. Optional: scale circle radius by ZIP population, so a 60,000-resident urban ZIP has visual weight different from a 100-resident rural ZIP with the same value. This is the right mode for granular per-ZIP comparisons, precise market sizing, or any case where the county aggregation hides what you care about.

Territory mode (categorical labels)

Each ZIP gets a label (sales rep, region, service tier, school district) and the tool auto-assigns one color per unique label. The result is a categorical territory map where every label has a clear color and the legend is one row per group. Click any pill in the legend to cycle its color. Useful for sales teams, service-area businesses, school districts, healthcare networks, and direct-mail operations.

How to plot ZIP codes on a map

Six steps from a CSV in your clipboard to a finished map. Click any sample dataset in the tool above to see the entire flow rendered instantly.

  1. Pick a render mode. Choose Heatmap (county-aggregate choropleth from ZIP-level values), Dots (one circle per ZIP), or Territory (categorical labels with one color per group). Toggle freely between modes — your data stays loaded.
  2. Paste your ZIP codes. One ZIP per line, optionally followed by a numeric value or a categorical label. ZIP+4 codes are auto-truncated to 5 digits. Tab-separated paste from Excel and Google Sheets works directly.
  3. Or load a sample dataset. Six built-in datasets cover all 33,169 ZIP codes: population, density, median income, home value, median rent, and commute time. The "Regions" sample loads US Census regions as a categorical territory example.
  4. Customize colors and bins. Pick a sequential gradient (green, blue, red, purple, brown) or a diverging gradient (red↔blue, purple↔green). For heatmap mode, choose how to aggregate ZIP values inside each county: sum, average, max, min, or count.
  5. Filter to a single state. Tap any state chip to render only ZIPs in that state — useful when your CSV spans multiple states but you want one regional snapshot at a time. Tap "All" to see the whole national map again.
  6. Add title, label, export. Type a map title and value label (e.g. "dollars", "customers", "deliveries"). Export as PNG, SVG, PDF, or GeoJSON to drop straight into a slide deck, design tool, GIS workspace, or BI dashboard.

Sample datasets you can try

Six built-in datasets, each covering all 33,169 US ZIPs. Click any sample on the tool above and the data loads instantly along with a sensible default gradient and aggregation method.

Population
33,169 ZIPs · US Census ACS

Residents per ZIP code. Best as a heat map (county-aggregate) — urban centers light up immediately while rural ZIPs fade. The classic "where do people live" visualization.

Population density
33,169 ZIPs · residents per mi²

How packed each ZIP is. Manhattan ZIPs hit 80,000+ people per square mile while many Western ZIPs stay below 5. Shows the urban-rural divide more starkly than raw population.

Median income
33,169 ZIPs · ACS 5-year

Median household income per ZIP. Reveals wealth corridors (Bay Area, Westchester, DC suburbs, Greenwich CT) and persistent rural-poverty regions (Mississippi Delta, Appalachia, Native reservations).

Home value
33,169 ZIPs · median single-family

Median home value per ZIP. Especially useful for real estate teams comparing markets — a single national heat map shows where the $1M+ ZIPs cluster vs sub-$200K markets.

Median rent
33,169 ZIPs · monthly rent

Median monthly rent per ZIP. Rental affordability is more useful than home value for roles in healthcare, hospitality, and retail thinking about workforce reach.

Commute time
33,169 ZIPs · minutes

Average one-way commute time. Long-commute ZIPs cluster around exurban metros (Atlanta, DC, NY, LA) and dense urban cores with bad transit. Short commutes are rural towns and suburb-of-suburb belts.

What people use Map with ZIP Codes for

Six recurring patterns we see in the analytics — each starts with a CSV pulled from a CRM, mail manifest, public dataset, or private database. Map with ZIP Codes is the rendering layer between data and a slide deck, blog post, grant report, or one-page coverage flyer.

Sales territory mapping

Paste a CSV of `zip,owner_name` to render a national territory map showing every ZIP each rep is responsible for. Diverging colors highlight where territories meet, where coverage gaps exist, and where two reps overlap. The map exports straight to a quarterly business review or a Salesforce custom-record screen for AEs.

Direct-mail and door-drop reach

Marketing planners paste a CSV of `zip,impressions` (or `zip,deliveries`) from a mail-house manifest to visualize campaign reach. The heat map mode aggregates to county for executive-level slides; the dot map shows precise per-ZIP saturation for granular targeting reviews.

Service-area coverage (HVAC, telecom, healthcare)

Service-area businesses paste their licensed/served ZIP list to communicate coverage to customers, brokers, or referral partners. A clean territory map ("Service available" / "Service planned" / "No service") makes a one-page coverage flyer that beats a paragraph of city names every time.

Real estate market analysis

Real estate analysts paste Zillow ZHVI data, Redfin median sale price, or year-over-year change at the ZIP level. The dot map mode lets you see ZIP-precision price clusters; the heat map aggregates to county for region-level comparison. Export to PNG for buyer-broker presentations or SVG for designers.

Voter contact and canvassing

Campaign field teams paste lists of high-priority ZIPs from VAN, NGP, or Catalist exports. A territory map shows door-knock zones; a heat map shows turnout-targeted ZIPs by intensity. Useful for state-level coordinator briefings and grant-funded GOTV programs.

Demographic visualization for grant writing

Non-profits and policy researchers paste ACS-derived ZIP-level data (uninsured rate, food-insecurity rate, broadband access) to make heat maps for grant applications. Federal HRSA and HUD reviewers expect visual evidence of geographic need — a ZIP-level heat map aggregated to county is the standard format.

How to make a ZIP code heat map

A "ZIP code heat map" usually means one of two things — and most people who search for it actually want the second. Knowing the difference saves a lot of confusion.

Density heat map. A pure spatial-density visualization (how many ZIPs are in this area) with no per-ZIP value attached. This is what tools like CARTO and Mapbox call a "heatmap layer" — a Gaussian-blurred density estimate. Useful for "where are my customers clustered?" but not for "what\u2019s the value per ZIP?".

Choropleth heat map (county-aggregate). ZIP-level values rolled up to a coarser geography — usually county — and rendered as a filled-polygon choropleth. This is the format used by news outlets, policy researchers, and Census tools. It\u2019s what Map with ZIP Codes\u2019 Heatmap mode produces. Pros: readable at national zoom, robust to ZIP outliers, easy to export to a slide. Cons: hides ZIP-level variation within a single county.

Step-by-step: switch to Heatmap mode, paste `zip,value` rows, pick an aggregation method (sum for total counts, average for medians/percents, max for "highest value in the county"), choose a gradient (sequential for ordered data, diverging for value-with-midpoint), and pick 5 quantile bins as a starting point. Adjust bin count and classification method until the map reads well — quantile is best for unevenly-distributed data, equal-interval for bounded percent data, natural breaks for finding clusters.

How to plot a list of ZIP codes (without values)

Sometimes you just want to see a list of ZIPs on a map — no values, no heat, just dots. Common scenarios: visualizing a customer list, mapping the ZIP codes in a service area, showing where a survey respondent set lives.

Switch to Dots mode and paste your ZIP list (one per line, no second column needed). Each ZIP becomes a single dot at its centroid. The default dot size is fixed (every ZIP equally weighted). Toggle "Size by population" to scale by ZIP population — this is the right call for customer-list maps, where a ZIP with 50K residents intuitively deserves more visual weight than a 200-resident ZIP.

For state-specific views, tap any state chip to filter — useful when your CSV spans the whole country but you only want a one-state slide for a regional briefing. Tap "All" to return to the national view.

ZIP code territory mapping for sales teams

Sales territory maps are the highest-leverage use of categorical ZIP mapping. The end-result slide answers four questions for an executive: which rep owns which ZIP, where two reps overlap, where a territory is so sparse it should be redrawn, and where the company has no coverage at all.

Workflow: export `zip,owner_name` from your CRM (Salesforce reports, HubSpot territories, Microsoft Dynamics zones — every CRM has this view). Paste into Map with ZIP Codes in Territory mode. Each owner becomes a colored region; the legend lists every owner with a ZIP count next to their name. Click an owner pill to recolor (e.g. "all enterprise reps green, all SMB reps blue").

Common patterns to look for: orphan ZIPs (high-density ZIPs with no assigned rep, usually in newly-grown metros), vintage assignments (a single rep covering 200+ ZIPs spanning four states because nobody re-cut the territory after 2018), and overlap zones (two reps assigned to the same ZIP, which usually triggers commission disputes). The map exposes all three at a glance.

ZIP-5, ZIP+4, and ZCTA — what\u2019s the difference?

These three terms get mixed up constantly. Each refers to a different thing maintained by a different agency. If you\u2019re working with ZIP-level data professionally, knowing the distinction is essential.

ZIP-5 (5-digit ZIP code). Maintained by the United States Postal Service, introduced in 1963. Every populated address in the US is in exactly one ZIP-5. There are approximately 41,000 active ZIP-5 codes — but only about 33,000 are geographic ZIPs with a populated area; the rest are PO-Box-only codes, unique-customer ZIPs (assigned to a single large firm like Walmart HQ, NASA, or the Pentagon), and military/diplomatic codes. Map with ZIP Codes uses 33,169 geographic ZIP-5 codes from the SimpleMaps dataset.

ZIP+4 (9-digit ZIP code). An extension introduced in 1983 that appends 4 more digits to the ZIP-5 to identify a specific block face, building, PO Box group, or large-volume mail recipient. ZIP+4 isn\u2019t a geography — it\u2019s a delivery routing hint. There are roughly 35 million unique ZIP+4 codes. Map with ZIP Codes auto-truncates ZIP+4 input to its first 5 digits when matching.

ZCTA (ZIP Code Tabulation Area). Maintained by the US Census Bureau, not USPS. Because USPS ZIPs are routes (linear delivery paths) rather than polygons, the Census Bureau invented ZCTAs in 2000 as polygon approximations of ZIP service areas. ZCTAs are built by aggregating Census blocks: every block is assigned to the most-common USPS ZIP among its addresses. ZCTAs cover ~95% of populated USPS ZIPs cleanly; the remaining ~5% are PO-Box-only ZIPs (no Census blocks → no ZCTA) and unique-customer ZIPs (no general public addresses → no ZCTA). The Census Bureau publishes ZCTA polygon shapefiles annually as part of TIGER/Line. Map with ZIP Codes uses ZIP centroids (lat/lng) for dot rendering and county-FIPS aggregation for heatmap rendering — not ZCTA polygons.

Why no boundary file? The USPS doesn\u2019t maintain ZIP boundaries because ZIPs aren\u2019t polygons. They\u2019re postal routes, optimized for mail truck efficiency, and they cross municipal, county, and even state lines. The closest thing to a "ZIP boundary map" is a ZCTA polygon, which Esri, Mapbox, and HUD all publish in derivative form. Most non-technical users actually want either a centroid map (Dots mode here) or a county-aggregate choropleth (Heatmap mode) — both of which avoid the boundary problem entirely.

How many ZIP codes does each US state have?

Counts below are populated geographic ZIP-5 codes from the SimpleMaps US Zips dataset (the dataset that powers this tool). PO-Box-only and unique-customer ZIPs are excluded; they have no geographic centroid. Need a single-state ZIP map? Tap the state chip in the tool above to filter your data to that state only.

StateZIPsPrintable blank map
Alabama638Blank map of Alabama
Alaska236Blank map of Alaska
Arizona406Blank map of Arizona
Arkansas600Blank map of Arkansas
California1,762Blank map of California
Colorado512Blank map of Colorado
Connecticut285Blank map of Connecticut
Delaware65Blank map of Delaware
District of Columbia31Blank map of District of Columbia
Florida993Blank map of Florida
Georgia734Blank map of Georgia
Hawaii92Blank map of Hawaii
Idaho276Blank map of Idaho
Illinois1,390Blank map of Illinois
Indiana788Blank map of Indiana
Iowa969Blank map of Iowa
Kansas699Blank map of Kansas
Kentucky765Blank map of Kentucky
Louisiana524Blank map of Louisiana
Maine417Blank map of Maine
Maryland470Blank map of Maryland
Massachusetts532Blank map of Massachusetts
Michigan987Blank map of Michigan
Minnesota877Blank map of Minnesota
Mississippi419Blank map of Mississippi
Missouri1,021Blank map of Missouri
Montana368Blank map of Montana
Nebraska582Blank map of Nebraska
Nevada174Blank map of Nevada
New Hampshire245Blank map of New Hampshire
New Jersey595Blank map of New Jersey
New Mexico356Blank map of New Mexico
New York1,778Blank map of New York
North Carolina836Blank map of North Carolina
North Dakota387Blank map of North Dakota
Ohio1,215Blank map of Ohio
Oklahoma659Blank map of Oklahoma
Oregon421Blank map of Oregon
Pennsylvania1,811Blank map of Pennsylvania
Rhode Island81Blank map of Rhode Island
South Carolina422Blank map of South Carolina
South Dakota372Blank map of South Dakota
Tennessee619Blank map of Tennessee
Texas1,924Blank map of Texas
Utah289Blank map of Utah
Vermont259Blank map of Vermont
Virginia886Blank map of Virginia
Washington597Blank map of Washington
West Virginia723Blank map of West Virginia
Wisconsin780Blank map of Wisconsin
Wyoming172Blank map of Wyoming

Texas (1,924) and Pennsylvania (1,811) have the most ZIPs of any state — both because of size and because of dense rural networks of small towns each with their own ZIP. New York (1,778) is third, mostly driven by the dense five-borough NYC system. The District of Columbia has only 31 ZIPs — fewer than any state — and Delaware (65), Rhode Island (81), and Hawaii (92) round out the smallest-by-ZIP-count list.

ZIP codes vs counties vs cities — when to use which

Three overlapping geographies, three different use cases. Picking wrong is the most common mistake in geographic data work — usually the result of "we already had it in this format" rather than a deliberate choice.

Use ZIPs for direct-mail, USPS-derived data (deliveries, returns, change-of- address), customer-database mapping (because every customer has a ZIP from checkout/billing), and IRS/HUD-derived ZIP-level data (income, mortgage, tax-credit usage). ZIP-level granularity is essential when ZIP-to-county mapping is many-to-many in your area (a single ZIP straddling two counties, or a single county containing 200+ ZIPs).

Use counties for Census ACS data (population, demographics, education), Bureau of Labor Statistics data (unemployment, wages, employment by industry), election results (every Presidential and Senate result is published by county), and most state-agency data. County is also the right level when you want a clean choropleth that doesn\u2019t rely on point-density tricks. Map with Counties is the dedicated tool for this.

Use cities for hyperlocal customer-acquisition spend, retail-location decisions, real estate listings (MLS data is always city-keyed), and any case where the political identity of the place matters more than the demographic envelope. City boundaries change over time (annexations, incorporations) so historical city-level series are tricky.

ZIP code data sources

Where to pull ZIP-level data, by domain. All of the following publish free and most are directly downloadable as CSV with a ZIP-5 column.

SourceWhat you getLicense / cost
USPSAuthoritative ZIP-5 list with city/state — bare-bonesFree with terms
US Census BureauZCTA polygon shapefile, ACS 5-year data by ZCTAPublic domain
SimpleMaps US Zips33K+ ZIP centroids with demographics — what this tool usesCC0
IRS Statistics of IncomeAdjusted gross income, tax filings, charitable giving by ZIPPublic domain
HUD USPS CrosswalkZIP→tract, ZIP→county, ZIP→CBSA mapping (quarterly)Free with registration
Zillow ZHVI by ZIPMedian home value time-series by ZIPFree for non-commercial
Esri demographicPremium ZIP-level demographic forecastsPaid (subscription)
CoreLogic / Black KnightPremium real estate ZIP-level dataPaid (enterprise)

Common ZIP code data mistakes

Five pitfalls we see repeatedly when people work with ZIP-level data. Knowing these saves hours of confusion.

1. Leading-zero loss in Excel

Excel auto-converts numeric-looking columns to numbers, which strips leading zeros. "02115" (Boston/Northeastern) becomes "2115", which is invalid and unmappable. Fix: format the ZIP column as Text BEFORE pasting (Format Cells → Text), or save the source CSV with the ZIP column quoted. Map with ZIP Codes left-pads short ZIPs to 5 digits as a safety net, but the cleanest source data is always 5-digit zero-padded strings.

2. ZIP+4 in input data

Address-validation services and CRM exports often store ZIP+4 codes ("90210-1234"). These won\u2019t match against geographic ZIP-5 datasets unless truncated. Map with ZIP Codes auto-truncates to the first 5 digits, but other tools may not.

3. Treating ZIP as equal to city

ZIPs and cities don\u2019t map 1:1. A single ZIP can span multiple cities (especially in rural areas) and a single large city can contain hundreds of ZIPs. New York City has 195 ZIP codes. Houston has 175. "Map all customers in Houston" via "ZIP starts with 770" misses a chunk of the metro and includes parts of suburban Harris County.

4. ZCTA vs USPS ZIP confusion

ACS demographic data is published at the ZCTA level, not the USPS ZIP level — they\u2019re ~95% aligned but PO-Box-only ZIPs and unique-customer ZIPs are missing from ZCTA. If your CRM data is keyed on USPS ZIP and your demographic data is keyed on ZCTA, expect ~5% unmatched rows when joining.

5. PO Box ZIPs in geographic analysis

Some ZIPs are PO-Box-only (no geographic delivery — recipients pick up mail at the post office). Others are unique-customer ZIPs assigned to a single corporation, military installation, or government agency. Both have no geographic centroid in the conventional sense. They\u2019ll appear unmatched in this tool because the SimpleMaps dataset excludes them. If your data has many of these (e.g., a list of corporate-billing addresses), expect a high unmatched rate — that\u2019s the data, not the tool.

Map with ZIP Codes vs other tools

Honest comparison against the alternatives. Each tool wins different scenarios — the table is a feature checklist, not a value judgement.

FeatureMap with ZIP CodesBatchGeoMapChartExcel / Sheets
Free, no sign-upLimited tierLimited tier
Paste 5-digit ZIP codes
ZIP+4 auto-truncationManualManual
Heat map (county-aggregate)
Dot map (per-ZIP)Limited
Categorical territory map— (manual)
Toggle modes without re-pasting
State filter chips— (filters)— (filters)
33,169 ZIPs covered~30K~30KN/A
ZIP+population sample built-inPaid
No watermark on exportWatermark on freeFree tier limited
Works offline after first load
GeoJSON exportComing soon

BatchGeo is excellent if you want a mappable list with detailed pop-ups for each pin and a ready-made shareable URL — that\u2019s its design space. MapChart is solid for static templated maps in a presentation context. Excel and Google Sheets work if you only need a state-level map (both have built-in filled-region maps) or a rough bubble-map of cities, but neither does ZIP-level rendering well. Map with ZIP Codes is the fastest path from a ZIP list in your clipboard to a publication-ready ZIP map, with three render modes and no account, watermark, or learning curve.

Related tools and resources

Map with ZIP Codes pairs naturally with several other SimpleMaplab tools. To build a target ZIP list from a starting location and radius, use Find ZIP Codes in Radius. To find the ZIP that contains an address or coordinates, use What ZIP Code Am I In?. To measure distance between two ZIP codes, use Distance Between ZIP Codes.

For county-level rather than ZIP-level visualization, use Map with Counties (paste FIPS or county-name + value, get a county choropleth across all 3,132 US counties). For categorical coloring of countries or US states (visited-countries, lived-states, etc.), use Color a Map. For population estimates within a radius (useful for ZIP territory sizing), use Population Within Radius.

Frequently asked questions

Paste a list of US ZIP codes (one per line) into the tool above. If each ZIP has a numeric value (sales total, customers, deliveries), put it after the ZIP separated by a comma or tab. The tool renders three modes: Heatmap (your ZIP values aggregated up to county FIPS, drawn as a county choropleth), Dots (one colored circle per ZIP at its centroid), or Territory (categorical labels with one color per group). All 33,169 US ZIP codes are supported, ZIP+4 codes are auto-truncated, and leading-zero ZIPs (02115, 90210) are preserved.
Switch to the Heatmap mode (the leftmost button in the render-mode toggle), then paste your CSV with `zip,value` rows. The tool joins each ZIP to its county FIPS code and aggregates values up to the county level — sum (default), average, max, min, or count. The result renders as a county choropleth using your chosen gradient and bin scheme. This is the publication-ready format used by news outlets and policy researchers; per-ZIP "heat" patterns aggregate up to readable county-level intensity at a national zoom level.
Use the Dots mode. Paste your ZIP list (with or without values) and each ZIP renders as a colored circle at its centroid. If you only paste ZIPs without values, every ZIP gets a count of 1 — the dots show pure presence. Add a numeric value column to scale dot color via gradient. Toggle "Size by population" to scale dot radius by ZIP population, so dense urban ZIPs stand out from sparse rural ones.
Yes — that’s exactly what Territory mode is for. Paste a CSV of `zip,territory_name` (e.g. `zip,owner_name` or `zip,region`) and each unique label gets a color from the categorical palette, automatically. Click any pill in the territory legend to cycle its color. The map shows your ZIP-level territories with state borders for reference, and a state-filter chip row lets you isolate one state at a time.
A ZIP-5 (or "5-digit ZIP code") is the United States Postal Service’s 5-digit postal-route code introduced in 1963. ZIP+4 (introduced 1983) appends 4 more digits to identify a specific block, building, or PO Box group within the ZIP-5. ZCTA (ZIP Code Tabulation Area) is the US Census Bureau’s polygon approximation of ZIP service areas, built by aggregating Census blocks. Crucially, USPS ZIP codes are routes (linear delivery paths), not polygons — there is no official ZIP boundary file. ZCTAs approximate the polygon for ~95% of populated ZIPs but differ for PO-Box-only ZIPs and unique-customer ZIPs (e.g. corporate headquarters with their own ZIP). Map with ZIP Codes uses ZIP centroids (the average lat/lng of each ZIP’s populated area) and aggregates up to county for the heatmap mode.
The USPS publishes approximately 41,000 active ZIP-5 codes, of which about 33,000 are populated geographic ZIPs (the rest are PO-Box-only, unique-customer ZIPs assigned to large firms, and military/diplomatic codes). Map with ZIP Codes covers 33,169 ZIPs from the SimpleMaps US Zips dataset — every populated ZIP-5 with a verifiable lat/lng centroid. The most ZIPs in a single state: New York and Pennsylvania (both ~1,800). The fewest: District of Columbia (31) and Delaware (65).
Excel auto-converts numeric-looking columns to numbers, which strips leading zeros — "02115" becomes "2115". Three fixes: (1) Format the column as Text BEFORE pasting (Format Cells → Text). (2) Prefix each ZIP with an apostrophe to force text storage. (3) Save your CSV with the ZIP column quoted: `"02115",1500`. Map with ZIP Codes auto-corrects 1-to-4-digit ZIPs by left-padding to 5, but the cleanest source data is always 5-digit zero-padded strings.
PNG, SVG, PDF, and GeoJSON export are coming in the next build round. The export will include your title, value label, legend, and rendered map at high resolution. GeoJSON output specifically opens up a workflow many ZIP tools lack: bring the ZIP-level data and styling into QGIS, Tableau, Mapbox Studio, or any GIS for further analysis or design.
Find ZIP Codes in Radius starts with one location and discovers every ZIP within X miles. Map with ZIP Codes starts with a list of ZIPs you already have (from a CRM, mail manifest, customer database) and visualizes them. They’re complementary: use Find ZIP Codes in Radius to build a target list, then paste that list into Map with ZIP Codes to visualize coverage or layer values on top.
Map with Counties operates at the county FIPS level — 3,132 counties. Map with ZIP Codes operates at the ZIP-5 level — 33,169 ZIPs. The Heatmap mode here aggregates ZIP-level data UP to county for visualization, but you can also stay at the ZIP level via Dots or Territory mode. If your data is already county-aggregated, use Map with Counties. If your data is per-ZIP, use this tool.
No. All parsing, ZIP matching, classification, and rendering happen client-side. Your CSV is never uploaded to a server. The map is built entirely from public-domain US Census Bureau TIGER/Line boundary files and the SimpleMaps US Zips dataset (CC0 license) that we ship with the page.
A ZIP can fail to match for several reasons: (1) it’s a PO-Box-only ZIP with no geographic centroid (excluded from the SimpleMaps dataset); (2) it’s a unique-customer ZIP assigned to a single firm (no boundary); (3) it has fewer than 5 digits and the leading-zero pad produced an invalid code; (4) it’s a Canadian, Mexican, or international postal code (those use different formats). The Unmatched Rows panel surfaces the first 10 unmatched lines so you can fix them.
USPS ZIP codes don’t officially have boundaries — they’re postal routes, not polygons. The closest equivalent is the Census Bureau’s ZCTA (ZIP Code Tabulation Area) polygon file, which approximates ZIP service areas from Census blocks. ZCTA polygons are ~3GB ungzipped, far too heavy to ship in a browser-based tool. Map with ZIP Codes uses ZIP centroids (lat/lng) for dot rendering and aggregates up to county FIPS for heatmap rendering. If you need true ZCTA polygons, export your data as GeoJSON (coming soon) and load it into QGIS with the Census ZCTA TIGER/Line file.
Currently the Heatmap mode aggregates to county FIPS (3,132 counties). Metro-area aggregation (382 Core-Based Statistical Areas) is on the roadmap. For now, the SimpleMaps dataset includes a `metroArea` field per ZIP, which is exposed in the tooltip but not yet selectable as the heat-map aggregation level.
Yes. The tool is free and the underlying data (US Census TIGER/Line, SimpleMaps US Zips at CC0) is public-domain or permissively licensed. There’s no watermark, no rate limit, no account requirement. Use the exported maps in client decks, reports, books, internal dashboards, or commercial products.
Data sources & methodology

ZIP code centroids and per-ZIP demographics: SimpleMaps US Zips v1.94 (CC0 license, derived from USPS-published ZIPs joined with US Census ACS 5-year demographic data and aligned to Census ZCTAs where possible). 33,169 populated ZIPs covered. County boundaries: US Census Bureau TIGER/Line at 1:10,000,000 scale, via us-atlas counties-10m TopoJSON. ZIP-to-county joins use the SimpleMaps 'countyFips' field, derived from the Census Bureau\u2019s ZCTA-to-County relationship file. State borders: us-atlas states-10m TopoJSON. All data is public-domain or CC0; no API keys, no quotas, all rendering in your browser.

More SimpleMapLab tools

Find ZIP Codes in Radius

Discover every ZIP within X miles of a starting location. Build target lists.

Map with Counties

Paste county FIPS + values, get a national choropleth across 3,132 US counties.

Distance Between ZIP Codes

Measure the distance between any two US ZIP codes with bearing.

Population Within Radius

Estimate the US population inside any radius using ZIP-level Census data.