West Virginia Tap Water Quality Report
220 cities analyzed • 1,059,645 people served
Updated March 2026 • Data from EWG & EPA SDWIS
Most Common Contaminants in West Virginia
| Contaminant | Found In | % of Cities |
|---|---|---|
| Total trihalomethanes (TTHMs) carcinogen | 211 of 220 | 96% |
| Haloacetic acids (HAA5) carcinogen | 206 of 220 | 94% |
| Bromodichloromethane carcinogen | 205 of 220 | 93% |
| Chloroform carcinogen | 205 of 220 | 93% |
| Dichloroacetic acid carcinogen | 202 of 220 | 92% |
| Trichloroacetic acid carcinogen | 189 of 220 | 86% |
| Dibromochloromethane carcinogen | 176 of 220 | 80% |
| Monochloroacetic acid | 172 of 220 | 78% |
| Barium | 143 of 220 | 65% |
| Nitrate carcinogen | 132 of 220 | 60% |
City-by-City Water Quality Rankings
Ranked by number of contaminants above EWG health guidelines (most to fewest).
| # | City | Detected | Above Guidelines | Above Legal | People Served |
|---|---|---|---|---|---|
| 1 | Weirton | 36 | 18 | 1 | 18,633 |
| 2 | Davisville | 27 | 16 | 1 | 34,251 |
| 3 | Reader | 27 | 16 | 2 | 0 |
| 4 | Vienna | 33 | 15 | 2 | 12,507 |
| 5 | Maidesville | 26 | 15 | 0 | 2,235 |
| 6 | Morgantown | 25 | 14 | 0 | 64,644 |
| 7 | Wheeling | 24 | 14 | 0 | 29,899 |
| 8 | Charles Town | 24 | 14 | 0 | 15,220 |
| 9 | Saint Albans | 26 | 14 | 0 | 13,696 |
| 10 | Bellville | 23 | 14 | 1 | 10,377 |
| 11 | Triadelphia | 25 | 14 | 0 | 10,220 |
| 12 | Kenova | 25 | 14 | 0 | 9,991 |
| 13 | Lavalette | 24 | 14 | 0 | 7,293 |
| 14 | Chester | 22 | 14 | 0 | 3,220 |
| 15 | Masontown | 26 | 14 | 0 | 2,369 |
| 16 | Star City | 26 | 14 | 0 | 2,207 |
| 17 | Baltimore | 23 | 14 | 0 | 94 |
| 18 | Valley Grove | 24 | 14 | 0 | 0 |
| 19 | Maidsville | 26 | 14 | 0 | 0 |
| 20 | Ceredo | 25 | 14 | 0 | 0 |
| 21 | Martinsburg | 24 | 13 | 0 | 34,786 |
| 22 | Fairmont | 22 | 13 | 0 | 30,586 |
| 23 | Wellsburg | 23 | 13 | 0 | 3,468 |
| 24 | Wallace | 27 | 13 | 0 | 2,752 |
| 25 | Sandyville | 20 | 13 | 0 | 2,506 |
| 26 | St. Mary's | 18 | 13 | 1 | 2,357 |
| 27 | Elizabeth | 20 | 13 | 0 | 2,289 |
| 28 | Mannington | 23 | 13 | 0 | 1,946 |
| 29 | Nutter Fort | 26 | 13 | 0 | 1,832 |
| 30 | East Liverpool | 16 | 13 | 0 | 1,377 |
| 31 | Westover | 23 | 13 | 0 | 1,254 |
| 32 | Huntington | 21 | 13 | 0 | 1,171 |
| 33 | Peterstown | 21 | 13 | 0 | 0 |
| 34 | Charleston | 17 | 12 | 0 | 207,319 |
| 35 | Logan | 20 | 12 | 0 | 16,921 |
| 36 | Waverly | 16 | 12 | 0 | 7,252 |
| 37 | Shepherdstown | 21 | 12 | 0 | 4,300 |
| 38 | Man | 20 | 12 | 0 | 3,464 |
| 39 | Williamstown | 22 | 12 | 2 | 3,363 |
| 40 | Welch | 18 | 12 | 0 | 2,907 |
| 41 | Reynoldsville | 26 | 12 | 0 | 2,905 |
| 42 | Ronceverte | 21 | 12 | 0 | 2,091 |
| 43 | Alum Creek | 18 | 12 | 0 | 1,973 |
| 44 | Fort Gay | 15 | 12 | 0 | 1,685 |
| 45 | Chapmanville | 20 | 12 | 0 | 1,626 |
| 46 | Rivesville | 23 | 12 | 0 | 1,443 |
| 47 | Rainelle | 15 | 12 | 1 | 1,381 |
| 48 | Pennsboro | 18 | 12 | 1 | 1,254 |
| 49 | Fairview | 22 | 12 | 0 | 958 |
| 50 | Anmoore | 26 | 12 | 0 | 951 |
| 51 | Pax | 25 | 12 | 0 | 762 |
| 52 | Clendenin | 17 | 12 | 0 | 59 |
| 53 | Grant Town | 23 | 12 | 0 | 0 |
| 54 | Clarksburg | 25 | 11 | 0 | 47,689 |
| 55 | Beckley | 24 | 11 | 0 | 47,386 |
| 56 | Mineral Wells | 19 | 11 | 0 | 8,141 |
| 57 | Sophia | 25 | 11 | 0 | 6,663 |
| 58 | Grafton | 21 | 11 | 0 | 6,250 |
| 59 | Pt. Pleasant | 14 | 11 | 0 | 5,290 |
| 60 | Mount Nebo | 15 | 11 | 0 | 4,475 |
| 61 | Cool Ridge | 24 | 11 | 0 | 4,190 |
| 62 | Enterprise | 25 | 11 | 0 | 3,415 |
| 63 | Nettie | 17 | 11 | 0 | 3,343 |
| 64 | Glen Fork | 18 | 11 | 0 | 3,186 |
| 65 | New Creek | 16 | 11 | 0 | 3,163 |
| 66 | Williamson | 20 | 11 | 0 | 3,100 |
| 67 | Follansbee | 16 | 11 | 0 | 2,628 |
| 68 | Stonewood | 25 | 11 | 0 | 2,236 |
| 69 | Beverly | 19 | 11 | 0 | 2,204 |
| 70 | West Union | 19 | 11 | 0 | 1,895 |
| 71 | Gilbert | 20 | 11 | 0 | 1,687 |
| 72 | Salem | 25 | 11 | 1 | 1,630 |
| 73 | Middlebourne | 16 | 11 | 0 | 1,267 |
| 74 | Wyatt | 16 | 11 | 0 | 1,247 |
| 75 | Dille | 17 | 11 | 0 | 1,205 |
| 76 | Gallipolis Ferry | 15 | 11 | 0 | 1,056 |
| 77 | Harman | 16 | 11 | 0 | 528 |
| 78 | Cairo | 17 | 11 | 0 | 406 |
| 79 | Glen Rogers | 18 | 11 | 1 | 283 |
| 80 | Delbarton | 23 | 11 | 0 | 265 |
| 81 | Valley Head | 17 | 11 | 0 | 246 |
| 82 | Paw Paw | 17 | 11 | 0 | 0 |
| 83 | Oceana | 18 | 11 | 1 | 0 |
| 84 | War | 20 | 11 | 0 | 0 |
| 85 | Beech Bottom | 16 | 11 | 0 | 0 |
| 86 | Friendly | 22 | 11 | 0 | 0 |
| 87 | Milton | 19 | 11 | 0 | 0 |
| 88 | Tornado | 17 | 10 | 0 | 24,020 |
| 89 | Lewisburg | 19 | 10 | 0 | 10,057 |
| 90 | Elkins | 19 | 10 | 0 | 8,544 |
| 91 | Buckhannon | 20 | 10 | 0 | 8,098 |
| 92 | Naugatuck | 21 | 10 | 0 | 6,348 |
| 93 | French Creek | 21 | 10 | 0 | 5,327 |
| 94 | New Martinsville | 20 | 10 | 2 | 5,272 |
| 95 | Keyser | 16 | 10 | 0 | 5,202 |
| 96 | Shinnston | 15 | 10 | 0 | 4,959 |
| 97 | Spencer | 22 | 10 | 0 | 4,630 |
| 98 | Sutton | 16 | 10 | 0 | 4,344 |
| 99 | Point Pleasant | 15 | 10 | 0 | 3,768 |
| 100 | Philippi | 15 | 10 | 0 | 3,500 |
| 101 | Monongah | 12 | 10 | 0 | 3,200 |
| 102 | Paden City | 19 | 10 | 0 | 2,985 |
| 103 | Pineville | 20 | 10 | 0 | 2,945 |
| 104 | Tallsmanville | 20 | 10 | 0 | 2,870 |
| 105 | Harrisville | 15 | 10 | 0 | 2,347 |
| 106 | Green Spring | 16 | 10 | 0 | 2,274 |
| 107 | Belington | 14 | 10 | 0 | 2,146 |
| 108 | Harpers Ferry | 15 | 10 | 0 | 2,122 |
| 109 | Varney | 17 | 10 | 0 | 2,069 |
| 110 | Durbin | 14 | 10 | 0 | 1,867 |
| 111 | Frametown | 16 | 10 | 0 | 1,572 |
| 112 | Lumberport | 22 | 10 | 0 | 1,519 |
| 113 | Old Fields | 17 | 10 | 0 | 1,463 |
| 114 | Kermit | 15 | 10 | 0 | 1,441 |
| 115 | Franklin | 15 | 10 | 0 | 1,402 |
| 116 | Talcott | 18 | 10 | 0 | 1,350 |
| 117 | Jane Lew | 17 | 10 | 0 | 1,341 |
| 118 | Clay | 16 | 10 | 0 | 1,232 |
| 119 | Tunnelton | 14 | 10 | 0 | 1,128 |
| 120 | Newburg | 19 | 10 | 0 | 1,116 |
| 121 | Wardensville | 13 | 10 | 0 | 788 |
| 122 | Farmington | 14 | 10 | 0 | 699 |
| 123 | Worthington | 19 | 10 | 0 | 689 |
| 124 | Pine Grove | 17 | 10 | 0 | 593 |
| 125 | Buckeye | 15 | 10 | 0 | 504 |
| 126 | Augusta | 16 | 10 | 0 | 388 |
| 127 | Reedy | 22 | 10 | 0 | 374 |
| 128 | Albright | 18 | 10 | 0 | 317 |
| 129 | Wyoming | 16 | 10 | 0 | 44 |
| 130 | Procious | 15 | 10 | 0 | 0 |
| 131 | Alderson | 20 | 10 | 0 | 0 |
| 132 | Brenton | 16 | 10 | 1 | 0 |
| 133 | Piedmont | 15 | 10 | 0 | 0 |
| 134 | Kingwood | 18 | 10 | 0 | 0 |
| 135 | Weston | 15 | 9 | 0 | 14,057 |
| 136 | Moundsville | 18 | 9 | 0 | 9,911 |
| 137 | West Hamlin | 20 | 9 | 0 | 9,075 |
| 138 | Wayne | 21 | 9 | 0 | 5,732 |
| 139 | Summersville | 15 | 9 | 0 | 5,574 |
| 140 | Athens | 18 | 9 | 0 | 4,802 |
| 141 | Dailey | 16 | 9 | 0 | 4,758 |
| 142 | Cottageville | 14 | 9 | 0 | 3,274 |
| 143 | Glen Dale | 12 | 9 | 0 | 2,495 |
| 144 | Gauley Bridge | 14 | 9 | 0 | 2,273 |
| 145 | Glenville | 17 | 9 | 0 | 2,196 |
| 146 | Walton | 16 | 9 | 0 | 1,986 |
| 147 | Fort Ashby | 15 | 9 | 0 | 1,911 |
| 148 | Kimberly | 18 | 9 | 0 | 1,870 |
| 149 | Terra Alta | 18 | 9 | 0 | 1,856 |
| 150 | Gary | 14 | 9 | 0 | 1,633 |
| 151 | Norton | 15 | 9 | 0 | 1,632 |
| 152 | Grantsville | 18 | 9 | 0 | 1,619 |
| 153 | Mt. Hope | 16 | 9 | 0 | 1,567 |
| 154 | Benwood | 11 | 9 | 0 | 1,510 |
| 155 | Parsons | 13 | 9 | 0 | 1,461 |
| 156 | Marlinton | 15 | 9 | 0 | 1,362 |
| 157 | New Cumberland | 18 | 9 | 0 | 1,326 |
| 158 | Burnsville | 15 | 9 | 0 | 1,140 |
| 159 | Cameron | 13 | 9 | 0 | 1,052 |
| 160 | Junior | 15 | 9 | 0 | 987 |
| 161 | West Milford | 14 | 9 | 0 | 927 |
| 162 | Thomas | 16 | 9 | 0 | 753 |
| 163 | Hundred | 14 | 9 | 0 | 638 |
| 164 | Ellenboro | 12 | 9 | 1 | 456 |
| 165 | Davy | 11 | 9 | 0 | 332 |
| 166 | Hillsboro | 16 | 9 | 0 | 297 |
| 167 | Arthurdale | 14 | 9 | 0 | 285 |
| 168 | Camden-on-gauley | 17 | 9 | 0 | 269 |
| 169 | Rock | 13 | 9 | 0 | 85 |
| 170 | Bruceton Mills | 12 | 9 | 0 | 50 |
| 171 | Rowlesburg | 13 | 9 | 0 | 0 |
| 172 | Craigsville | 17 | 9 | 0 | 0 |
| 173 | Hendricks | 15 | 9 | 1 | 0 |
| 174 | Kenna | 13 | 8 | 0 | 6,107 |
| 175 | Flemington | 12 | 8 | 0 | 5,296 |
| 176 | Ravenswood | 15 | 8 | 0 | 5,047 |
| 177 | Crum | 11 | 8 | 0 | 3,437 |
| 178 | Cowen | 13 | 8 | 0 | 3,098 |
| 179 | St. Marys | 12 | 8 | 0 | 2,711 |
| 180 | Richwood | 13 | 8 | 0 | 2,430 |
| 181 | Moorefield | 15 | 8 | 0 | 2,328 |
| 182 | Mcmechen | 14 | 8 | 0 | 2,212 |
| 183 | Danese | 11 | 8 | 0 | 2,210 |
| 184 | Mt Storm | 13 | 8 | 0 | 2,117 |
| 185 | Mason | 14 | 8 | 0 | 1,651 |
| 186 | New Haven | 15 | 8 | 0 | 1,610 |
| 187 | Rupert | 10 | 8 | 0 | 1,170 |
| 188 | Quinwood | 12 | 8 | 0 | 1,164 |
| 189 | Mill Creek | 12 | 8 | 0 | 891 |
| 190 | Davis | 13 | 8 | 0 | 884 |
| 191 | Union | 10 | 8 | 0 | 758 |
| 192 | Lester | 11 | 8 | 0 | 750 |
| 193 | Hartford | 15 | 8 | 0 | 745 |
| 194 | Ridgeley | 17 | 8 | 0 | 737 |
| 195 | Capon Bridge | 12 | 8 | 0 | 700 |
| 196 | Upper Tract | 15 | 8 | 0 | 692 |
| 197 | Fenwick | 15 | 8 | 0 | 554 |
| 198 | Meadow Bridge | 15 | 8 | 0 | 551 |
| 199 | Coalton | 10 | 8 | 0 | 262 |
| 200 | Huttonsville | 12 | 8 | 0 | 188 |
| 201 | Romney | 16 | 8 | 0 | 80 |
| 202 | Branchland | 10 | 8 | 0 | 0 |
| 203 | Belmont | 13 | 8 | 0 | 0 |
| 204 | Bridgeport | 10 | 7 | 0 | 10,775 |
| 205 | Bluefield | 17 | 7 | 0 | 6,414 |
| 206 | Petersburg | 13 | 7 | 0 | 4,269 |
| 207 | Swiss | 9 | 7 | 0 | 3,944 |
| 208 | Berkeley Springs | 9 | 7 | 0 | 140 |
| 209 | Cass | 12 | 7 | 0 | 0 |
| 210 | Ripley | 13 | 7 | 0 | 0 |
| 211 | Winchester | 8 | 5 | 0 | 235 |
| 212 | Sinks Grove | 11 | 4 | 0 | 54 |
| 213 | Gap Mills | 7 | 4 | 0 | 0 |
| 214 | Banner Elk | 6 | 3 | 0 | 172 |
| 215 | Hedgesville | 6 | 3 | 0 | 150 |
| 216 | Kearneysville | 7 | 3 | 0 | 78 |
| 217 | White Sulphur Springs | 8 | 1 | 0 | 3,845 |
| 218 | Green Castle | 5 | 1 | 0 | 135 |
| 219 | Coal Mountain | 0 | 0 | 0 | 118 |
| 220 | Matoaka | 0 | 0 | 0 | 63 |
Recommended Filtration for West Virginia
Based on the most common contaminants found across West Virginia (Total trihalomethanes (TTHMs), Haloacetic acids (HAA5), Bromodichloromethane), we recommend a reverse osmosis system or high-quality carbon block filter to remove disinfection byproducts and their precursors.
Echo RO System
Removes up to 99.9% of contaminants. The gold standard for drinking water in West Virginia homes.
View RO SystemsEcho Whole-Home Filter
Protect every tap in your home from chlorine, VOCs, and disinfection byproducts.
View Whole-Home FiltersEcho Hydrogen Water Flask
Once your water is clean, supercharge it with molecular hydrogen for antioxidant and anti-inflammatory benefits.
Shop Hydrogen FlaskFrequently Asked Questions
Is West Virginia tap water safe to drink?
Water quality varies significantly across West Virginia. Of the 220 cities analyzed, the average city has 10.0 contaminants above EWG health guidelines. The best water quality was found in Coal Mountain. We recommend checking your specific city's report for detailed information.
What city has the best water in West Virginia?
Based on our analysis, Coal Mountain has the fewest contaminants above EWG health guidelines in West Virginia, with 0 above guideline levels.
What city has the worst water in West Virginia?
Based on our analysis, Weirton has the most contaminants above EWG health guidelines in West Virginia, with 18 above guideline levels.
What's the best water filter for West Virginia residents?
For most West Virginia households, we recommend a reverse osmosis (RO) system for drinking water and a whole-home filter for showers and baths. The specific recommendation depends on your city's contaminant profile — check your city's report for personalized guidance.
National Water Quality Reports
Data sources: Environmental Working Group (EWG) Tap Water Database, U.S. EPA Safe Drinking Water Information System (SDWIS)
Last updated: March 2026
Methodology: Contaminant levels are compared against both EPA legal limits (Maximum Contaminant Levels) and EWG health guidelines, which are often stricter and based on the latest scientific research.