US counties by median Air Quality Index (US EPA)

San Bernardino County had the highest median Air Quality Index (US EPA) of 1001 counties in 2018, at 89. Harrison County had the lowest, at 3. The median was 40. Source: the U.S. Environmental Protection Agency.

Keep it in a collection in your library.
Median401001 counties

Map of counties, 2018

index, 2018. Hatched areas have no value for this period. Source: EPA, EPA AirData annual AQI by county: median daily AQI. Boundaries: U.S. Census Bureau cartographic boundary files.

Top 40 counties, 2018

San Bernardino County: 89 indexSan Bernardino County89Riverside County: 87 indexRiverside County87Kern County: 84 indexKern County84Tulare County: 79 indexTulare County79Los Angeles County: 78 indexLos Angeles County78Fresno County: 75 indexFresno County75Maricopa County: 71 indexMaricopa County71Kings County: 70 indexKings County70Pinal County: 67 indexPinal County67San Diego County: 67 indexSan Diego County67Imperial County: 64 indexImperial County64Clark County: 63 indexClark County63Salt Lake County: 61 indexSalt Lake County61Butte County: 59 indexButte County59Cook County: 59 indexCook County59El Paso County: 59 indexEl Paso County59San Joaquin County: 59 indexSan Joaquin County59Stanislaus County: 59 indexStanislaus County59Allegheny County: 58 indexAllegheny County58Calaveras County: 58 indexCalaveras County58Chaffee County: 58 indexChaffee County58Doña Ana County: 58 indexDoña Ana County58Madera County: 58 indexMadera County58Sacramento County: 58 indexSacramento County58Sutter County: 58 indexSutter County58Teller County: 58 indexTeller County58Alameda County: 57 indexAlameda County57Bernalillo County: 57 indexBernalillo County57Hamilton County: 57 indexHamilton County57Montgomery County: 57 indexMontgomery County57Ventura County: 57 indexVentura County57Wayne County: 57 indexWayne County57Delaware County: 56 indexDelaware County56Harris County: 56 indexHarris County56Jefferson County: 56 indexJefferson County56Merced County: 56 indexMerced County56Scott County: 56 indexScott County56Tulsa County: 56 indexTulsa County56Contra Costa County: 55 indexContra Costa County55Hawaii County: 55 indexHawaii County55San Bernardino County: 89 indexSan Bernardino County89Riverside County: 87 indexRiverside County87Kern County: 84 indexKern County84Tulare County: 79 indexTulare County79Los Angeles County: 78 indexLos Angeles County78Fresno County: 75 indexFresno County75Maricopa County: 71 indexMaricopa County71Kings County: 70 indexKings County70Pinal County: 67 indexPinal County67San Diego County: 67 indexSan Diego County67Imperial County: 64 indexImperial County64Clark County: 63 indexClark County63Salt Lake County: 61 indexSalt Lake County61Butte County: 59 indexButte County59Cook County: 59 indexCook County59El Paso County: 59 indexEl Paso County59San Joaquin County: 59 indexSan Joaquin County59Stanislaus County: 59 indexStanislaus County59Allegheny County: 58 indexAllegheny County58Calaveras County: 58 indexCalaveras County58Chaffee County: 58 indexChaffee County58Doña Ana County: 58 indexDoña Ana County58Madera County: 58 indexMadera County58Sacramento County: 58 indexSacramento County58Sutter County: 58 indexSutter County58Teller County: 58 indexTeller County58Alameda County: 57 indexAlameda County57Bernalillo County: 57 indexBernalillo County57Hamilton County: 57 indexHamilton County57Montgomery County: 57 indexMontgomery County57Ventura County: 57 indexVentura County57Wayne County: 57 indexWayne County57Delaware County: 56 indexDelaware County56Harris County: 56 indexHarris County56Jefferson County: 56 indexJefferson County56Merced County: 56 indexMerced County56Scott County: 56 indexScott County56Tulsa County: 56 indexTulsa County56Contra Costa County: 55 indexContra Costa County55Hawaii County: 55 indexHawaii County55
index. Source: EPA, EPA AirData annual AQI by county: median daily AQI. Retrieved 2026-10-12.

