BizGapMap

Home / Grocery stores & supermarkets / New Jersey / Middlesex County, NJ

Middlesex County, NJ — Grocery stores Saturation

How many grocery stores exist per person present — residents plus daytime workers — by ZIP code, compared with the U.S. average. Establishment data: Census ZBP 2023. Population: ACS 2024 5-year. 43 ZIP codes analyzed.

Includes: Supermarkets · Grocery stores · Neighborhood food markets. Counted together because official statistics use one 445110 code.

Measured density: Above average — 1.19× the U.S. rate (between 1.19× and 1.36× once withheld ZIP cells are counted)

Why a range: Census does not publish a ZIP-by-industry count when that ZIP has 0–2 businesses. 21 ZIP cells in this county are withheld, 14 of them with residents. Each could hold 0, 1, or 2 businesses: counting them all as 0 gives the low end, counting them all as 2 gives the high end — the data cannot say where the truth sits. The density range uses only the populated cells, since ZIPs without residents are excluded from per-person rates. How ranges work

Above the U.S. rate   Middlesex County grocery stores — 119–136% of the U.S. rate

198 grocery stores are counted in Middlesex County — 1.9 per 10,000 people present (residents + daytime workers), 119% of the U.S. rate of 1.6.

On the comparable ZIP set (ZIPs with a published count in every year), the total has stayed roughly flat between 2015 and 2023 (196 → 195).

Measured supply density is highest in 08861 (Perth Amboy), 08901 (New Brunswick), 08850 (Milltown) — well above the national rate. On measured density alone, the lowest-density residential ZIPs with a published count are 08831 (Monroe Township), 08854 (Piscataway), 07008 (Carteret).

BLS QCEW puts the latest county-wide count (2026 Q1) at 186 establishments, the freshest available signal.

Measured density: Middlesex County sits at 119% of the U.S. rate for grocery stores. 14 ZIPs with population have no published count (each 0–2 businesses), so the true per-capita rate is between 119% and 136% of the U.S. rate. Why. The highest measured density is in 08861 and 08901; the lowest measured density is in 08831 and 08854.

This is a supply-side read: it counts existing grocery stores and the people present, not foot traffic, income, rent, or whether locals want more. Treat low density as a question to check, not an answer.

Grocery stores
198–240
published count; upper bound counts each withheld ZIP cell as 2 (21 cells) (2023)
Per 10,000 present
1.9
residents + daytime workers
U.S. average
1.6
per 10,000 present
County index
1.19×
vs. U.S.
Latest quarter (QCEW)
186
2026 Q1 — county total
Residents
863,519
36 ZIPs with data
Workers
412,014
jobs located in county

Is the area growing?

Population
890,119
Census PEP, July 1 2024
Change since 2020
+3.3%
+28,659 people
Net migration 2024
+11,503
international +17,922, domestic −6,419
Jobs located here
459,260
LODES 2022, +2.0% since 2019

Middlesex County had an estimated 890,119 residents on July 1, 2024 — 3.3% more than in 2020 (+28,659). In the latest year it gained 14,000 people: births minus deaths +2,436, international migration +17,922, domestic migration −6,419. Components are published separately and may not sum exactly.

459,260 jobs were located in the county in 2022 (+2.0% since 2019), and 420,052 employed residents lived there (+1.2% since 2019). LODES counts wage and salary jobs covered by unemployment insurance plus federal jobs; it excludes the self-employed and military, and counts jobs rather than unique people. 2019→2022 spans the pandemic, so read it as one change, not a trend.

Population and migration say whether the customer base is growing. They do not say whether people want another business of this type. Definitions and limits →  ·  Full county detail →

ZIP gaining residents
2015–19 → 2020–24
Change
08837 Edison
+16.6%
08861 Perth Amboy
+10.9%
08840 Metuchen
+9.7%
ZIP losing residents
2015–19 → 2020–24
Change

No ZIP had a statistically significant decrease.

ACS 5-year estimates for 2015–2019 and 2020–2024. Only ZIPs with at least 2,000 residents in both windows and a change larger than the survey margin of error (90%) are listed — small ZIPs move a lot on paper without a real signal.

Nonemployer businesses

