BizGapMap

Home / Gasoline stations with convenience stores / California / San Bernardino County, CA

San Bernardino County, CA — Gas stations Saturation

How many gas stations 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. 109 ZIP codes analyzed.

Includes: Gas stations with a convenience store · Fuel + mart locations. Counted together because official statistics use one 447110 code.

Measured density: Below average — 0.67× the U.S. rate (between 0.67× and 0.81× 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. 64 ZIP cells in this county are withheld, 42 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

Below the U.S. rate   San Bernardino County gas stations — 67–81% of the U.S. rate

407 gas stations are counted in San Bernardino County — 1.6 per 10,000 people present (residents + daytime workers), 67% of the U.S. rate of 2.4.

On the comparable ZIP set (ZIPs with a published count in every year), the total has risen 19% between 2015 and 2023 (326 → 388). 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 92363 (Needles), 92372 (Pinon Hills), 92359 (Mentone) — well above the national rate. On measured density alone, the lowest-density residential ZIPs with a published count are 92336 (Fontana), 91762 (Ontario), 92376 (Rialto).

Census County Business Patterns (2023) puts the county-wide count at 434 establishments, including locations in ZIP codes that do not map to a ZCTA — so it can run slightly above the sum of the ZIP rows on this page. It is annual, so it lags more than QCEW.

Measured density: San Bernardino County sits at 67% of the U.S. rate for gas stations. 42 ZIPs with population have no published count (each 0–2 businesses), so the true per-capita rate is between 67% and 81% of the U.S. rate. Why. The highest measured density is in 92363 and 92372; the lowest measured density is in 92336 and 91762.

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

Gas stations
407–535
published count; upper bound counts each withheld ZIP cell as 2 (64 cells) (2023)
Per 10,000 present
1.6
residents + daytime workers
U.S. average
2.4
per 10,000 present
County index
0.67×
vs. U.S.
Latest year (CBP)
434
2023 — $135M annual payroll
Residents
2,195,107
87 ZIPs with data
Workers
711,262
jobs located in county

Is the area growing?

Population
2,214,281
Census PEP, July 1 2024
Change since 2020
+1.4%
+30,755 people
Net migration 2024
+3,724
international +9,984, domestic −6,260
Jobs located here
841,615
LODES 2022, +9.4% since 2019

San Bernardino County had an estimated 2,214,281 residents on July 1, 2024 — 1.4% more than in 2020 (+30,755). In the latest year it gained 13,476 people: births minus deaths +9,604, international migration +9,984, domestic migration −6,260. Components are published separately and may not sum exactly.

841,615 jobs were located in the county in 2022 (+9.4% since 2019), and 942,704 employed residents lived there (+7.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
91708 Chino
+379.2%
92256 Morongo Valley
+35.8%
92394 Victorville
+19.2%
ZIP losing residents
2015–19 → 2020–24
Change
91710 Chino
−14.2%
92346 Highland
−12.0%
92324 Colton
−4.3%

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 gasoline stations only as a broader 2022 grouping (NAICS 4571) that also includes other fuel retailers, so a convenience-store-gas-station-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 gas stations 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 19% since 2015

Number of gas stations in San Bernardino 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.

326
2015
336
2018
353
2020
359
2021
369
2022
388
2023

Highest measured density

ZIP
vs. U.S. average
Index
92363 Needles
486%
92372 Pinon Hills
242%
92359 Mentone
218%
92356 Lucerne Valley
180%
92252 Joshua Tree
156%
91764 Ontario
152%
92284 Yucca Valley
122%
91786 Upland
111%
92335 Fontana
108%
91701 Rancho Cucamonga
103%
92311 Barstow
102%
92344 Hesperia
96%
92371 Phelan
95%
92313 Grand Terrace
89%
92345 Hesperia
84%

Lowest measured density

ZIP
vs. U.S. average
Index
92336 Fontana
26%
91762 Ontario
30%
92376 Rialto
44%
92337 Fontana
45%
92277 Twentynine Palms
47%
92392 Victorville
52%
92346 Highland
53%
92377 Rialto
53%
92316 Bloomington
53%
91709 Chino Hills
54%
92407 San Bernardino
55%
92373 Redlands
55%
92308 Apple Valley
55%
92404 San Bernardino
62%
91739 Rancho Cucamonga
62%
Low measured density is not evidence of opportunity. A ZIP with few gas stations 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 ResidentsWorkersGas stationsIndex
92408San Bernardino Employment hub 14,32553,660 14 143%
92350Loma Linda Employment hub 3442,352 0–2 —
92364Nipton Destination 797 0–2 —
92401San Bernardino Employment hub 1,6593,378 0–2 —

Scroll the table sideways to see all columns.

All ZIP codes

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

ZIPNeighborhood ResidentsWorkersGas stations Per 10kIndexStatus
92309Baker 343391 7 130.0 5482% Very high density
92398Yermo 2,609332 5 18.0 760% Very high density
92365Newberry Springs 2,192178 4 17.5 739% Very high density
92363Needles 5,5311,076 7 11.5 486% Very high density
92372Pinon Hills 5,149151 3 5.7 242% High density
92359Mentone 9,284754 5 5.2 218% High density
92356Lucerne Valley 6,5431,007 3 4.3 180% High density
92252Joshua Tree 7,5381,190 3 3.7 156% High density
91764Ontario 56,27031,385 26 3.6 152% High density
92408San Bernardino 14,32553,660 14 3.4 143% Above average
92284Yucca Valley 25,4154,558 8 2.9 122% Above average
91786Upland 55,82925,012 18 2.6 111% Above average
92335Fontana 97,51130,986 29 2.6 108% Above average
91701Rancho Cucamonga 39,2873,424 10 2.4 103% Above average
92311Barstow 33,9546,604 9 2.4 102% Above average
92344Hesperia 21,3491,246 5 2.3 96% Below average
92371Phelan 21,5801,155 5 2.3 95% Below average
92313Grand Terrace 13,0782,241 3 2.1 89% Below average
92345Hesperia 88,70612,884 19 2.0 84% Below average
92410San Bernardino 47,8696,508 10 2.0 82% Below average
91710Chino 78,75440,333 19 1.9 81% Below average
92399Yucaipa 55,3667,769 11 1.9 78% Below average
91730Rancho Cucamonga 71,61351,205 18 1.9 78% Below average
91761Ontario 62,93580,635 19 1.8 78% Below average
92395Victorville 47,3759,843 9 1.7 73% Below average
91737Rancho Cucamonga 22,9583,913 4 1.6 68% Below average
92394Victorville 41,6145,012 7 1.6 67% Below average
92405San Bernardino 31,2172,538 5 1.5 65% Below average
92307Apple Valley 41,1809,065 7 1.5 65% Below average
92324Colton 57,36520,473 10 1.5 62% Below average
91739Rancho Cucamonga 41,67311,454 7 1.5 62% Below average
92404San Bernardino 63,2439,026 10 1.5 62% Below average
92308Apple Valley 42,7095,955 6 1.3 55% Below average
92373Redlands 35,25721,800 6 1.3 55% Below average
92407San Bernardino 71,71110,988 10 1.3 55% Below average
91709Chino Hills 78,00614,381 11 1.3 54% Below average
92316Bloomington 32,76513,511 5 1.3 53% Below average
92377Rialto 20,8145,807 3 1.3 53% Below average
92346Highland 56,17914,141 8 1.3 53% Below average
92392Victorville 65,42914,518 9 1.2 52% Below average
92277Twentynine Palms 26,2771,626 3 1.1 47% Far below average
92337Fontana 36,02621,209 5 1.1 45% Far below average
92376Rialto 84,39425,088 10 1.0 44% Far below average
91762Ontario 64,23511,224 5 0.7 30% Far below average
92336Fontana 105,51712,653 7 0.6 26% Far below average
91708Chino 19,2137,009 0–2 — — Not published
91729Rancho Cucamonga —348 0–2 — — Not published
91743Guasti —7 0–2 — — Not published
91758Ontario —67 0–2 — — Not published
91759Mt Baldy 34176 0–2 — — Not published
91763Montclair 37,70012,536 0–2 — — Not published
91784Upland 26,8863,894 0–2 — — Not published
91785Upland —62 0–2 — — Not published
92242Earp 1,359185 0–2 — — Not published
92256Morongo Valley 4,209243 0–2 — — Not published
92267Parker Dam 0151 0–2 — — Not published
92268Pioneertown 434137 0–2 — — Not published
92278Twentynine Palms 3,913401 0–2 — — Not published
92285Landers 2,76458 0–2 — — Not published
92286Yucca Valley —24 0–2 — — Not published
92301Adelanto 38,5773,763 0–2 — — Not published
92304Amboy 035 0–2 — — Not published
92305Angelus Oaks 533112 0–2 — — Not published
92310Fort Irwin 8,4191,906 0–2 — — Not published
92312Barstow —28 0–2 — — Not published
92314Big Bear City 9,334601 0–2 — — Not published
92315Big Bear Lake 5,2155,701 0–2 — — Not published
92317Blue Jay 916379 0–2 — — Not published
92318Bryn Mawr —38 0–2 — — Not published
92321Cedar Glen 724100 0–2 — — Not published
92322Cedarpines Park 77028 0–2 — — Not published
92325Crestline 9,065995 0–2 — — Not published
92327Daggett 576123 0–2 — — Not published
92329Phelan —31 0–2 — — Not published
92331Fontana —280 0–2 — — Not published
92332Essex 10542 0–2 — — Not published
92333Fawnskin 30252 0–2 — — Not published
92334Fontana —258 0–2 — — Not published
92338Ludlow 073 0–2 — — Not published
92339Forest Falls 1,302140 0–2 — — Not published
92340Hesperia —188 0–2 — — Not published
92341Green Valley Lake 40698 0–2 — — Not published
92342Helendale 7,606345 0–2 — — Not published
92347Hinkley 76689 0–2 — — Not published
92350Loma Linda 3442,352 0–2 — — Not published
92352Lake Arrowhead 6,2461,449 0–2 — — Not published
92354Loma Linda 22,05119,065 0–2 — — Not published
92357Loma Linda —3,094 0–2 — — Not published
92358Lytle Creek 672179 0–2 — — Not published
92364Nipton 797 0–2 — — Not published
92368Oro Grande 906356 0–2 — — Not published
92369Patton 2,5752,856 0–2 — — Not published
92374Redlands 45,26226,678 0–2 — — Not published
92375Redlands —140 0–2 — — Not published
92378Rimforest 315182 0–2 — — Not published
92382Running Springs 5,215876 0–2 — — Not published
92385Skyforest 198170 0–2 — — Not published
92386Sugarloaf 2,042140 0–2 — — Not published
92391Twin Peaks 2,254171 0–2 — — Not published
92393Victorville —263 0–2 — — Not published
92397Wrightwood 5,8541,152 0–2 — — Not published
92401San Bernardino 1,6593,378 0–2 — — Not published
92402San Bernardino —97 0–2 — — Not published
92406San Bernardino —225 0–2 — — Not published
92411San Bernardino 27,2493,739 0–2 — — Not published
92415San Bernardino 0106 0–2 — — Not published
92423San Bernardino —84 0–2 — — Not published
92427San Bernardino —88 0–2 — — Not published
93562Trona 1,849500 0–2 — — Not published

Scroll the table sideways to see all columns.

Find an actual space in Ontario

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 Ontario retail space →
Crexi
Free listings + market data
Browse Ontario retail space →
CityFeet
Retail space for lease
Browse Ontario 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 San Bernardino County and gas stations

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 447110 — gasoline stations with convenience stores. Counts establishments with paid employees. ZBP is published annually with a ~2-year lag.

Fresh county signal. This industry has no clean QCEW series, so the freshest county signal is Census County Business Patterns 2023: 434 establishments and $135M in annual payroll county-wide. This count includes locations in ZIP codes that do not map to a ZCTA, so it can be slightly higher than the sum of the ZIP rows. CBP is annual and slower than QCEW. 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 (2.37 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.