Full ranking

RankCounties2018
index
Change on 2017
1San Bernardino County89+5
2Riverside County870
3Kern County84-1
4Tulare County79-2
5Los Angeles County78-1
6Fresno County750
7Maricopa County710
8Kings County70-2
9Pinal County67-8
9San Diego County67-1
11Imperial County640
12Clark County63+2
13Salt Lake County61+1
14Butte County590
14Cook County59+4
14El Paso County59+3
14San Joaquin County59+4
14Stanislaus County59-2
19Allegheny County580
19Calaveras County58+1
19Chaffee County58+23
19Doña Ana County580
19Madera County58-4
19Sacramento County58-2
19Sutter County58+2
19Teller County58n/a
27Alameda County57+1
27Bernalillo County57+4
27Hamilton County57+2
27Montgomery County57+4
27Ventura County570
27Wayne County570
33Delaware County56+4
33Harris County56+2
33Jefferson County560
33Merced County56-2
33Scott County560
33Tulsa County56+2
39Contra Costa County55+1
39Hawaii County55-3
39Jefferson County55-1
39Lincoln County55+2
39Marion County55+1
39St. Louis city55+3
45Adams County54+2
45Denver County54+1
45Jefferson County540
45Lake County54+5
45Missoula County54-11
45Orange County54-5
45Philadelphia County54-2
45Trinity County54-3
45Weld County54+3
54Benewah County530
54Bergen County53+8
54Black Hawk County53-1
54Calcasieu Parish53-1
54Cuyahoga County53+2
54DuPage County53+9
54Jefferson County53+6
54Larimer County53+1
54Madison County530
54Mariposa County53-1
54San Luis Obispo County53-5
54Santa Clara County53+1
54Shoshone County53+2
54Suffolk County53-3
54Tarrant County53+2
54Washington County53+7
54Washington County53+6
71Beaver County52-2
71Boise County52+6
71Camden County520
71Clark County52+5
71Cleveland County52+5
71Clinton County52-6
71Dallas County520
71Davidson County52-1
71District of Columbia52-4
71Floyd County52-2
71Fulton County52-3
71Gwinnett County52+4
71Hinds County520
71Lancaster County52-3
71Lee County52+3
71Macon County52+5
71Marshall County52-3
71McLean County52+4
71Muscatine County52+1
71Okanogan County520
71Oklahoma County52+1
71Orange County52+9
71Ottawa County52+1
71Pima County52-2
71Pulaski County520
71St. Clair County52+7
71Travis County52+2
71Union County52-1
71Wake County520
71Washington County52-3
71Yakima County52+4
102Baltimore city51+5
102Cameron County51+9
102Clear Creek County51+1
102Duval County51+5
102East Baton Rouge Parish51-1
102Hennepin County51-1
102Hidalgo County51+4
102Hillsborough County51-1
102Kay County51-2
102Mecklenburg County51-2
102New York County51+1
102Park County51+3
102Santa Barbara County510
102St. Joseph County51+7
102St. Louis County51-1
102Stark County510
102Uintah County51+2
102Washoe County51-1
102Weber County510
121Allen County50+3
121Forsyth County50+3
121Johnson County50+6
121Knox County50+9
121Lea County500
121Linn County50+5
121McCracken County500
121Preble County50+6
121Shawnee County50+7
121Solano County50-2
121Utah County50-3
121Vigo County50-2
133Bexar County49-1
133Boulder County49+3
133Broward County49-3
133Davidson County49+3
133Davis County49-2
133DeKalb County49-2
133DeSoto County49+3
133Douglas County490
133Forrest County49+3
133Hardin County49-2
133Henderson County49-3
133Hudson County49-2
133Inyo County490
133Jefferson County49+12
133Klamath County49+10
133Lowndes County49-2
133Madison County49+9
133Mesa County49+1
133Miami-Dade County49-2
133Milwaukee County49+5
133Montgomery County49+5
133Palo Alto County490
133Peoria County49-2
133Sangamon County49+6
133St. Bernard Parish49+6
133Union County49-3
133Will County49+4
133Yuma County490
161Albany County48-1
161Blount County48-1
161Box Elder County480
161Cache County48+1
161Cumberland County48+5
161Durham County48-1
161Eddy County48+3
161Etowah County48-5
161Fairfax County48-1
161Fayette County48+4
161Garfield County48+1
161Hamilton County48-3
161Jackson County48+3
161Madison County480
161Monroe County48+12
161New Castle County48-2
161Northampton County48-8
161Nowata County48n/a
161Perry County48+1
161Russell County48+2
161Summit County48+2
161Sweetwater County48+2
161Tehama County48+6
161Vanderburgh County48+1
161Warren County480
161Warren County48-1
161Washington County48-3
161Wyandotte County48-1
189Bolivar County47+11
189Bowie County47-2
189Buchanan County47+1
189Cecil County47+2
189Champaign County47+2
189Crittenden County47-1
189Dewey County47+4
189Douglas County47-5
189Duchesne County47+2
189El Paso County470
189Franklin County47+1
189Gila County47+3
189Grand County47+3
189Greene County47+3
189Gunnison County47+2
189Hamilton County47+1
189Howard County47+5
189Jackson County47+13
189Jefferson Parish47+4
189Jersey County47-1
189Josephine County47+5
189Kleberg County47+4
189Lafayette Parish47+2
189Lebanon County47-9
189Plumas County470
189Porter County47+3
189Providence County47+2
189Richmond County47-1
189Rio Blanco County47+1
189San Juan County470
189Sublette County47-1
189Tooele County47-1
189Walker County47-4
222Arapahoe County46-1
222Baltimore County46+3
222Carbon County46+1
222Carson City46+1
222Clarke County46+3
222Colusa County46+3
222Craighead County46n/a
222Dane County46+4
222Daviess County46-6
222Fremont County46-1
222Houston County46-1
222Jefferson County46-1
222Kanawha County46-1
222King County46-2
222Leon County46-3
222Lewis and Clark County46-1
222Livingston Parish46-2
222McHenry County46+2
222Mendocino County46+1
222Montgomery County46+1
222Montgomery County46+3
222Napa County46-7
222Orleans Parish46-3
222Pinellas County46-2
222Pittsburg County46+2
222Placer County460
222Polk County46+1
222Randolph County46-6
222Rio Arriba County46+1

