AirWaterScore

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

  1. 1Sonoma County, CAZIP 94515air 92 · water 99Strong96
  2. 2Uinta County, WYZIP 82933air 91 · water 99Strong95
  3. 3Carroll County, VAZIP 24312air 92 · water 96Strong94
  4. 4Los Alamos County, NMZIP 87547air 87 · water 100Strong94
  5. 5Keweenaw County, MIZIP 49805air 92 · water 94Strong93
  6. 6Gallatin County, MTZIP 59714air 87 · water 99Strong93
  7. 7Beaverhead County, MTZIP 59724air 86 · water 99Strong93
  8. 8Wilson County, TXZIP 78113air 91 · water 94Strong93
  9. 9Park County, WYZIP 82190air 86 · water 99Strong93
  10. 10Washakie County, WYZIP 82401air 87 · water 99Strong93
  11. 11Pacific County, WAZIP 98527air 87 · water 99Strong93
  12. 12Teton County, MTZIP 59419air 87 · water 97Strong92
  13. 13Wayne County, UTZIP 84715air 87 · water 97Strong92
  14. 14Maui County, HIZIP 96708air 84 · water 100Strong92
  15. 15Columbiana County, OHZIP 43920air 89 · water 93Strong91
  16. 16Cass County, NEZIP 68016air 82 · water 99Strong91
  17. 17Honolulu County, HIZIP 96701air 81 · water 100Strong91
  18. 18Jefferson County, WAZIP 98320air 82 · water 99Strong91
  19. 19Thomas County, NEZIP 69142air 79 · water 100Strong90
  20. 20Scotts Bluff County, NEZIP 69341air 79 · water 100Strong90
  21. 21Jackson County, COZIP 80430air 87 · water 93Strong90
  22. 22San Juan County, COZIP 81433air 86 · water 93Strong90
  23. 23Grays Harbor County, WAZIP 98520air 80 · water 99Strong90
  24. 24North Slope Borough, AKZIP 99519air 89 · water 90Strong90
  25. 25Dukes County, MAZIP 02535air 78 · water 99Strong89
  26. 26Sagadahoc County, MEZIP 04008air 77 · water 100Strong89
  27. 27Oswego County, NYZIP 13028air 78 · water 100Strong89
  28. 28Wayne County, NYZIP 13143air 78 · water 99Strong89
  29. 29Prince William County, VAZIP 20109air 77 · water 100Strong89
  30. 30Fauquier County, VAZIP 20115air 78 · water 100Strong89
  31. 31Stafford County, VAZIP 22134air 77 · water 100Strong89
  32. 32Caroline County, VAZIP 22427air 78 · water 100Strong89
  33. 33Hanover County, VAZIP 23005air 77 · water 100Strong89
  34. 34Prince Edward County, VAZIP 23909air 78 · water 100Strong89
  35. 35Person County, NCZIP 27343air 77 · water 100Strong89
  36. 36Hyde County, NCZIP 27810air 78 · water 100Strong89
  37. 37Cobb County, GAZIP 30008air 77 · water 100Strong89
  38. 38Dawson County, GAZIP 30148air 77 · water 100Strong89
  39. 39Charlton County, GAZIP 31537air 77 · water 100Strong89
  40. 40Pine County, MNZIP 55030air 78 · water 99Strong89
  41. 41Mille Lacs County, MNZIP 55371air 77 · water 100Strong89
  42. 42Hughes County, SDZIP 57501air 78 · water 100Strong89
  43. 43Glacier County, MTZIP 59411air 78 · water 99Strong89
  44. 44Potter County, TXZIP 79010air 80 · water 98Strong89
  45. 45Custer County, IDZIP 83226air 85 · water 93Strong89
  46. 46Kitsap County, WAZIP 98110air 79 · water 99Strong89
  47. 47Skagit County, WAZIP 98221air 80 · water 98Strong89
  48. 48Kenai Peninsula Borough, AKZIP 99556air 92 · water 86Strong89
  49. 49Caguas Municipio, PRZIP 00725air 82 · water 94Strong88
  50. 50Barnstable County, MAZIP 02532air 77 · water 99Strong88
  51. 51Kent County, RIZIP 02816air 77 · water 98Strong88
  52. 52Merrimack County, NHZIP 03046air 77 · water 98Strong88
  53. 53York County, MEZIP 03901air 78 · water 97Strong88
  54. 54Putnam County, NYZIP 10509air 77 · water 98Strong88
  55. 55Hamilton County, NYZIP 12032air 78 · water 98Strong88
  56. 56Tompkins County, NYZIP 13053air 77 · water 99Strong88
  57. 57Jefferson County, NYZIP 13601air 77 · water 98Strong88
  58. 58Niagara County, NYZIP 14008air 76 · water 99Strong88
  59. 59Charles County, MDZIP 20601air 76 · water 99Strong88
  60. 60Rockbridge County, VAZIP 24415air 77 · water 99Strong88
  61. 61Granville County, NCZIP 27507air 76 · water 99Strong88
  62. 62Lenoir County, NCZIP 28501air 77 · water 99Strong88
  63. 63Alexander County, NCZIP 28636air 76 · water 99Strong88
  64. 64Darlington County, SCZIP 29069air 75 · water 100Strong88
  65. 65Berkeley County, SCZIP 29410air 76 · water 100Strong88
  66. 66Rockdale County, GAZIP 30012air 76 · water 99Strong88
  67. 67Murray County, GAZIP 30705air 75 · water 100Strong88
  68. 68Liberty County, FLZIP 32321air 78 · water 97Strong88
  69. 69Claiborne County, TNZIP 37715air 78 · water 97Strong88
  70. 70Yalobusha County, MSZIP 38922air 78 · water 98Strong88
  71. 71Lauderdale County, MSZIP 39301air 76 · water 99Strong88
  72. 72Oldham County, KYZIP 40010air 75 · water 100Strong88
  73. 73Washington County, KYZIP 40040air 75 · water 100Strong88
  74. 74Greenup County, KYZIP 41121air 77 · water 98Strong88
  75. 75Simpson County, KYZIP 42134air 76 · water 100Strong88
  76. 76Hendricks County, INZIP 46103air 76 · water 99Strong88
  77. 77Shelby County, INZIP 46110air 76 · water 100Strong88
  78. 78Mason County, MIZIP 49405air 75 · water 100Strong88
  79. 79Washington County, MNZIP 55001air 77 · water 99Strong88
  80. 80Goodhue County, MNZIP 55009air 75 · water 100Strong88
  81. 81Meade County, SDZIP 57706air 77 · water 99Strong88
  82. 82Hill County, MTZIP 59501air 80 · water 96Strong88
  83. 83Lake County, MTZIP 59824air 84 · water 92Strong88
  84. 84Callaway County, MOZIP 63388air 75 · water 100Strong88
  85. 85Stoddard County, MOZIP 63730air 80 · water 95Strong88
  86. 86Leavenworth County, KSZIP 66007air 76 · water 99Strong88
  87. 87Knox County, NEZIP 68718air 76 · water 100Strong88
  88. 88St. John the Baptist Parish, LAZIP 70049air 76 · water 100Strong88
  89. 89Alamosa County, COZIP 81101air 76 · water 99Strong88
  90. 90Garfield County, UTZIP 84716air 89 · water 87Strong88
  91. 91Marin County, CAZIP 94901air 76 · water 100Strong88
  92. 92Lake County, CAZIP 95422air 81 · water 94Strong88
  93. 93Whatcom County, WAZIP 98220air 77 · water 99Strong88
  94. 94Thurston County, WAZIP 98501air 77 · water 98Strong88
  95. 95Mason County, WAZIP 98524air 76 · water 99Strong88
  96. 96Columbia County, WAZIP 99328air 75 · water 100Strong88
  97. 97Knox County, MEZIP 04547air 78 · water 96Strong87
  98. 98Chittenden County, VTZIP 05401air 73 · water 100Strong87
  99. 99Dutchess County, NYZIP 12501air 77 · water 97Strong87
  100. 100Oneida County, NYZIP 13042air 73 · water 100Strong87