Not shown. Census publishes grocery stores only combined with convenience stores in this dataset, so a grocery-only nonemployer count is not published.

Census Nonemployer Statistics 2024 (NAICS 2022). We do not approximate this figure.

Saturation map

Each ZIP area is shaded by its density of this business type per person present (residents + workers) vs. the U.S. average. Click any ZIP to zoom to its boundary, see its numbers, and switch to aerial imagery. Individual mapped shops appear as dots at street level — Show locations zooms you in to them (scroll or double-click to zoom).

Basemap:
Under 50% 50–100% 100–150% 150–250% 250%+ 0–2 (not published) / no data ZIP total (dot size) Mapped shop (OpenStreetMap, street level)

Map data © OpenStreetMap contributors, tiles by OpenFreeMap.

White dots are ZIP totals from the official Census count — the bigger the dot, the more grocery stores in that ZIP. They are aggregated, not individual shops. Turquoise dots are individual locations mapped in OpenStreetMap, shown only at street level; they are crowd-sourced and indicative, may be incomplete, and do not equal the official counts. Only the official ZIP totals feed the saturation index.

Market trend — down 1% since 2015

Number of grocery stores in Middlesex County across 2015–2023, on a consistent set of ZIP codes present in every year — so changes are real, not ZIP-boundary artifacts. 2015/2018 are pre-pandemic baselines; 2020/2021 are COVID-distorted.

196
2015
206
2018
193
2020
192
2021
194
2022
195
2023

Highest measured density

ZIP
vs. U.S. average
Index
08861 Perth Amboy
514%
08901 New Brunswick
325%
08850 Milltown
206%
07067 Colonia
164%
08904 Highland Park
159%
08846 Middlesex
152%
08902 North Brunswick
144%
08820 Edison
138%
07095 Woodbridge
137%
08817 Edison
127%
07080 South Plainfield
124%
08812 Dunellen
114%
08882 South River
112%
08879 South Amboy
99%
08857 Old Bridge
98%

Lowest measured density

ZIP
vs. U.S. average
Index
08831 Monroe Township
40%
08854 Piscataway
50%
07008 Carteret
62%
08859 Parlin
70%
08816 East Brunswick
71%
08830 Iselin
85%
08872 Sayreville
87%
08857 Old Bridge
98%
08879 South Amboy
99%
08882 South River
112%
08812 Dunellen
114%
07080 South Plainfield
124%
08817 Edison
127%
07095 Woodbridge
137%
08820 Edison
138%
Low measured density is not evidence of opportunity. A ZIP with few grocery stores may simply lack foot traffic, retail space, or demand. We rank only residential and mixed ZIPs here; employment hubs and visitor destinations are listed separately below. ZIPs where Census did not publish a count (0–2 businesses) are not ranked: they may be the least served of all, but the data cannot tell 0 from 1 or 2. Verify those locally.

Employment hubs & destinations

These ZIPs have far more workers (or visitors) than residents, so their counts are driven by daytime and visitor demand — not a place to read "shortage" from resident numbers alone.

ZIPNeighborhoodType ResidentsWorkersGrocery storesIndex
08832Keasbey Employment hub 2,2526,067 0–2 —

Scroll the table sideways to see all columns.

All ZIP codes

Click a column header to sort. Index = grocery stores per 10,000 people present (residents + 0.5×workers) ÷ the U.S. average. 100% = exactly average.