Showing the top 250 of 1001. The Excel download has every row.

Other periods

About this ranking

Median of the daily Air Quality Index (AQI) values of a US county over the days of the year with an AQI, from the EPA AirData annual summaries.

More on how it is measured
  • The daily county AQI is the highest AQI among the monitors and pollutants reported that day (ozone, PM2.5, PM10, carbon monoxide and nitrogen dioxide).
  • Lower is cleaner: 0 to 50 is good, 51 to 100 moderate and above 100 unhealthy for sensitive groups.

United States counties with air quality monitors only, about 1,000 of some 3,100 in recent years; a county without monitors has no value. The number of days with an AQI differs between counties because some monitors run only in the ozone season.

Every value in the ranking comes from the same publisher and the same period, so the counties are compared on one definition. 497 counties with data in other periods have no value for 2018 and are left out rather than filled from another source. Equal values share a rank.

How to cite

U.S. Environmental Protection Agency, Air Quality System, AirData. EPA AirData annual AQI by county: median daily AQI. https://aqs.epa.gov/aqsweb/airdata/download_files.html#Annual. Retrieved 2026-10-12.

Citation styles

The publisher is the author. Invokely is named only as the place the figures were read, where a style asks for it.

APA 7

U.S. Environmental Protection Agency. (2026). EPA AirData annual AQI by county: median daily AQI (US counties by median Air Quality Index (US EPA), 2018) [Data set]. Retrieved October 12, 2026, from https://aqs.epa.gov/aqsweb/airdata/download_files.html#Annual

MLA 9