Top 100 worst

  1. 1Bayamón Municipio, PRZIP 00956air 73 · water 0Mixed37
  2. 2Klamath County, ORZIP 97601air 66 · water 15Mixed41
  3. 3San Miguel County, COZIP 81423air 70 · water 13Mixed42
  4. 4Caddo Parish, LAZIP 71004air 72 · water 15Mixed44
  5. 5Yuma County, AZZIP 85336air 66 · water 23Mixed45
  6. 6Hinds County, MSZIP 39041air 69 · water 27Mixed48
  7. 7Ponce Municipio, PRZIP 00715air 79 · water 16Mixed48
  8. 8Valley County, IDZIP 83611air 70 · water 31Mixed51
  9. 9Edmonson County, KYZIP 42160air 76 · water 26Mixed51
  10. 10Tucker County, WVZIP 26260air 77 · water 24Mixed51
  11. 11Cumberland County, NJZIP 08302air 71 · water 30Mixed51
  12. 12Mercer County, NJZIP 08520air 69 · water 36Mixed53
  13. 13Pike County, KYZIP 41501air 74 · water 36Mixed55
  14. 14Crook County, ORZIP 97751air 68 · water 44Mixed56
  15. 15Pittsburg County, OKZIP 74425air 68 · water 44Mixed56
  16. 16Montgomery County, NCZIP 27209air 74 · water 38Mixed56
  17. 17Coconino County, AZZIP 85931air 65 · water 51Mixed58
  18. 18San Bernardino County, CAZIP 91701air 22 · water 98Mixed60
  19. 19Riverside County, CAZIP 91752air 25 · water 99Mixed62
  20. 20Pinal County, AZZIP 85118air 50 · water 74Good62
  21. 21Platte County, WYZIP 82201air 77 · water 46Mixed62
  22. 22Greenbrier County, WVZIP 24901air 76 · water 48Good62
  23. 23Cambria County, PAZIP 15714air 71 · water 52Good62
  24. 24Los Angeles County, CAZIP 90001air 27 · water 99Mixed63
  25. 25Doña Ana County, NMZIP 87936air 43 · water 83Mixed63
  26. 26St. Martin Parish, LAZIP 70517air 75 · water 50Good63
  27. 27Ohio County, WVZIP 26003air 72 · water 56Good64
  28. 28Chaves County, NMZIP 88201air 77 · water 52Good65
  29. 29Maricopa County, AZZIP 85003air 50 · water 80Mixed65
  30. 30Washington County, PAZIP 15004air 69 · water 61Good65
  31. 31Johnson County, WYZIP 82639air 76 · water 55Good66
  32. 32Hancock County, WVZIP 26034air 68 · water 64Good66
  33. 33Imperial County, CAZIP 92222air 46 · water 88Mixed67
  34. 34Waukesha County, WIZIP 53005air 66 · water 68Good67
  35. 35Aleutians East Borough, AKZIP 99553air 90 · water 46Mixed68
  36. 36Valencia County, NMZIP 87002air 68 · water 67Good68
  37. 37Tooele County, UTZIP 84022air 68 · water 67Good68
  38. 38Carbon County, WYZIP 82301air 84 · water 52Mixed68
  39. 39El Paso County, TXZIP 79821air 39 · water 96Mixed68
  40. 40Grant County, OKZIP 73758air 74 · water 61Good68
  41. 41Caswell County, NCZIP 27212air 77 · water 59Good68
  42. 42Kern County, CAZIP 93203air 44 · water 94Mixed69
  43. 43Tulare County, CAZIP 93201air 48 · water 89Mixed69
  44. 44Iron County, UTZIP 84714air 68 · water 69Good69
  45. 45San Juan County, UTZIP 84511air 70 · water 67Good69
  46. 46Park County, COZIP 80420air 62 · water 76Good69
  47. 47Edgecombe County, NCZIP 27801air 74 · water 64Good69
  48. 48Catron County, NMZIP 87820air 63 · water 77Good70
  49. 49Creek County, OKZIP 74010air 70 · water 69Good70
  50. 50Osage County, OKZIP 74001air 70 · water 69Good70
  51. 51Canadian County, OKZIP 73014air 70 · water 70Good70
  52. 52Aiken County, SCZIP 29105air 75 · water 64Good70
  53. 53Montgomery County, PAZIP 18041air 70 · water 70Good70
  54. 54Rio Arriba County, NMZIP 87012air 73 · water 69Good71
  55. 55Sandoval County, NMZIP 87001air 68 · water 73Good71
  56. 56Webb County, TXZIP 78019air 65 · water 76Good71
  57. 57Harrison County, TXZIP 75602air 71 · water 71Good71
  58. 58Crittenden County, ARZIP 72301air 72 · water 70Good71
  59. 59Powell County, MTZIP 59713air 84 · water 58Good71
  60. 60Missaukee County, MIZIP 49632air 71 · water 71Good71
  61. 61Tioga County, PAZIP 16901air 72 · water 70Good71
  62. 62Eddy County, NMZIP 88210air 55 · water 89Mixed72
  63. 63Santa Cruz County, AZZIP 85611air 64 · water 79Good72
  64. 64Cochise County, AZZIP 85602air 65 · water 79Good72
  65. 65Gila County, AZZIP 85135air 57 · water 86Good72
  66. 66Culberson County, TXZIP 79847air 67 · water 76Good72
  67. 67Nueces County, TXZIP 78330air 62 · water 81Good72
  68. 68Kiowa County, OKZIP 73041air 70 · water 74Good72
  69. 69Lincoln County, MTZIP 59917air 67 · water 76Good72
  70. 70Broward County, FLZIP 33004air 71 · water 73Good72
  71. 71Clarke County, GAZIP 30601air 69 · water 75Good72
  72. 72Harrison County, WVZIP 26301air 73 · water 70Good72
  73. 73Centre County, PAZIP 16677air 71 · water 73Good72
  74. 74Blair County, PAZIP 16601air 70 · water 74Good72
  75. 75Onondaga County, NYZIP 13020air 72 · water 72Good72
  76. 76Walla Walla County, WAZIP 99323air 72 · water 74Good73
  77. 77Lake County, ORZIP 97620air 69 · water 77Good73
  78. 78Lea County, NMZIP 88114air 68 · water 78Good73
  79. 79Yavapai County, AZZIP 85324air 67 · water 79Good73
  80. 80Duchesne County, UTZIP 84001air 63 · water 82Good73
  81. 81Harris County, TXZIP 77002air 50 · water 95Mixed73
  82. 82Cleveland County, OKZIP 73019air 68 · water 77Good73
  83. 83Iberville Parish, LAZIP 70721air 70 · water 76Good73
  84. 84Monroe County, NYZIP 14420air 70 · water 75Good73
  85. 85St. John Island, VIZIP 00830air 75 · water 71Good73
  86. 86Grant County, WAZIP 98823air 71 · water 76Good74
  87. 87Plumas County, CAZIP 95915air 58 · water 90Mixed74
  88. 88Siskiyou County, CAZIP 95568air 72 · water 76Good74
  89. 89Fresno County, CAZIP 93210air 50 · water 98Mixed74
  90. 90Kings County, CAZIP 93202air 58 · water 89Mixed74
  91. 91Inyo County, CAZIP 92328air 60 · water 87Good74
  92. 92Tarrant County, TXZIP 75054air 52 · water 95Mixed74
  93. 93Sequoyah County, OKZIP 74435air 72 · water 76Good74
  94. 94St. Louis city, MOZIP 63101air 62 · water 86Good74
  95. 95Forest County, WIZIP 54103air 68 · water 80Good74
  96. 96Jefferson County, OHZIP 43901air 66 · water 82Good74
  97. 97San Diego County, CAZIP 91901air 50 · water 99Mixed75
  98. 98Lincoln County, NMZIP 88301air 63 · water 87Good75
  99. 99Pima County, AZZIP 85321air 60 · water 90Mixed75
  100. 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