US counties by median Air Quality Index (US EPA)

San Bernardino County had the highest median Air Quality Index (US EPA) of 1008 counties in 2016, at 84. Stutsman County had the lowest, at 8. The median was 41. Source: the U.S. Environmental Protection Agency.

Keep it in a collection in your library.
Median411008 counties

Map of counties, 2016

index, 2016. 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, 2016

San Bernardino County: 84 indexSan Bernardino County84Riverside County: 83 indexRiverside County83Kern County: 80 indexKern County80Los Angeles County: 77 indexLos Angeles County77Tulare County: 77 indexTulare County77Fresno County: 76 indexFresno County76Kings County: 72 indexKings County72Pinal County: 69 indexPinal County69San Diego County: 68 indexSan Diego County68Maricopa County: 67 indexMaricopa County67Hawaii County: 66 indexHawaii County66Madera County: 63 indexMadera County63Clark County: 61 indexClark County61Imperial County: 61 indexImperial County61San Joaquin County: 60 indexSan Joaquin County60Scott County: 60 indexScott County60Stanislaus County: 59 indexStanislaus County59Etowah County: 58 indexEtowah County58Merced County: 58 indexMerced County58Missoula County: 58 indexMissoula County58Orange County: 58 indexOrange County58Sutter County: 58 indexSutter County58Butte County: 57 indexButte County57Clinton County: 57 indexClinton County57DeKalb County: 57 indexDeKalb County57Wayne County: 57 indexWayne County57Allegheny County: 56 indexAllegheny County56Cook County: 56 indexCook County56Doña Ana County: 56 indexDoña Ana County56Jefferson County: 56 indexJefferson County56Jefferson County: 56 indexJefferson County56Lancaster County: 56 indexLancaster County56Ventura County: 56 indexVentura County56Delaware County: 55 indexDelaware County55East Baton Rouge Parish: 55 indexEast Baton Rouge Parish55El Paso County: 55 indexEl Paso County55Fulton County: 55 indexFulton County55Hamilton County: 55 indexHamilton County55Harris County: 55 indexHarris County55Lebanon County: 55 indexLebanon County55San Bernardino County: 84 indexSan Bernardino County84Riverside County: 83 indexRiverside County83Kern County: 80 indexKern County80Los Angeles County: 77 indexLos Angeles County77Tulare County: 77 indexTulare County77Fresno County: 76 indexFresno County76Kings County: 72 indexKings County72Pinal County: 69 indexPinal County69San Diego County: 68 indexSan Diego County68Maricopa County: 67 indexMaricopa County67Hawaii County: 66 indexHawaii County66Madera County: 63 indexMadera County63Clark County: 61 indexClark County61Imperial County: 61 indexImperial County61San Joaquin County: 60 indexSan Joaquin County60Scott County: 60 indexScott County60Stanislaus County: 59 indexStanislaus County59Etowah County: 58 indexEtowah County58Merced County: 58 indexMerced County58Missoula County: 58 indexMissoula County58Orange County: 58 indexOrange County58Sutter County: 58 indexSutter County58Butte County: 57 indexButte County57Clinton County: 57 indexClinton County57DeKalb County: 57 indexDeKalb County57Wayne County: 57 indexWayne County57Allegheny County: 56 indexAllegheny County56Cook County: 56 indexCook County56Doña Ana County: 56 indexDoña Ana County56Jefferson County: 56 indexJefferson County56Jefferson County: 56 indexJefferson County56Lancaster County: 56 indexLancaster County56Ventura County: 56 indexVentura County56Delaware County: 55 indexDelaware County55East Baton Rouge Parish: 55 indexEast Baton Rouge Parish55El Paso County: 55 indexEl Paso County55Fulton County: 55 indexFulton County55Hamilton County: 55 indexHamilton County55Harris County: 55 indexHarris County55Lebanon County: 55 indexLebanon County55
index. Source: EPA, EPA AirData annual AQI by county: median daily AQI. Retrieved 2026-10-12.

Full ranking