EPA AirData annual AQI by county: median daily AQI, US counties by median Air Quality Index (US EPA), 2018. U.S. Environmental Protection Agency, 13 July 2026, https://aqs.epa.gov/aqsweb/airdata/download_files.html#Annual. Invokely, https://invokely.ai/rankings/median-air-quality-index/us-counties?period=2018. Accessed 12 Oct. 2026.

Chicago (author-date)

U.S. Environmental Protection Agency. 2026. EPA AirData annual AQI by county: median daily AQI. US counties by median Air Quality Index (US EPA), 2018. Dataset. Accessed October 12, 2026. https://aqs.epa.gov/aqsweb/airdata/download_files.html#Annual. Also distributed by Invokely, https://invokely.ai/rankings/median-air-quality-index/us-counties?period=2018.

Harvard

U.S. Environmental Protection Agency (2026) EPA AirData annual AQI by county: median daily AQI, US counties by median Air Quality Index (US EPA), 2018 [Dataset]. Available at: https://aqs.epa.gov/aqsweb/airdata/download_files.html#Annual, via Invokely: https://invokely.ai/rankings/median-air-quality-index/us-counties?period=2018 (Accessed: 12 October 2026).

BibTeX
@misc{environmental_us_counties_by_median_2018,
  author = {{U.S. Environmental Protection Agency}},
  title = {{EPA AirData annual AQI by county: median daily AQI: US counties by median Air Quality Index (US EPA), 2018}},
  year = {2026},
  howpublished = {Data set},
  url = {https://aqs.epa.gov/aqsweb/airdata/download_files.html#Annual},
  urldate = {2026-10-12},
  note = {Accessed via Invokely, https://invokely.ai/rankings/median-air-quality-index/us-counties?period=2018. Publisher attribution: U.S. Environmental Protection Agency, Air Quality System, AirData. EPA AirData annual AQI by county: median daily AQI. https://aqs.epa.gov/aqsweb/airdata/download\_files.html\#Annual. Retrieved 2026-10-12.},
}
RIS
TY  - DATA
AU  - U.S. Environmental Protection Agency
TI  - EPA AirData annual AQI by county: median daily AQI: US counties by median Air Quality Index (US EPA), 2018
PY  - 2026
DA  - 2026/07/13
PB  - U.S. Environmental Protection Agency
DB  - Invokely
UR  - https://aqs.epa.gov/aqsweb/airdata/download_files.html#Annual
L2  - https://invokely.ai/rankings/median-air-quality-index/us-counties?period=2018
Y2  - 2026/10/12
N1  - Accessed via Invokely, https://invokely.ai/rankings/median-air-quality-index/us-counties?period=2018.
N1  - Publisher attribution: U.S. Environmental Protection Agency, Air Quality System, AirData. EPA AirData annual AQI by county: median daily AQI. https://aqs.epa.gov/aqsweb/airdata/download_files.html#Annual. Retrieved 2026-10-12.
ER  - 
Embed this chart

Paste this code into a web page or a blog post. The chart shows the latest figures as they are published, with the source and a link back to this page.

Sites that read oEmbed links, such as WordPress, can show the chart when you paste the link to this page.

Use this data in your AI agent

Invokely serves this figure to AI assistants through MCP and to code through a REST API, with the source and citation attached. Ask your assistant:

Rank US counties by median Air Quality Index (US EPA) using official data, and cite the source.
rank_places {"indicator":"aqi_median","level":"province","within":"United States","limit":10}
GET https://invokely.ai/api/v1/rank?indicator=aqi_median&level=province&within=United%20States&limit=10

Connect Claude, ChatGPT or Cursor in one step. The trial answers 25 calls a day without an account.

Questions

Which county has the highest median Air Quality Index (US EPA)?

San Bernardino County, with 89 in 2018, according to the U.S. Environmental Protection Agency.

Which county has the lowest median Air Quality Index (US EPA)?

Harrison County, with 3 in 2018.

Where does this ranking come from?

Every value comes from one source and one period, so the places are comparable: U.S. Environmental Protection Agency, EPA AirData annual AQI by county: median daily AQI. Retrieved 2026-10-12. 497 counties have no value for 2018 and are not ranked.

Median Air Quality Index (US EPA): other rankings

US counties: more rankings