Washington Water Quality Report
294 cities tested · Average grade: B- · 9.2M people served
Live Water Alerts for Washington →Washington water quality overview
Washington's drinking water quality is fair overall, with an average score of 70.1 out of 100 across 294 cities tested. The median score is 74.8, serving a total population of 9,219,149 residents. 32% of cities scored a D or F, pointing to significant water quality challenges in parts of the state. PFAS "forever chemicals" were detected in 74 of 294 cities tested (25%). 26 cities exceed the 2024 EPA maximum contaminant levels. 5 cities have lead levels exceeding the EPA action level of 15 ppb, often indicating aging infrastructure with lead service lines or lead solder. The state relies on a mix of water sources: 205 cities use groundwater while 89 draw from surface water such as rivers, lakes, and reservoirs.
Issues to watch in Washington
Explore contaminants in Washington
More contaminants tested in Washington
Private-well water in Washington
Based on USGS Powell Domestic-Well Database — 6,699 private wells sampled across Washington. These wells are not regulated by the EPA; if you draw your tap from a private well, the public-system grade above does not apply to you.
Top industrial water polluters in Washington
Industrial polluters nearby
The 10 facilities reporting the most pounds released to surface water in Washington, 2023.
Total reported releases to surface water: 3,182,134 lbs
| Facility | Top chemical | To surface water (lbs/yr) |
|---|---|---|
LAMB WESTON INC RICHLAND FACILITY RICHLAND, WA99354 | Nitrate compounds (water dissociable; reportable only when in aqueous solution) | 2,350,514 |
ALLEIMA SPECIAL METALS LLC KENNEWICK, WA99337 | Nitrate compounds (water dissociable; reportable only when in aqueous solution) | 142,417 |
HF SINCLAIR PUGET SOUND REFINING LLC ANACORTES, WA98221 | Nitrate compounds (water dissociable; reportable only when in aqueous solution) | 130,237 |
PHILLIPS 66 FERNDALE REFINERY FERNDALE, WA98248 | Nitrate compounds (water dissociable; reportable only when in aqueous solution) | 122,302 |
NIPPON DYNAWAVE PACKAGING CO. LONGVIEW, WA98632 | Manganese And Manganese Compounds | 116,866 |
+ 5 more facilities
Source: EPA Toxic Release Inventory (TRI) 2023
How Washington cities scored
Worst Cities
Water quality across Washington
Each dot is a city, colored by its water quality grade. Size reflects population served. Click any city to view its full water report.
294 cities in Washington
| # | City | Grade | Score | Population | Violations |
|---|---|---|---|---|---|
| 1 | Steilacoom | A+ | 96.8 | 9K | 2 |
| 2 | Asotin | A+ | 96.6 | 3K | 7 |
| 3 | Nas Whidbey Island | A+ | 96.5 | 17K | 10 |
| 4 | Newman Lake | A+ | 95.3 | 2K | 23 |
| 5 | Waitsburg | A | 94.4 | 2K | 21 |
| 6 | Tukwila | A | 94.2 | 45K | 0 |
| 7 | Sedro Woolley | A | 94 | 2K | 15 |
| 8 | Manchester | A | 93.8 | 10K | 34 |
| 9 | Union Gap | A | 93.8 | 6K | 24 |
| 10 | Randle | A | 93.8 | 611 | 19 |
| 11 | Kittitas | A | 93.6 | 2K | 17 |
| 12 | Electric City | A | 93.5 | 2K | 31 |
| 13 | Twisp | A | 93.5 | 1K | 42 |
| 14 | Nooksack | A | 93.4 | 2K | 20 |
| 15 | Bainbridge Island | A | 93.3 | 13K | 17 |
| 16 | Birch Bay | A | 93.2 | 9K | 29 |
| 17 | Littlerock | A | 93.2 | 639 | 19 |
| 18 | Fife | A | 93.1 | 32K | 12 |
| 19 | Ion | A | 93.1 | 2K | 15 |
| 20 | Liberty Lake | A | 92.8 | 14K | 25 |
| 21 | Laconner | A | 92.8 | 3K | 15 |
| 22 | Mt Vernon | A | 92.7 | 2K | 12 |
| 23 | Ilwaco | A | 92.6 | 3K | 50 |
| 24 | Malaga | A | 92.5 | 3K | 28 |
| 25 | Dupont | A | 92.4 | 13K | 5 |
| 26 | Granger | A | 92 | 4K | 14 |
| 27 | Bellevue | A | 91.6 | 317K | 9 |
| 28 | Palouse | A | 91.4 | 1K | 37 |
| 29 | Startup | A | 91.4 | 643 | 20 |
| 30 | Wilkeson | A | 91 | 1K | 20 |
| 31 | Naches | A | 90.9 | 4K | 103 |
| 32 | Newcastle | A | 90.8 | 16K | 10 |
| 33 | Harrah | A | 90.8 | 1K | 21 |
| 34 | Albion | A | 90.8 | 606 | 65 |
| 35 | Coulee Dam | A | 90.7 | 1K | 3 |
| 36 | Mccleary | A | 90.6 | 3K | 70 |
| 37 | Graham | A | 90.5 | 2K | 39 |
| 38 | Pouslbo | A | 90.4 | 1K | 19 |
| 39 | Coulee City | A | 90.4 | 944 | 20 |
| 40 | Yacolt | A | 90.4 | 705 | 82 |
| 41 | Blaine | A | 90.3 | 6K | 95 |
| 42 | Goldbar | A | 90.3 | 3K | 25 |
| 43 | Adna | A | 90.1 | 2K | 85 |
| 44 | Kettle Falls | A | 90 | 3K | 6 |
| 45 | Toledo | A- | 89.9 | 2K | 22 |
| 46 | Colton | A- | 89.9 | 632 | 37 |
| 47 | Royal City | A- | 89.8 | 3K | 37 |
| 48 | Thorp | A- | 89.7 | 510 | 9 |
| 49 | Desert Aire | A- | 89.5 | 3K | 108 |
| 50 | Ashford | A- | 89.3 | 1K | 57 |
| 51 | Grand Coulee | A- | 89.2 | 2K | 6 |
| 52 | Anderson Island | A- | 89.2 | 1K | 67 |
| 53 | Dayton | A- | 89.1 | 3K | 15 |
| 54 | Duvall | A- | 89 | 14K | 9 |
| 55 | Des Moines | A- | 88.6 | 5K | 12 |
| 56 | Point Roberts | A- | 88.6 | 1K | 19 |
| 57 | Snoqualime | A- | 88.5 | 16K | 24 |
| 58 | Sumas | A- | 88.5 | 2K | 69 |
| 59 | Edmonds | A- | 88.4 | 50K | 13 |
| 60 | Eatonville | A- | 88.3 | 4K | 53 |
| 61 | Castle Rock | A- | 88.2 | 4K | 51 |
| 62 | Mabton | A- | 88 | 2K | 118 |
| 63 | Bingen | A- | 88 | 2K | 132 |
| 64 | Entiat | A- | 88 | 2K | 59 |
| 65 | North Bonneville | A- | 87.9 | 1K | 16 |
| 66 | Shoreline | A- | 87.7 | 32K | 6 |
| 67 | Ritzville | A- | 87.7 | 2K | 58 |
| 68 | Port Gamble | A- | 87.5 | 2K | 88 |
| 69 | Sumner | A- | 87.4 | 16K | 83 |
| 70 | Edgewood | A- | 87.4 | 10K | 7 |
| 71 | Malott | A- | 87.4 | 636 | 14 |
| 72 | South Cle Elum | A- | 87.4 | 541 | 52 |
| 73 | Granite Falls | A- | 87.3 | 7K | 8 |
| 74 | Glacier | A- | 87.3 | 2K | 13 |
| 75 | Allyn | A- | 87.3 | 2K | 89 |
| 76 | Davenport | A- | 87.3 | 2K | 47 |
| 77 | Rosalia | A- | 87.3 | 1K | 88 |
| 78 | Joyce | A- | 87.2 | 2K | 46 |
| 79 | Mukilteo | A- | 86.9 | 25K | 5 |
| 80 | Mercer Island | A- | 86.8 | 31K | 12 |
| 81 | Packwood | A- | 86.7 | 1K | 83 |
| 82 | Rock Island | A- | 86.6 | 4K | 80 |
| 83 | Anacortes | A- | 86.5 | 794 | 23 |
| 84 | Mckenna | A- | 86.5 | 600 | 7 |
| 85 | Bow | A- | 86.3 | 2K | 39 |
| 86 | Manson | A- | 86.2 | 7K | 45 |
| 87 | Woodinville | A- | 86.1 | 60K | 50 |
| 88 | Oroville | A- | 86.1 | 3K | 79 |
| 89 | George | A- | 86.1 | 1K | 61 |
| 90 | Snoqualmie | A- | 86 | 2K | 85 |
| 91 | Fircrest | A- | 85.8 | 8K | 55 |
| 92 | Acme | A- | 85.8 | 666 | 32 |
| 93 | Chinook | A- | 85.5 | 664 | 37 |
| 94 | Rainier | A- | 85.4 | 3K | 66 |
| 95 | Cheney | A- | 85.2 | 32K | 99 |
| 96 | Rochester | A- | 85.2 | 2K | 79 |
| 97 | Sunnyside | A- | 85.1 | 17K | 49 |
| 98 | Clarkston | B+ | 84.9 | 22K | 101 |
| 99 | Snoqualmie Pass | B+ | 84.9 | 6K | 105 |
| 100 | Orting | B+ | 84.8 | 10K | 27 |
| 101 | La Conner | B+ | 84.8 | 2K | 10 |
| 102 | Lind | B+ | 84.8 | 903 | 18 |
| 103 | Algona | B+ | 84.7 | 3K | 11 |
| 104 | Cusick | B+ | 84.6 | 672 | 30 |
| 105 | Ocean Park | B+ | 84.5 | 11K | 69 |
| 106 | Sprague | B+ | 84.5 | 570 | 98 |
| 107 | Falls City | B+ | 84.3 | 2K | 35 |
| 108 | Roy | B+ | 84.2 | 1K | 7 |
| 109 | Pateros | B+ | 84.1 | 1K | 77 |
| 110 | Enumclaw | B+ | 83.9 | 23K | 66 |
| 111 | North Bend | B+ | 83.8 | 14K | 98 |
| 112 | Tenino | B+ | 83.6 | 4K | 96 |
| 113 | Milton | B+ | 83.5 | 8K | 56 |
| 114 | Okanogan | B+ | 83.5 | 4K | 183 |
| 115 | Bucoda | B+ | 83.5 | 579 | 23 |
| 116 | Burien | B+ | 83.2 | 16K | 7 |
| 117 | Winlock | B+ | 83.2 | 4K | 241 |
| 118 | Washougal | B+ | 82.8 | 21K | 81 |
| 119 | Fairchild Afb | B+ | 82.8 | 6K | 9 |
| 120 | Greenacres | B+ | 82.6 | 31K | 45 |
| 121 | Chewelah | B+ | 82.6 | 3K | 93 |
| 122 | Mountlake Terrace | B+ | 82.4 | 26K | 12 |
| 123 | Roslyn | B+ | 82.4 | 2K | 13 |
| 124 | Pomeroy | B+ | 82.4 | 1K | 105 |
| 125 | Trout Lake | B+ | 82.4 | 992 | 11 |
| 126 | Vashion Island | B+ | 82.4 | 685 | 118 |
| 127 | Pullman | B+ | 82.3 | 51K | 26 |
| 128 | Longview | B+ | 82 | 49K | 15 |
| 129 | Fox Island | B+ | 81.7 | 3K | 214 |
| 130 | Lapush | B+ | 81.5 | 885 | 130 |
| 131 | Spangle | B+ | 80.9 | 650 | 60 |
| 132 | Suquamish | B+ | 80.8 | 653 | 128 |
| 133 | Everson | B+ | 80.7 | 5K | 82 |
| 134 | Lakewood | B+ | 80.6 | 62K | 40 |
| 135 | Joint Base Lewis-Mcchord | B+ | 80.4 | 72K | 133 |
| 136 | Carbonado | B | 79.8 | 875 | 111 |
| 137 | Sultan | B | 79.7 | 7K | 119 |
| 138 | Long Beach | B | 79.5 | 5K | 178 |
| 139 | Rockford | B | 79.3 | 570 | 70 |
| 140 | Airway | B | 79.1 | 9K | 84 |
| 141 | East Wenatchee | B | 78.8 | 27K | 60 |
| 142 | Selah | B | 78.7 | 13K | 133 |
| 143 | Federal Way | B | 77.3 | 118K | 51 |
| 144 | Colfax | B | 76.8 | 4K | 157 |
| 145 | Moxee | B | 76.5 | 6K | 87 |
| 146 | Waterville | B | 76 | 2K | 126 |
| 147 | Winthrop | B | 75.6 | 1K | 84 |
| 148 | Lynnwood | B- | 74.8 | 268K | 14 |
| 149 | Lake Tapps | B- | 74.8 | 2K | 95 |
| 150 | Greenbank | B- | 74.8 | 605 | 221 |
| 151 | Elma | B- | 74.5 | 7K | 149 |
| 152 | Centralia | B- | 74 | 29K | 64 |
| 153 | Skokomish Nation | B- | 74 | 1K | 170 |
| 154 | Carlsborg | B- | 73.4 | 15K | 139 |
| 155 | Redmond | B- | 73.3 | 175K | 177 |
| 156 | Hoquiam | B- | 73 | 21K | 249 |
| 157 | Goldendale | B- | 73 | 8K | 239 |
| 158 | Ravensdale | B- | 72.6 | 557 | 257 |
| 159 | Mead | B- | 72.5 | 27K | 183 |
| 160 | Kenmore | B- | 72.2 | 105K | 5 |
| 161 | Medical Lake | B- | 72 | 6K | 111 |
| 162 | Morton | B- | 72 | 2K | 349 |
| 163 | Pe Ell | B- | 70.7 | 859 | 161 |
| 164 | Battle Ground | B- | 70.2 | 30K | 226 |
| 165 | Fall City | B- | 70.1 | 3K | 257 |
| 166 | Hoodsport | C+ | 69.5 | 5K | 105 |
| 167 | Stevenson | C+ | 69.5 | 3K | 178 |
| 168 | Onalaska | C+ | 69.4 | 2K | 516 |
| 169 | Washtucna | C+ | 68.9 | 1K | 114 |
| 170 | Kalama | C+ | 68.2 | 8K | 51 |
| 171 | Port Ludlow | C+ | 67.9 | 4K | 65 |
| 172 | Spanaway | C+ | 67.8 | 33K | 70 |
| 173 | Maple Valley | C+ | 67.7 | 29K | 226 |
| 174 | Connell | C+ | 67.2 | 5K | 311 |
| 175 | Mesa | C+ | 67.1 | 2K | 99 |
| 176 | White Salmon | C+ | 67 | 4K | 92 |
| 177 | Dallesport | C+ | 67 | 923 | 325 |
| 178 | Custer | C+ | 66 | 1K | 170 |
| 179 | Ronald | C+ | 65.5 | 525 | 95 |
| 180 | Richland | C+ | 65.4 | 106K | 163 |
| 181 | Prosser | C+ | 65.4 | 7K | 241 |
| 182 | Clinton | C | 64.6 | 3K | 284 |
| 183 | Camano Island | C | 64.5 | 744 | 135 |
| 184 | Bridgeport | C | 64 | 3K | 421 |
| 185 | Leavenworth | C | 63.6 | 11K | 128 |
| 186 | Bremerton | C | 63.5 | 97K | 203 |
| 187 | Tekoa | C | 63.5 | 2K | 308 |
| 188 | Camas | C | 63.1 | 32K | 164 |
| 189 | Lake Stevens | C | 62.9 | 558 | 184 |
| 190 | Cathlamet | C | 62.1 | 4K | 299 |
| 191 | Monroe | C | 60.4 | 27K | 238 |
| 192 | Mattawa | C | 60 | 5K | 354 |
| 193 | Black Diamond | C- | 59.8 | 3K | 464 |
| 194 | Belfair | C- | 59.7 | 6K | 304 |
| 195 | Spokane Valley | C- | 59.1 | 34K | 112 |
| 196 | Issaquah | C- | 57.9 | 44K | 338 |
| 197 | Sammamish | C- | 56 | 88K | 433 |
| 198 | Mossyrock | C- | 56 | 2K | 104 |
| 199 | Carson | C- | 55.4 | 4K | 447 |
| 200 | South Bend | D+ | 54.8 | 3K | 323 |
| 201 | Yelm | D+ | 54.4 | 20K | 196 |
| 202 | Westport | D+ | 54.4 | 6K | 405 |
| 203 | Warden | D+ | 54.4 | 5K | 486 |
| 204 | Renton | D+ | 54.1 | 193K | 207 |
| 205 | Lummi Island | D+ | 53.7 | 529 | 112 |
| 206 | Grandview | D+ | 52.8 | 11K | 252 |
| 207 | Auburn | D+ | 52.5 | 117K | 264 |
| 208 | Lake Forest Park | D+ | 52 | 4K | 1999 |
| 209 | Buckley | D+ | 51.6 | 59K | 425 |
| 210 | Maple Falls | D+ | 51 | 5K | 371 |
| 211 | Tumwater | D+ | 50.9 | 67K | 92 |
| 212 | Kirkland | D+ | 50 | 67K | 260 |
| 213 | Quincy | D+ | 50 | 17K | 719 |
| 214 | Newport | D+ | 50 | 6K | 395 |
| 215 | Zillah | D+ | 50 | 4K | 240 |
| 216 | Wellpinit | D+ | 50 | 2K | 1861 |
| 217 | Nespelem | D+ | 50 | 2K | 1984 |
| 218 | College Place | D | 49.2 | 9K | 428 |
| 219 | Waverly | D | 49.2 | 3K | 454 |
| 220 | Colville | D | 49 | 6K | 376 |
| 221 | Omak | D | 48.9 | 5K | 172 |
| 222 | Stanwood | D | 48.2 | 22K | 481 |
| 223 | Freeland | D | 48 | 14K | 3935 |
| 224 | Cle Elum | D | 48 | 9K | 1259 |
| 225 | Tonasket | D | 48 | 7K | 1524 |
| 226 | Brewster | D | 48 | 5K | 408 |
| 227 | Langley | D | 48 | 2K | 186 |
| 228 | Quinault | D | 48 | 1K | 751 |
| 229 | Burbank | D | 48 | 872 | 388 |
| 230 | Walla Walla | D | 47.8 | 49K | 1022 |
| 231 | Pasco | D | 47.4 | 120K | 1370 |
| 232 | Ephrata | D | 47.4 | 10K | 299 |
| 233 | Deer Park | D | 47.3 | 5K | 71 |
| 234 | Union | D | 47 | 5K | 529 |
| 235 | Neah Bay | D | 47 | 1K | 763 |
| 236 | Ellensburg | D | 46.9 | 22K | 608 |
| 237 | Othello | D | 46.8 | 13K | 1166 |
| 238 | Ridgefield | D | 46.5 | 21K | 1369 |
| 239 | Marysville | D | 46.2 | 98K | 1045 |
| 240 | Snohomish | D | 46.2 | 41K | 415 |
| 241 | Wenatchee | D | 46 | 62K | 616 |
| 242 | Aberdeen | D | 46 | 18K | 237 |
| 243 | Napavine | D | 46 | 7K | 2238 |
| 244 | Marshall | D | 46 | 3K | 560 |
| 245 | Republic | D | 46 | 3K | 647 |
| 246 | Darrington | D | 46 | 2K | 256 |
| 247 | Tahola | D | 46 | 2K | 951 |
| 248 | Deming | D | 46 | 854 | 685 |
| 249 | Everett | D | 45.4 | 282K | 229 |
| 250 | Chelan | D | 45.2 | 10K | 278 |
| 251 | Forks | D | 45 | 5K | 942 |
| 252 | Lopez Island | F | 44.9 | 2K | 229 |
| 253 | Kent | F | 44.4 | 360K | 244 |
| 254 | Shelton | F | 44.1 | 42K | 2891 |
| 255 | Raymond | F | 44 | 18K | 826 |
| 256 | Eastsound | F | 44 | 5K | 525 |
| 257 | Oakville | F | 44 | 2K | 394 |
| 258 | Friday Harbor | F | 43.9 | 7K | 961 |
| 259 | Bellingham | F | 43.5 | 157K | 747 |
| 260 | Port Angeles | F | 43.5 | 33K | 386 |
| 261 | Kelso | F | 43.5 | 31K | 794 |
| 262 | Oak Harbor | F | 43.5 | 27K | 475 |
| 263 | West Richland | F | 43.5 | 19K | 444 |
| 264 | Chehalis | F | 43.4 | 13K | 522 |
| 265 | Sequim | F | 43 | 29K | 1235 |
| 266 | Gig Harbor | F | 43 | 24K | 543 |
| 267 | Ferndale | F | 42.9 | 25K | 1229 |
| 268 | Poulsbo | F | 42.8 | 65K | 1640 |
| 269 | Wapato | F | 42.8 | 8K | 1480 |
| 270 | Benton City | F | 42.8 | 6K | 1357 |
| 271 | Lynden | F | 42.5 | 28K | 1622 |
| 272 | Woodland | F | 42.5 | 13K | 2789 |
| 273 | Seattle | F | 42.3 | 1.2M | 1889 |
| 274 | Vashon | F | 42.3 | 9K | 350 |
| 275 | Mount Vernon | F | 42 | 149K | 1919 |
| 276 | Arlington | F | 42 | 25K | 1630 |
| 277 | Lacey | F | 41.8 | 129K | 1813 |
| 278 | Loon Lake | F | 41.8 | 18K | 972 |
| 279 | Bothell | F | 41.6 | 91K | 293 |
| 280 | Port Townsend | F | 41.3 | 33K | 687 |
| 281 | Cashmere | F | 41.2 | 10K | 422 |
| 282 | Toppenish | F | 41.2 | 10K | 1044 |
| 283 | Silverdale | F | 41.1 | 63K | 358 |
| 284 | Montesano | F | 41 | 16K | 520 |
| 285 | Yakima | F | 40.4 | 174K | 4018 |
| 286 | Spokane | F | 39.2 | 427K | 2463 |
| 287 | Olympia | F | 38.2 | 125K | 1687 |
| 288 | Coupeville | F | 38 | 25K | 4333 |
| 289 | Moses Lake | F | 36.4 | 37K | 2414 |
| 290 | Port Orchard | F | 36.2 | 94K | 10227 |
| 291 | Kennewick | F | 34.8 | 123K | 841 |
| 292 | Puyallup | F | 33.1 | 98K | 949 |
| 293 | Vancouver | F | 32.9 | 496K | 1604 |
| 294 | Tacoma | F | 32.2 | 628K | 2772 |
Browse Washington counties
Browse Washington by ZIP code
Look up water quality by ZIP code to find the systems serving your area.
View all Washington ZIP codes →Frequently asked questions about Washington's water
Is Washington's tap water safe to drink?
Washington's water quality varies by city. The statewide average grade is B- (70.1/100). 56% of cities scored an A or B, while 32% received a D or F. Check your specific city for detailed results.
Which Washington cities have the best water quality?
The top-rated cities are Steilacoom (A+), Asotin (A+), Nas Whidbey Island (A+). These cities scored highest based on violation history, lead levels, PFAS contamination, and regulatory compliance.
Which Washington cities have the worst water quality?
The lowest-rated cities are Tacoma (F), Vancouver (F), Puyallup (F). We recommend residents in these areas consider water filtration and review their city's specific contaminant data.
How many Washington cities have PFAS in their water?
74 out of 294 cities tested positive for PFAS "forever chemicals" (25%). 26 cities exceed the 2024 EPA maximum contaminant levels. Reverse osmosis or activated carbon filters can help reduce PFAS exposure.
Do any Washington cities have dangerous lead levels?
5 cities exceed the EPA lead action level of 15 ppb. Lead contamination typically comes from aging pipes and lead service lines rather than the water source itself. An NSF 53-certified filter can effectively remove lead from tap water.