RankCounties2016
index
Change on 2015
1San Bernardino County840
2Riverside County83-5
3Kern County80-4
4Los Angeles County77-3
4Tulare County77-3
6Fresno County76-4
7Kings County72-2
8Pinal County69+6
9San Diego County68+3
10Maricopa County67+1
11Hawaii County66+3
12Madera County63-1
13Clark County610
13Imperial County61-5
15San Joaquin County600
15Scott County60-1
17Stanislaus County59-3
18Etowah County58+4
18Merced County58-3
18Missoula County58+2
18Orange County58-3
18Sutter County58+4
23Butte County57+2
23Clinton County57+1
23DeKalb County57+1
23Wayne County570
27Allegheny County56-2
27Cook County56-1
27Doña Ana County56+1
27Jefferson County56+1
27Jefferson County56-2
27Lancaster County560
27Ventura County560
34Delaware County550
34East Baton Rouge Parish55-1
34El Paso County55+1
34Fulton County550
34Hamilton County550
34Harris County55-3
34Lebanon County55+3
34Marion County55-1
34Philadelphia County55-1
34Sacramento County55-3
34San Luis Obispo County55-3
34Washington County550
46Berks County540
46Cuyahoga County54+3
46Daviess County54+2
46Denver County540
46Jefferson County54-1
46Tuscaloosa County54-2
52Armstrong County530
52Calcasieu Parish530
52Davidson County530
52District of Columbia530
52McCracken County53+5
52Northampton County53-3
52Salt Lake County53-1
52St. Louis city53-2
52Wake County53+1
52Westmoreland County53+1
62Alameda County52-2
62Beaver County52+1
62Bernalillo County52+1
62Camden County520
62Campbell County52+1
62Chester County52-3
62Clermont County520
62Hardin County52+1
62Henderson County52+5
62Hinds County52-2
62Kay County52-1
62Knox County52+1
62Lehigh County52+18
62Miami-Dade County52+3
62New Castle County520
62New York County52-2
62Paulding County52+1
62Pulaski County52-1
62Spartanburg County52+3
62Summit County52-5
62Tulsa County520
62Union County52-1
84Black Hawk County51-5
84Boyd County51+2
84Cumberland County51-3
84Hillsborough County51-1
84Lake County51-3
84Larimer County510
84Lemhi County510
84Livingston Parish51-2
84Madison County51+3
84Mobile County51+3
84Orleans Parish51+5
84Perry County51+8
84St. Joseph County51-2
84Suffolk County51-2
84Trinity County51+39
84Van Buren County51+4
84Vigo County51-1
84Walker County510
84York County51-4
103Bibb County50+2
103Canyon County50+16
103Cobb County500
103Dallas County50-2
103Dauphin County50-6
103Greenville County50+1
103Mecklenburg County50-2
103Pima County50+4
103Placer County50-1
103Santa Barbara County50-1
103Santa Clara County50-1
103Utah County50+2
103Warren County50+3
116Baltimore city49-4
116Bexar County49-4
116Calaveras County49+2
116Clark County49-3
116Durham County49+1
116Floyd County49-3
116Hamilton County49+5
116Hudson County49+2
116Macon County49+5
116Montgomery County49+1
116Muscatine County49-1
116Pike County49-3
116Providence County49-3
116Warren County49+7
116Washoe County49-3
116Weber County49-1
116Weld County49+2
116Yuma County49+5
134Allen County48-3
134Baltimore County48+5
134Bowie County48-3
134Catawba County48-4
134Clark County48-2
134Dougherty County48-5
134Duval County48+4
134Elkhart County48-3
134Garland County48+2
134Glenn County48+2
134Guilford County48+2
134Harford County480
134Hennepin County48-4
134Howard County48-10
134Howard County48+7
134Jackson County48+4
134Lee County48-3
134Leon County48-3
134Mariposa County48+1
134Marshall County48-3
134Mercer County48+2
134Mercer County48-5
134Montgomery County48-5
134Peoria County48+1
134Prince George's County48-7
134Richland County48+2
134Santa Cruz County48+10
134St. Louis County48-4
134Tarrant County48-2
134Warren County48+13
134Will County48-5
165Bartholomew County47-4
165Bergen County47-7
165Broward County47+8
165Cecil County47-3
165Chaffee County470
165Clear Creek County47-1
165Davidson County47-7
165Davis County47+8
165DeSoto County470
165Erie County47-5
165Forsyth County47-2
165Garfield County47+2
165Hamilton County47+4
165Jackson County470
165Jefferson County47+3
165La Plata County47+4
165Lexington County470
165Linn County47-1
165Loudon County47+4
165Mesa County47-1
165Orange County47+3
165Ottawa County47-3
165Palm Beach County47+5
165Park County47+2
165San Mateo County47+12
165Sarasota County47+1
165Shelby County47-4
165Shoshone County47-6
165Solano County47-3
165Travis County47-2
165Uintah County47+1
165Union County47+4
165Vanderburgh County47-6
165Washington County47-4
165West Baton Rouge Parish47+1
165Wyandotte County47-6
201Adams County46+1
201Albany County460
201Cache County46+3
201Cambria County46-8
201Clayton County46-5
201Contra Costa County46-2
201Cumberland County46+1
201El Paso County46+2
201Ellis County460
201Essex County46+7
201Fairbanks North Star Borough46-13
201Forrest County46-5
201Franklin County46-6
201Gwinnett County46+1
201Holmes County46+3
201Jefferson County46+1
201Jefferson County46-7
201Kent County46-1
201Lawrence County46-4
201Lucas County46-2
201Montgomery County46-2
201Morgan County46+2
201Oklahoma County460
201Richmond County460
201St. Bernard Parish46-6
201Talladega County46-6
201Webb County46-3
201Yancey County46+1
229Ashley County45+3
229Bronx County45-6
229Cameron County45-3
229Centre County45-1
229Citrus County45+13
229Colusa County45-8
229Dorchester County450
229Douglas County45-3
229Duchesne County450
229Edgefield County45+8
229El Dorado County45+1
229Graham County45+2
229Inyo County45-4
229Jefferson County45-2
229Lackawanna County45-6
229Mahoning County45-4
229Middlesex County45+8
229Nassau County45+2
229Nevada County45-3
229Pinellas County45+2
229Rapides Parish45+9
229Richmond County45-6

Showing the top 250 of 1008. 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. 490 counties with data in other periods have no value for 2016 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), 2016) [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), 2016. 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=2016. 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), 2016. 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=2016.

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), 2016 [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=2016 (Accessed: 12 October 2026).

BibTeX
@misc{environmental_us_counties_by_median_2016,
  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), 2016}},
  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=2016. 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), 2016
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=2016
Y2  - 2026/10/12
N1  - Accessed via Invokely, https://invokely.ai/rankings/median-air-quality-index/us-counties?period=2016.
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 84 in 2016, according to the U.S. Environmental Protection Agency.

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

Stutsman County, with 8 in 2016.

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. 490 counties have no value for 2016 and are not ranked.

Median Air Quality Index (US EPA): other rankings

US counties: more rankings