Population 100K+ · Ranked by Median AQI (Worst First) · Data updated April 2026

Worst Air Quality (Large Counties)

Among counties with populations over 100,000, these have the worst air quality based on EPA monitoring data. Grades based on 3-year average median Air Quality Index (2021–2023). Higher AQI means more pollution.

Worst Air Quality (Large Counties)

California's Central Valley Chokes on Poor Air

California dominates this list, with 15 counties, and the Central Valley is a clear hotspot for poor air quality. Counties like Kern (#4), Tulare (#5), and Fresno (#7) are particularly impacted by a combination of agricultural emissions, industrial activity, and geographic features that trap pollutants. The valley's bowl-like topography and frequent inversions create a persistent smog problem, exacerbated by vehicle exhaust from major transportation corridors.

Phoenix's Smog Surprise

Maricopa County, AZ, home to Phoenix, takes the top spot, which might surprise some given its desert reputation. While often associated with clear skies, rapid urban expansion, heavy vehicle traffic, and a hot, dry climate contribute significantly to ozone formation and particulate matter. The surrounding mountains can also trap pollutants, leading to surprisingly persistent poor air quality in this booming metropolitan area.

The Industrial Haze of Pennsylvania

Lancaster County, PA (#18), stands out as an unexpected entry from the Northeast. While not typically thought of as a major pollution hub, its inclusion points to a blend of agricultural emissions, regional industrial activity, and proximity to major transportation routes. This combination, coupled with meteorological conditions that can trap pollutants, contributes to air quality challenges that belie its picturesque reputation.

# County BTI Score Air Grade Median AQI Good Days Unhealthy Days Population
01 Maricopa County AZ 8 F 90 7% 389 4,559,748
02 Riverside County CA 11 F 82 11% 378 2,478,600
03 San Bernardino County CA 49 F 78 8% 394 2,197,104
04 Kern County CA 30 F 78 15% 320 915,075
05 Tulare County CA 56 F 76 18% 330 478,693
06 Los Angeles County CA 4 F 73 6% 278 9,808,667
07 Fresno County CA 28 D 68 22% 210 1,016,725
08 San Diego County CA 7 D 66 14% 86 3,288,774
09 Pinal County AZ 44 D 65 25% 134 469,006
10 Kings County CA 46 D 64 25% 129 153,298
11 Clark County NV 9 D 62 24% 86 2,329,548
12 Bernalillo County NM 49 D 62 22% 58 673,930
13 Imperial County CA 71 D 61 25% 123 180,202
14 El Paso County TX 49 D 61 21% 58 870,779
15 Harris County TX 7 D 61 15% 100 4,838,303
16 Wayne County MI 30 C 59 20% 42 1,772,259
17 Marion County IN 36 C 58 24% 40 975,809
18 Lancaster County PA 49 C 58 27% 29 557,931
19 Salt Lake County UT 8 C 58 34% 92 1,196,523
20 Stanislaus County CA 9 C 57 33% 93 553,990
21 Jefferson County AL 33 C 57 28% 27 667,755
22 Cook County IL 88 C 57 28% 63 5,182,090
23 Allegheny County PA 28 C 56 34% 35 1,238,177
24 Cuyahoga County OH 52 C 56 32% 25 1,245,873
25 Madison County IL 65 C 55 30% 31 264,238
26 Madera County CA 55 C+ 55 40% 63 160,940
27 Hamilton County OH 51 C+ 55 33% 28 830,774
28 Butler County OH 42 C+ 55 35% 25 392,876
29 Philadelphia County PA 35 C+ 55 34% 29 1,579,706
30 Placer County CA 14 C+ 55 41% 80 419,156
31 Tarrant County TX 32 C+ 54 36% 63 2,167,390
32 Missoula County MT 28 C+ 54 39% 53 120,672
33 Pima County AZ 20 C+ 54 33% 34 1,060,490
34 Jefferson County KY 23 C+ 54 37% 29 783,022
35 Bexar County TX 3 C+ 54 36% 37 2,067,341
36 Oklahoma County OK 55 C+ 54 38% 17 806,199
37 Lake County IN 50 C+ 54 38% 29 500,379
38 Pulaski County AR 31 C+ 54 36% 8 399,818
39 Merced County CA 31 C+ 54 43% 61 290,201
40 Denver County CO 0 C+ 54 38% 48 718,877
41 Orange County CA 26 C+ 53 38% 35 3,165,820
42 Weld County CO 8 C+ 53 43% 55 350,396
43 Sacramento County CA 16 C+ 53 45% 67 1,594,006
44 Hinds County MS 85 C+ 53 40% 5 218,533
45 Tulsa County OK 58 C+ 53 41% 40 680,794
46 Fulton County GA 26 C+ 53 42% 19 1,076,561
47 Calcasieu Parish LA 85 C+ 52 44% 6 207,088
48 Jackson County MO 62 C+ 52 42% 7 719,976
49 Duval County FL 39 C+ 52 40% 2 1,023,153
50 Bossier Parish LA 69 C+ 52 45% 1 129,789