ZIPNeighborhood ResidentsWorkersGrocery stores Per 10kIndexStatus
08861Perth Amboy 59,35113,974 53 8.0 514% Very high density
08901New Brunswick 57,26320,240 34 5.0 325% Very high density
08850Milltown 8,5381,680 3 3.2 206% High density
07067Colonia 18,5872,119 5 2.5 164% High density
08904Highland Park 15,1212,034 4 2.5 159% High density
08846Middlesex 14,6454,540 4 2.4 152% High density
08902North Brunswick 43,93219,697 12 2.2 144% Above average
08820Edison 39,97813,336 10 2.1 138% Above average
07095Woodbridge 20,75614,945 6 2.1 137% Above average
08817Edison 49,02033,129 13 2.0 127% Above average
07080South Plainfield 24,41123,674 7 1.9 124% Above average
08812Dunellen 14,2245,443 3 1.8 114% Above average
08882South River 16,1242,053 3 1.7 112% Above average
08879South Amboy 23,5564,852 4 1.5 99% Below average
08857Old Bridge 40,89110,542 7 1.5 98% Below average
08872Sayreville 20,2044,109 3 1.3 87% Below average
08830Iselin 19,55121,378 4 1.3 85% Below average
08816East Brunswick 49,36027,237 7 1.1 71% Below average
08859Parlin 25,4484,022 3 1.1 70% Below average
07008Carteret 25,52611,257 3 1.0 62% Below average
08854Piscataway 61,08831,170 6 0.8 50% Below average
08831Monroe Township 55,65817,939 4 0.6 40% Far below average
07001Avenel 17,1219,947 0–2 — — Not published
07064Port Reading 3,4811,908 0–2 — — Not published
07077Sewaren 3,248386 0–2 — — Not published
08512Cranbury 12,92819,234 0–2 — — Not published
08536Plainsboro 20,81718,611 0–2 — — Not published
08810Dayton 7,9528,493 0–2 — — Not published
08818Edison —1,322 0–2 — — Not published
08824Kendall Park 13,3661,234 0–2 — — Not published
08828Helmetta 2,459102 0–2 — — Not published
08832Keasbey 2,2526,067 0–2 — — Not published
08837Edison 19,43737,746 0–2 — — Not published
08840Metuchen 18,2065,838 0–2 — — Not published
08852Monmouth Junction 18,06210,034 0–2 — — Not published
08855Piscataway —3,089 0–2 — — Not published
08862Perth Amboy —78 0–2 — — Not published
08863Fords 12,7711,730 0–2 — — Not published
08871Sayreville —32 0–2 — — Not published
08884Spotswood 8,1871,314 0–2 — — Not published
08903New Brunswick —4,044 0–2 — — Not published
08906New Brunswick —14 0–2 — — Not published
08933New Brunswick —3,022 0–2 — — Not published

Scroll the table sideways to see all columns.

Find an actual space in Edison

The numbers above tell you how the market looks. To find a specific storefront, these marketplaces list available retail space for lease.

LoopNet
Largest commercial marketplace
Browse Edison retail space →
Crexi
Free listings + market data
Browse Edison retail space →
CityFeet
Retail space for lease
Browse Edison retail space →

Open vacancy data (actual empty units) is only published by some cities; where it exists we show it directly. Listings above are third-party.

Census withholds some ZIP-by-industry cells to protect small businesses. 0–2 means the cell was not published (Census publishes industry counts only at 3+ per ZIP), so the ZIP is left unranked rather than counted as zero. ~ means the count is estimated from the broader industry group and can be off by a business or two.

Follow Middlesex County and grocery stores

When a data vintage changes or a section of this report is revised, we post it to a public update feed. No email address, no account, no tracking — and nothing is sent unless something actually changed.

Subscribe to updates (RSS) How these numbers are built →

Methodology & sources

Establishments. U.S. Census ZIP Code Business Patterns (ZBP 2023), NAICS 445110 — supermarkets & other grocery stores. Counts establishments with paid employees. ZBP is published annually with a ~2-year lag.

Fresh county signal. BLS QCEW (quarterly) is newer than ZBP — 2026 Q1 shows 186 establishments county-wide for this industry. It cannot be broken down by ZIP.

Population. U.S. Census American Community Survey 2024 5-year ZCTA population (table B01003). Workers are the ZIP's total employment from the same 2023 ZBP file.

Demand ("people present"). Demand comes from residents and daytime workers: residents + 0.5 × workers. This is the single documented assumption in the model and can be tuned.

Index. index = (ZIP establishments ÷ ZIP demand × 10,000) ÷ the U.S. average for this industry (1.55 per 10,000 present). It is a supply-side density measure; it does not capture income, rent, tourism, or whether locals actually want more.

Read the full methodology →  ·  Data sources & vintages →

BizGapMap — free, no-login small-business saturation reports for major U.S. counties. Built entirely from public U.S. Census, BLS, and IRS data (ZBP 2023, ACS 2024 5-year, PEP 2024, LODES, QCEW, IRS SOI). No forecasts, no revenue guesses — withheld cells are marked, and the few derived counts are labelled as estimates.