BizGapMap

Home / Fitness & recreational sports centers / North Carolina / Mecklenburg County, NC

Mecklenburg County, NC — Gyms Saturation

How many gyms 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. 71 ZIP codes analyzed.

Includes: Gyms & fitness centers · CrossFit boxes · Boxing, martial arts & dance studios · Recreational sports centers. Counted together because official statistics use one 713940 code.

Measured density: High density — 1.58× the U.S. rate (between 1.58× and 1.65× 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. 46 ZIP cells in this county are withheld, 6 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

Range spans the U.S. rate   Mecklenburg County gyms — 158–165% of the U.S. rate

247 gyms are counted in Mecklenburg County — 1.6 per 10,000 people present (residents + daytime workers), 158% of the U.S. rate of 1.0.

On the comparable ZIP set (ZIPs with a published count in every year), the total has risen 24% between 2015 and 2023 (187 → 232). That set is smaller than today's county total. 2020–2021 were pandemic-distorted, and Census rounds counts, so small moves are within noise.

Measured supply density is highest in 28203 (Charlotte), 28209 (Charlotte), 28031 (Cornelius) — well above the national rate. On measured density alone, the lowest-density residential ZIPs with a published count are 28214 (Charlotte), 28213 (Charlotte), 28216 (Charlotte).

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

Measured density: Mecklenburg County sits at 158% of the U.S. rate for gyms. 6 ZIPs with population have no published count (each 0–2 businesses), so the true per-capita rate is between 158% and 165% of the U.S. rate. Why. The highest measured density is in 28203 and 28209; the lowest measured density is in 28214 and 28213.

This is a supply-side read: it counts existing gyms 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.

Gyms
247–339
published count; upper bound counts each withheld ZIP cell as 2 (46 cells) (2023)
Per 10,000 present
1.6
residents + daytime workers
U.S. average
1.0
per 10,000 present
County index
1.58×
vs. U.S.
Latest quarter (QCEW)
327
2026 Q1 — county total
Residents
1,173,019
31 ZIPs with data
Workers
704,489
jobs located in county

Is the area growing?

Population
1,206,285
Census PEP, July 1 2024
Change since 2020
+8.1%
+90,022 people
Net migration 2024
+22,081
international +19,699, domestic +2,382
Jobs located here
795,501
LODES 2022, +6.2% since 2019

Mecklenburg County had an estimated 1,206,285 residents on July 1, 2024 — 8.1% more than in 2020 (+90,022). In the latest year it gained 30,057 people: births minus deaths +7,974, international migration +19,699, domestic migration +2,382. Components are published separately and may not sum exactly.

795,501 jobs were located in the county in 2022 (+6.2% since 2019), and 542,270 employed residents lived there (+4.7% 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
28202 Charlotte
+30.8%
28204 Charlotte
+29.4%
28206 Charlotte
+27.7%
ZIP losing residents
2015–19 → 2020–24
Change
28212 Charlotte
−11.4%
28270 Charlotte
−10.1%

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. NES 2024 does not publish fitness and recreational sports centers (NAICS 71394); only the broader recreation group (7139) is available.

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 gyms 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 — up 24% since 2015

Number of gyms in Mecklenburg 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.

187
2015
241
2018
238
2020
236
2021
240
2022
232
2023

Highest measured density

ZIP
vs. U.S. average
Index
28203 Charlotte
452%
28209 Charlotte
388%
28031 Cornelius
359%
28211 Charlotte
328%
28078 Huntersville
291%
28226 Charlotte
251%
28105 Matthews
220%
28036 Davidson
217%
28210 Charlotte
198%
28277 Charlotte
189%
28205 Charlotte
183%
28273 Charlotte
148%
28269 Charlotte
145%
28278 Charlotte
145%
28217 Charlotte
125%

Lowest measured density

ZIP
vs. U.S. average
Index
28214 Charlotte
57%
28213 Charlotte
57%
28216 Charlotte
58%
28208 Charlotte
61%
28212 Charlotte
64%
28262 Charlotte
80%
28270 Charlotte
82%
28227 Charlotte
115%
28217 Charlotte
125%
28278 Charlotte
145%
28269 Charlotte
145%
28273 Charlotte
148%
28205 Charlotte
183%
28277 Charlotte
189%
28210 Charlotte
198%
Low measured density is not evidence of opportunity. A ZIP with few gyms 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 ResidentsWorkersGymsIndex
28204Charlotte Employment hub 9,31418,668 6 313%
28202Charlotte Employment hub 17,65365,673 8 154%

Scroll the table sideways to see all columns.

All ZIP codes

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

ZIPNeighborhood ResidentsWorkersGyms Per 10kIndexStatus
28203Charlotte 18,82335,664 17 4.6 452% Very high density
28209Charlotte 24,33116,612 13 4.0 388% Very high density
28031Cornelius 31,73312,432 14 3.7 359% Very high density
28211Charlotte 33,92521,286 15 3.4 328% Very high density
28204Charlotte 9,31418,668 6 3.2 313% Very high density
28078Huntersville 71,65730,594 26 3.0 291% Very high density
28226Charlotte 39,38114,405 12 2.6 251% Very high density
28105Matthews 46,81721,636 13 2.3 220% High density
28036Davidson 22,9637,969 6 2.2 217% High density
28210Charlotte 47,35923,499 12 2.0 198% High density
28277Charlotte 73,88247,594 19 1.9 189% High density
28205Charlotte 51,80613,424 11 1.9 183% High density
28202Charlotte 17,65365,673 8 1.6 154% High density
28273Charlotte 50,96669,222 13 1.5 148% Above average
28269Charlotte 79,58628,545 14 1.5 145% Above average
28278Charlotte 37,4205,683 6 1.5 145% Above average
28217Charlotte 32,06460,725 8 1.3 125% Above average
28227Charlotte 60,48214,480 8 1.2 115% Above average
28270Charlotte 32,4486,041 3 0.8 82% Below average
28262Charlotte 50,00346,056 6 0.8 80% Below average
28212Charlotte 42,4406,758 3 0.7 64% Below average
28208Charlotte 40,19748,001 4 0.6 61% Below average
28216Charlotte 57,50718,468 4 0.6 58% Below average
28213Charlotte 45,90410,328 3 0.6 57% Below average
28214Charlotte 43,83715,327 3 0.6 57% Below average
28035Davidson —15 0–2 — — Not published
28070Huntersville —210 0–2 — — Not published
28106Matthews —172 0–2 — — Not published
28126Newell —11 0–2 — — Not published
28130Paw Creek —134 0–2 — — Not published
28134Pineville 13,24512,291 0–2 — — Not published
28201Charlotte —116 0–2 — — Not published
28206Charlotte 15,37516,344 0–2 — — Not published
28207Charlotte 9,5278,937 0–2 — — Not published
28215Charlotte 66,6746,067 0–2 — — Not published
28218Charlotte —90 0–2 — — Not published
28219Charlotte —2,601 0–2 — — Not published
28220Charlotte —95 0–2 — — Not published
28221Charlotte —613 0–2 — — Not published
28222Charlotte —19 0–2 — — Not published
28223Charlotte 4,953747 0–2 — — Not published
28224Charlotte —134 0–2 — — Not published
28230Charlotte —45 0–2 — — Not published
28231Charlotte —33 0–2 — — Not published
28232Charlotte —25 0–2 — — Not published
28233Charlotte —230 0–2 — — Not published
28235Charlotte —9 0–2 — — Not published
28236Charlotte —21 0–2 — — Not published
28237Charlotte —42 0–2 — — Not published
28241Charlotte —339 0–2 — — Not published
28244Charlotte 01,782 0–2 — — Not published
28246Charlotte —773 0–2 — — Not published
28247Charlotte —42 0–2 — — Not published
28253Charlotte —954 0–2 — — Not published
28255Charlotte —14,756 0–2 — — Not published
28256Charlotte —1,255 0–2 — — Not published
28260Charlotte —57 0–2 — — Not published
28265Charlotte —26 0–2 — — Not published
28266Charlotte —400 0–2 — — Not published
28271Charlotte —218 0–2 — — Not published
28272Charlotte —63 0–2 — — Not published
28274Charlotte 7471,013 0–2 — — Not published
28280Charlotte 01,220 0–2 — — Not published
28281Charlotte —812 0–2 — — Not published
28282Charlotte 02,879 0–2 — — Not published
28284Charlotte —169 0–2 — — Not published
28285Charlotte —9 0–2 — — Not published
28287Charlotte —126 0–2 — — Not published
28288Charlotte —10 0–2 — — Not published
28297Charlotte —9 0–2 — — Not published
28299Charlotte —45 0–2 — — Not published

Scroll the table sideways to see all columns.

Find an actual space in Charlotte

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 Charlotte retail space →
Crexi
Free listings + market data
Browse Charlotte retail space →
CityFeet
Retail space for lease
Browse Charlotte 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 Mecklenburg County and gyms

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 713940 — fitness & recreational sports centers (gyms). 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 327 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.03 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.