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