EPA AirData + SDWIS/ECHO
Best & Worst Counties for Air and Water Quality
Every US county with both an EPA air monitor and an active water system, ranked by the same composite score as the ZIP score tool — the top 100 best and worst in the country, each with a representative ZIP.
In plain terms: Sonoma County, CA has the best combined air and water score of the 972 US counties with both an EPA air monitor and an active water system, and Bayamón Municipio, PR the worst.
Top 100 best
- 1Sonoma County, CAZIP 94515air 92 · water 99Strong96
- 2Uinta County, WYZIP 82933air 91 · water 99Strong95
- 3Carroll County, VAZIP 24312air 92 · water 96Strong94
- 4Los Alamos County, NMZIP 87547air 87 · water 100Strong94
- 5Keweenaw County, MIZIP 49805air 92 · water 94Strong93
- 6Gallatin County, MTZIP 59714air 87 · water 99Strong93
- 7Beaverhead County, MTZIP 59724air 86 · water 99Strong93
- 8Wilson County, TXZIP 78113air 91 · water 94Strong93
- 9Park County, WYZIP 82190air 86 · water 99Strong93
- 10Washakie County, WYZIP 82401air 87 · water 99Strong93
- 11Pacific County, WAZIP 98527air 87 · water 99Strong93
- 12Teton County, MTZIP 59419air 87 · water 97Strong92
- 13Wayne County, UTZIP 84715air 87 · water 97Strong92
- 14Maui County, HIZIP 96708air 84 · water 100Strong92
- 15Columbiana County, OHZIP 43920air 89 · water 93Strong91
- 16Cass County, NEZIP 68016air 82 · water 99Strong91
- 17Honolulu County, HIZIP 96701air 81 · water 100Strong91
- 18Jefferson County, WAZIP 98320air 82 · water 99Strong91
- 19Thomas County, NEZIP 69142air 79 · water 100Strong90
- 20Scotts Bluff County, NEZIP 69341air 79 · water 100Strong90
- 21Jackson County, COZIP 80430air 87 · water 93Strong90
- 22San Juan County, COZIP 81433air 86 · water 93Strong90
- 23Grays Harbor County, WAZIP 98520air 80 · water 99Strong90
- 24North Slope Borough, AKZIP 99519air 89 · water 90Strong90
- 25Dukes County, MAZIP 02535air 78 · water 99Strong89
- 26Sagadahoc County, MEZIP 04008air 77 · water 100Strong89
- 27Oswego County, NYZIP 13028air 78 · water 100Strong89
- 28Wayne County, NYZIP 13143air 78 · water 99Strong89
- 29Prince William County, VAZIP 20109air 77 · water 100Strong89
- 30Fauquier County, VAZIP 20115air 78 · water 100Strong89
- 31Stafford County, VAZIP 22134air 77 · water 100Strong89
- 32Caroline County, VAZIP 22427air 78 · water 100Strong89
- 33Hanover County, VAZIP 23005air 77 · water 100Strong89
- 34Prince Edward County, VAZIP 23909air 78 · water 100Strong89
- 35Person County, NCZIP 27343air 77 · water 100Strong89
- 36Hyde County, NCZIP 27810air 78 · water 100Strong89
- 37Cobb County, GAZIP 30008air 77 · water 100Strong89
- 38Dawson County, GAZIP 30148air 77 · water 100Strong89
- 39Charlton County, GAZIP 31537air 77 · water 100Strong89
- 40Pine County, MNZIP 55030air 78 · water 99Strong89
- 41Mille Lacs County, MNZIP 55371air 77 · water 100Strong89
- 42Hughes County, SDZIP 57501air 78 · water 100Strong89
- 43Glacier County, MTZIP 59411air 78 · water 99Strong89
- 44Potter County, TXZIP 79010air 80 · water 98Strong89
- 45Custer County, IDZIP 83226air 85 · water 93Strong89
- 46Kitsap County, WAZIP 98110air 79 · water 99Strong89
- 47Skagit County, WAZIP 98221air 80 · water 98Strong89
- 48Kenai Peninsula Borough, AKZIP 99556air 92 · water 86Strong89
- 49Caguas Municipio, PRZIP 00725air 82 · water 94Strong88
- 50Barnstable County, MAZIP 02532air 77 · water 99Strong88
- 51Kent County, RIZIP 02816air 77 · water 98Strong88
- 52Merrimack County, NHZIP 03046air 77 · water 98Strong88
- 53York County, MEZIP 03901air 78 · water 97Strong88
- 54Putnam County, NYZIP 10509air 77 · water 98Strong88
- 55Hamilton County, NYZIP 12032air 78 · water 98Strong88
- 56Tompkins County, NYZIP 13053air 77 · water 99Strong88
- 57Jefferson County, NYZIP 13601air 77 · water 98Strong88
- 58Niagara County, NYZIP 14008air 76 · water 99Strong88
- 59Charles County, MDZIP 20601air 76 · water 99Strong88
- 60Rockbridge County, VAZIP 24415air 77 · water 99Strong88
- 61Granville County, NCZIP 27507air 76 · water 99Strong88
- 62Lenoir County, NCZIP 28501air 77 · water 99Strong88
- 63Alexander County, NCZIP 28636air 76 · water 99Strong88
- 64Darlington County, SCZIP 29069air 75 · water 100Strong88
- 65Berkeley County, SCZIP 29410air 76 · water 100Strong88
- 66Rockdale County, GAZIP 30012air 76 · water 99Strong88
- 67Murray County, GAZIP 30705air 75 · water 100Strong88
- 68Liberty County, FLZIP 32321air 78 · water 97Strong88
- 69Claiborne County, TNZIP 37715air 78 · water 97Strong88
- 70Yalobusha County, MSZIP 38922air 78 · water 98Strong88
- 71Lauderdale County, MSZIP 39301air 76 · water 99Strong88
- 72Oldham County, KYZIP 40010air 75 · water 100Strong88
- 73Washington County, KYZIP 40040air 75 · water 100Strong88
- 74Greenup County, KYZIP 41121air 77 · water 98Strong88
- 75Simpson County, KYZIP 42134air 76 · water 100Strong88
- 76Hendricks County, INZIP 46103air 76 · water 99Strong88
- 77Shelby County, INZIP 46110air 76 · water 100Strong88
- 78Mason County, MIZIP 49405air 75 · water 100Strong88
- 79Washington County, MNZIP 55001air 77 · water 99Strong88
- 80Goodhue County, MNZIP 55009air 75 · water 100Strong88
- 81Meade County, SDZIP 57706air 77 · water 99Strong88
- 82Hill County, MTZIP 59501air 80 · water 96Strong88
- 83Lake County, MTZIP 59824air 84 · water 92Strong88
- 84Callaway County, MOZIP 63388air 75 · water 100Strong88
- 85Stoddard County, MOZIP 63730air 80 · water 95Strong88
- 86Leavenworth County, KSZIP 66007air 76 · water 99Strong88
- 87Knox County, NEZIP 68718air 76 · water 100Strong88
- 88St. John the Baptist Parish, LAZIP 70049air 76 · water 100Strong88
- 89Alamosa County, COZIP 81101air 76 · water 99Strong88
- 90Garfield County, UTZIP 84716air 89 · water 87Strong88
- 91Marin County, CAZIP 94901air 76 · water 100Strong88
- 92Lake County, CAZIP 95422air 81 · water 94Strong88
- 93Whatcom County, WAZIP 98220air 77 · water 99Strong88
- 94Thurston County, WAZIP 98501air 77 · water 98Strong88
- 95Mason County, WAZIP 98524air 76 · water 99Strong88
- 96Columbia County, WAZIP 99328air 75 · water 100Strong88
- 97Knox County, MEZIP 04547air 78 · water 96Strong87
- 98Chittenden County, VTZIP 05401air 73 · water 100Strong87
- 99Dutchess County, NYZIP 12501air 77 · water 97Strong87
- 100Oneida County, NYZIP 13042air 73 · water 100Strong87
Top 100 worst
- 1Bayamón Municipio, PRZIP 00956air 73 · water 0Mixed37
- 2Klamath County, ORZIP 97601air 66 · water 15Mixed41
- 3San Miguel County, COZIP 81423air 70 · water 13Mixed42
- 4Caddo Parish, LAZIP 71004air 72 · water 15Mixed44
- 5Yuma County, AZZIP 85336air 66 · water 23Mixed45
- 6Hinds County, MSZIP 39041air 69 · water 27Mixed48
- 7Ponce Municipio, PRZIP 00715air 79 · water 16Mixed48
- 8Valley County, IDZIP 83611air 70 · water 31Mixed51
- 9Edmonson County, KYZIP 42160air 76 · water 26Mixed51
- 10Tucker County, WVZIP 26260air 77 · water 24Mixed51
- 11Cumberland County, NJZIP 08302air 71 · water 30Mixed51
- 12Mercer County, NJZIP 08520air 69 · water 36Mixed53
- 13Pike County, KYZIP 41501air 74 · water 36Mixed55
- 14Crook County, ORZIP 97751air 68 · water 44Mixed56
- 15Pittsburg County, OKZIP 74425air 68 · water 44Mixed56
- 16Montgomery County, NCZIP 27209air 74 · water 38Mixed56
- 17Coconino County, AZZIP 85931air 65 · water 51Mixed58
- 18San Bernardino County, CAZIP 91701air 22 · water 98Mixed60
- 19Riverside County, CAZIP 91752air 25 · water 99Mixed62
- 20Pinal County, AZZIP 85118air 50 · water 74Good62
- 21Platte County, WYZIP 82201air 77 · water 46Mixed62
- 22Greenbrier County, WVZIP 24901air 76 · water 48Good62
- 23Cambria County, PAZIP 15714air 71 · water 52Good62
- 24Los Angeles County, CAZIP 90001air 27 · water 99Mixed63
- 25Doña Ana County, NMZIP 87936air 43 · water 83Mixed63
- 26St. Martin Parish, LAZIP 70517air 75 · water 50Good63
- 27Ohio County, WVZIP 26003air 72 · water 56Good64
- 28Chaves County, NMZIP 88201air 77 · water 52Good65
- 29Maricopa County, AZZIP 85003air 50 · water 80Mixed65
- 30Washington County, PAZIP 15004air 69 · water 61Good65
- 31Johnson County, WYZIP 82639air 76 · water 55Good66
- 32Hancock County, WVZIP 26034air 68 · water 64Good66
- 33Imperial County, CAZIP 92222air 46 · water 88Mixed67
- 34Waukesha County, WIZIP 53005air 66 · water 68Good67
- 35Aleutians East Borough, AKZIP 99553air 90 · water 46Mixed68
- 36Valencia County, NMZIP 87002air 68 · water 67Good68
- 37Tooele County, UTZIP 84022air 68 · water 67Good68
- 38Carbon County, WYZIP 82301air 84 · water 52Mixed68
- 39El Paso County, TXZIP 79821air 39 · water 96Mixed68
- 40Grant County, OKZIP 73758air 74 · water 61Good68
- 41Caswell County, NCZIP 27212air 77 · water 59Good68
- 42Kern County, CAZIP 93203air 44 · water 94Mixed69
- 43Tulare County, CAZIP 93201air 48 · water 89Mixed69
- 44Iron County, UTZIP 84714air 68 · water 69Good69
- 45San Juan County, UTZIP 84511air 70 · water 67Good69
- 46Park County, COZIP 80420air 62 · water 76Good69
- 47Edgecombe County, NCZIP 27801air 74 · water 64Good69
- 48Catron County, NMZIP 87820air 63 · water 77Good70
- 49Creek County, OKZIP 74010air 70 · water 69Good70
- 50Osage County, OKZIP 74001air 70 · water 69Good70
- 51Canadian County, OKZIP 73014air 70 · water 70Good70
- 52Aiken County, SCZIP 29105air 75 · water 64Good70
- 53Montgomery County, PAZIP 18041air 70 · water 70Good70
- 54Rio Arriba County, NMZIP 87012air 73 · water 69Good71
- 55Sandoval County, NMZIP 87001air 68 · water 73Good71
- 56Webb County, TXZIP 78019air 65 · water 76Good71
- 57Harrison County, TXZIP 75602air 71 · water 71Good71
- 58Crittenden County, ARZIP 72301air 72 · water 70Good71
- 59Powell County, MTZIP 59713air 84 · water 58Good71
- 60Missaukee County, MIZIP 49632air 71 · water 71Good71
- 61Tioga County, PAZIP 16901air 72 · water 70Good71
- 62Eddy County, NMZIP 88210air 55 · water 89Mixed72
- 63Santa Cruz County, AZZIP 85611air 64 · water 79Good72
- 64Cochise County, AZZIP 85602air 65 · water 79Good72
- 65Gila County, AZZIP 85135air 57 · water 86Good72
- 66Culberson County, TXZIP 79847air 67 · water 76Good72
- 67Nueces County, TXZIP 78330air 62 · water 81Good72
- 68Kiowa County, OKZIP 73041air 70 · water 74Good72
- 69Lincoln County, MTZIP 59917air 67 · water 76Good72
- 70Broward County, FLZIP 33004air 71 · water 73Good72
- 71Clarke County, GAZIP 30601air 69 · water 75Good72
- 72Harrison County, WVZIP 26301air 73 · water 70Good72
- 73Centre County, PAZIP 16677air 71 · water 73Good72
- 74Blair County, PAZIP 16601air 70 · water 74Good72
- 75Onondaga County, NYZIP 13020air 72 · water 72Good72
- 76Walla Walla County, WAZIP 99323air 72 · water 74Good73
- 77Lake County, ORZIP 97620air 69 · water 77Good73
- 78Lea County, NMZIP 88114air 68 · water 78Good73
- 79Yavapai County, AZZIP 85324air 67 · water 79Good73
- 80Duchesne County, UTZIP 84001air 63 · water 82Good73
- 81Harris County, TXZIP 77002air 50 · water 95Mixed73
- 82Cleveland County, OKZIP 73019air 68 · water 77Good73
- 83Iberville Parish, LAZIP 70721air 70 · water 76Good73
- 84Monroe County, NYZIP 14420air 70 · water 75Good73
- 85St. John Island, VIZIP 00830air 75 · water 71Good73
- 86Grant County, WAZIP 98823air 71 · water 76Good74
- 87Plumas County, CAZIP 95915air 58 · water 90Mixed74
- 88Siskiyou County, CAZIP 95568air 72 · water 76Good74
- 89Fresno County, CAZIP 93210air 50 · water 98Mixed74
- 90Kings County, CAZIP 93202air 58 · water 89Mixed74
- 91Inyo County, CAZIP 92328air 60 · water 87Good74
- 92Tarrant County, TXZIP 75054air 52 · water 95Mixed74
- 93Sequoyah County, OKZIP 74435air 72 · water 76Good74
- 94St. Louis city, MOZIP 63101air 62 · water 86Good74
- 95Forest County, WIZIP 54103air 68 · water 80Good74
- 96Jefferson County, OHZIP 43901air 66 · water 82Good74
- 97San Diego County, CAZIP 91901air 50 · water 99Mixed75
- 98Lincoln County, NMZIP 88301air 63 · water 87Good75
- 99Pima County, AZZIP 85321air 60 · water 90Mixed75
- 100Lemhi County, IDZIP 83253air 69 · water 80Good75
Informational only, not professional advice. This ranking summarises public EPA records. It is not a health assessment, a water test, or a substitute for checking a specific ZIP code or utility's current status.
How this is calculated
The same composite formula as the Air & Water Score by ZIP Code tool, run directly on every county that has both an EPA-monitored air record and at least one active community water system — 972 counties nationwide as of this build. Counties with only one half of the data (no monitor, or no active water system) are excluded from this particular ranking, but still get a single-axis score on the cleanest air and worst water state rankings.
air score = clamp(100 - AQI90 / 2, 0, 100) water score = 100 - population-weighted violation penalty composite = 50% air + 50% water If air and water scores differ by 30 points or more, the county is labeled "Mixed" instead of averaged — the average would hide whichever half is actually worse.
No adjustable weights panel on this page — with 972 counties to recompute, that needs a client-side fetch of the whole dataset just to move one slider. Use the ZIP score tool to change the air/water mix or the violation weights and see the effect on one place directly.
Sources
Last reviewed: September 2026 · Data in use: AQI 2025, SDWIS 2026Q2 · Dataset built 2026-09-02
Frequently asked questions
Why does this rank counties instead of ZIP codes?
Because the underlying EPA data is county-level, not ZIP-level, every ZIP code inside one county already shares the exact same air and water score. A ZIP-labeled version of this ranking would just be this same county list with ZIP codes standing in arbitrarily for ties. Ranking the county directly, with one representative ZIP shown for recognition, is the honest version of the same idea.
How is a county's composite score calculated?
The same formula as the Air & Water Score by ZIP Code tool: an air subscore from the county's 90th-percentile AQI, a water subscore from a population-weighted read of its active water systems' EPA violation records, averaged 50/50. When the two halves disagree sharply, the county is labeled "Mixed" instead of averaged, so a strong score on one side can't quietly cover for a weak score on the other.
Does a county near the bottom of this list have unsafe water or air?
Not necessarily. This is a compliance and monitoring record, not a live safety measurement or a health assessment. A county can rank low because a small water system serving a fraction of its residents carries an unresolved violation, or because its air monitor recorded a run of high-AQI days. Look up the specific ZIP or utility for the fuller picture behind any one rank.
Why do small, low-population counties show up at the extremes?
No population floor is applied to this ranking — a county's rank rests on its own record, whether that record comes from one water system or fifty. A sparsely populated county can reach the very top or bottom on the strength of a single system's compliance history, the same way a one-monitor county's rank on the cleanest-air-by-state tool rests on one measurement rather than many.
Related tools
A composite score for outdoor air quality and drinking-water compliance in any US ZIP code, built from EPA AirData and SDWIS/ECHO records.
Open tool →Compare Two ZIP CodesSide-by-side air quality and drinking water score for any two US ZIP codes, from the same EPA data as the ZIP score tool.
Open tool →Cleanest Air by StateEvery US state and territory with an EPA air monitor, ranked by a population-weighted air score, drilling down to the monitored counties behind each rank.
Open tool →Worst Water Violations by StateEvery US state and territory with an active public water system, ranked worst-first by a pooled drinking-water compliance score built from EPA SDWIS/ECHO violation records, drilling down to the counties behind each rank.
Open tool →Cleanest Drinking Water by StateEvery US state and territory with an active public water system, ranked best-first by the same pooled drinking-water compliance score as the worst-water ranking.
Open tool →