Water Quality in West Virginia
412 water systems • 204 cities • EPA SDWIS Data
Overview
West Virginia ranks 5th among all U.S. states for total drinking water violations, out of 51 states tracked. The state has 81,622 EPA Safe Drinking Water Act violations on record across 412 water systems serving 204 cities. Of those, 2,703 are health-based violations, meaning a regulated contaminant was measured above the EPA-established safe level. West Virginia's total violation count is 130% above the national average. Water systems in West Virginia serve approximately 1,546,947 people. The most frequently cited contaminants in West Virginia violations include Bromate, Contaminant 2920, E. coli, Fecal Coliform, Chlorine.
Cities with Most Violations in West Virginia
| # | City | Violations | Health-Based | Water Systems | Population |
|---|---|---|---|---|---|
| 1 | Fort Ashby | 2,360 | 10 | 2 | 7,809 |
| 2 | Welch | 1,869 | 98 | 17 | 11,446 |
| 3 | Naugatuck | 1,399 | 47 | 8 | 7,120 |
| 4 | Logan | 1,169 | 57 | 8 | 28,923 |
| 5 | Charleston | 1,099 | 33 | 16 | 387,880 |
| 6 | Martinsburg | 1,056 | 4 | 12 | 93,574 |
| 7 | Frametown | 918 | 1 | 1 | 1,572 |
| 8 | Charles Town | 844 | 40 | 4 | 15,587 |
| 9 | Craigsville | 780 | 16 | 3 | 5,578 |
| 10 | West Milford | 742 | 68 | 6 | 10,490 |
Largest Cities in West Virginia
| # | City | Population | Violations | Water Systems |
|---|---|---|---|---|
| 1 | Charleston | 387,880 | 1,099 | 16 |
| 2 | Martinsburg | 93,574 | 1,056 | 12 |
| 3 | Morgantown | 64,644 | 2 | 1 |
| 4 | Beckley | 47,386 | 5 | 1 |
| 5 | Fairmont | 41,202 | 139 | 8 |
| 6 | Wheeling | 36,330 | 66 | 3 |
| 7 | Palestine | 34,251 | 20 | 1 |
| 8 | Logan | 28,923 | 1,169 | 8 |
| 9 | Tornado | 24,020 | 14 | 1 |
| 10 | Clarksburg | 22,111 | 169 | 5 |
All Cities in West Virginia
| City | Population | Violations | Health Violations | Contaminants |
|---|---|---|---|---|
| Charleston | 387,880 | 1,099 | 33 | Bromate, Chlorine Dioxide, E. coli +2 more |
| Martinsburg | 93,574 | 1,056 | 4 | Bromate, Chlorine Dioxide |
| Morgantown | 64,644 | 2 | 0 | |
| Beckley | 47,386 | 5 | 0 | |
| Fairmont | 41,202 | 139 | 24 | Bromate, E. coli, TTHM +1 more |
| Wheeling | 36,330 | 66 | 15 | Bromate, Chlorine Dioxide, TTHM |
| Palestine | 34,251 | 20 | 6 | Chlorine Dioxide |
| Logan | 28,923 | 1,169 | 57 | Bromate, E. coli, TTHM +1 more |
| Tornado | 24,020 | 14 | 0 | |
| Clarksburg | 22,111 | 169 | 23 | Disinfection Byproducts, TTHM |
| Weirton | 20,798 | 252 | 11 | Bromate, Chlorine Dioxide, Disinfection Byproducts +1 more |
| Sophia | 18,275 | 148 | 83 | Bromate, Chlorine Dioxide, Disinfection Byproducts +2 more |
| Bruceton Mills | 16,402 | 252 | 0 | |
| Charles Town | 15,587 | 844 | 40 | Chlorine, Chlorine Dioxide, Contaminant 2920 +4 more |
| Mineral Wells | 15,443 | 71 | 16 | Bromate, E. coli, TTHM +1 more |
| Weston | 14,534 | 3 | 0 | |
| Moundsville | 14,206 | 49 | 3 | Chlorine Dioxide, E. coli |
| Buckhannon | 13,898 | 142 | 1 | Bromate |
| Saint Albans | 13,758 | 240 | 1 | TTHM |
| Bluefield | 13,260 | 172 | 35 | Bromate, Contaminant 2920, E. coli +2 more |
| Vienna | 12,507 | 129 | 1 | Disinfection Byproducts |
| Lewisburg | 12,165 | 211 | 24 | E. coli, Total Haloacetic Acids (HAA5) |
| Philippi | 11,916 | 172 | 15 | Bromate, Contaminant 2920, E. coli |
| Triadelphia | 11,543 | 88 | 14 | Bromate, E. coli, TTHM |
| West Hamlin | 11,452 | 193 | 2 | E. coli |
| Welch | 11,446 | 1,869 | 98 | Bromate, Chlorine Dioxide, Disinfection Byproducts +4 more |
| Grafton | 11,354 | 179 | 4 | Bromate |
| Kenova | 11,192 | 68 | 12 | Bromate, Chlorine, E. coli |
| Elkins | 10,886 | 115 | 14 | Bromate, Total Haloacetic Acids (HAA5) |
| Bridgeport | 10,775 | 6 | 2 | TTHM |
| West Milford | 10,490 | 742 | 68 | Bromate, Gross Alpha, Nitrate +2 more |
| Washington | 10,377 | 45 | 1 | Disinfection Byproducts |
| Chester | 10,262 | 295 | 8 | Bromate, Chlorine, Chlorine Dioxide +1 more |
| Lavalette | 9,578 | 9 | 2 | TTHM |
| Petersburg | 9,494 | 62 | 1 | E. coli |
| Wellsburg | 9,412 | 177 | 25 | Bromate, Chlorine, Chlorine Dioxide +3 more |
| Shinnston | 8,290 | 588 | 9 | Bromate, E. coli, TTHM |
| Follansbee | 8,115 | 189 | 7 | Bromate, Chlorine Dioxide |
| Waverly | 7,883 | 64 | 4 | Chlorine Dioxide, E. coli |
| Fort Ashby | 7,809 | 2,360 | 10 | Bromate, Chlorine, Contaminant 2920 +2 more |
| New Martinsville | 7,164 | 418 | 18 | Bromate, Chlorine Dioxide, Contaminant 2920 +1 more |
| White Sulphur Springs | 7,125 | 243 | 12 | Chlorine Dioxide, Disinfection Byproducts |
| Naugatuck | 7,120 | 1,399 | 47 | Bromate, E. coli, TTHM +1 more |
| Keyser | 6,722 | 678 | 6 | Bromate, Chlorine Dioxide |
| Kingwood | 6,652 | 33 | 0 | |
| Point Pleasant | 6,460 | 91 | 0 | |
| Alum Creek | 6,442 | 651 | 30 | Bromate, Chlorine, Contaminant 2920 +2 more |
| Kenna | 6,234 | 55 | 15 | Total Haloacetic Acids (HAA5) |
| Mount Nebo | 6,106 | 34 | 3 | E. coli |
| Beverly | 6,070 | 249 | 27 | Bromate, TTHM, Total Haloacetic Acids (HAA5) |
| Athens | 5,633 | 16 | 0 | |
| Spencer | 5,606 | 78 | 40 | TTHM, Total Haloacetic Acids (HAA5) |
| Craigsville | 5,578 | 780 | 16 | Bromate, Chlorine, E. coli +1 more |
| Summersville | 5,574 | 23 | 0 | |
| Wayne | 5,519 | 41 | 20 | Bromate, TTHM |
| Ashland | 5,446 | 260 | 2 | Chlorine |
| Ripley | 5,420 | 175 | 4 | Total Haloacetic Acids (HAA5) |
| Mill Creek | 5,349 | 731 | 34 | Bromate, Chlorine, Contaminant 2920 +1 more |
| Peterstown | 5,331 | 14 | 0 | |
| French Creek | 5,327 | 8 | 2 | Bromate |
| Flemington | 5,296 | 31 | 2 | TTHM |
| Pt. Pleasant | 5,146 | 258 | 3 | Chlorine Dioxide |
| Ravenswood | 5,047 | 205 | 9 | Chlorine Dioxide, E. coli |
| Cameron | 5,025 | 348 | 14 | Bromate, Chlorine, Chlorine Dioxide +1 more |
| Reynoldsville | 4,817 | 40 | 0 | |
| Kermit | 4,700 | 209 | 8 | Bromate, TTHM |
| Sutton | 4,683 | 13 | 1 | E. coli |
| Old Fields | 4,552 | 150 | 60 | Contaminant 2920, Disinfection Byproducts, TTHM +1 more |
| Shepherdstown | 4,300 | 41 | 4 | TTHM |
| Cool Ridge | 4,190 | 14 | 2 | Bromate |
| Arthurdale | 4,010 | 741 | 40 | Chlorine, Chlorine Dioxide, Contaminant 2920 +4 more |
| Glen Fork | 3,967 | 94 | 10 | Nitrate, Total Haloacetic Acids (HAA5) |
| Swiss | 3,944 | 36 | 5 | Bromate, E. coli |
| Augusta | 3,913 | 692 | 12 | Bromate, Chlorine, Chlorine Dioxide +1 more |
| Friendly | 3,868 | 120 | 4 | E. coli |
| Maidsville | 3,858 | 2 | 0 | |
| Amherstdale | 3,821 | 13 | 2 | Bromate |
| Berkeley Springs | 3,806 | 189 | 4 | Bromate, E. coli, Fecal Coliform |
| Oceana | 3,796 | 150 | 33 | Bromate, E. coli, Total Haloacetic Acids (HAA5) |
| Sand Fork | 3,730 | 502 | 2 | TTHM |
| Nettie | 3,630 | 120 | 13 | Bromate, Contaminant 2920, E. coli +1 more |
| Mullens | 3,616 | 211 | 0 | |
| Pennsboro | 3,611 | 53 | 3 | Bromate, Chlorine Dioxide, TTHM |
| Williamstown | 3,469 | 16 | 2 | Chlorine Dioxide |
| Mannington | 3,415 | 107 | 21 | Total Haloacetic Acids (HAA5) |
| Paden City | 3,291 | 525 | 53 | Chlorine Dioxide, E. coli, cis-1,2-Dichloroethylene |
| Cottageville | 3,230 | 24 | 2 | Chlorine Dioxide |
| Monongah | 3,226 | 34 | 4 | Bromate |
| Terra Alta | 3,181 | 138 | 4 | Chlorine Dioxide |
| New Creek | 3,163 | 33 | 8 | Bromate, Chlorine, Total Haloacetic Acids (HAA5) |
| Branchland | 3,157 | 20 | 2 | TTHM |
| Cowen | 3,098 | 297 | 9 | Bromate, E. coli, Fecal Coliform |
| Clay | 3,096 | 125 | 8 | Bromate, E. coli, Total Haloacetic Acids (HAA5) |
| Tallsmanville | 2,870 | 11 | 0 | |
| St Marys | 2,711 | 9 | 0 | |
| Williamson | 2,660 | 113 | 23 | Bromate, E. coli |
| Gauley Bridge | 2,547 | 299 | 9 | Bromate, Chlorine, Contaminant 2920 +1 more |
| Moorefield | 2,528 | 208 | 1 | Bromate |
| Sandyville | 2,506 | 3 | 0 | |
| Glen Dale | 2,495 | 11 | 4 | Chlorine Dioxide |
| Richwood | 2,480 | 232 | 12 | Bromate, Chlorine, Disinfection Byproducts +2 more |
| Alserson | 2,458 | 7 | 2 | Bromate, Contaminant 2920 |
| Durbin | 2,371 | 213 | 21 | TTHM, Total Haloacetic Acids (HAA5) |
| Harrisville | 2,348 | 99 | 29 | Bromate, Contaminant 2920, E. coli +1 more |
| Maidesville | 2,345 | 52 | 6 | Bromate |
| Danese | 2,294 | 12 | 2 | Contaminant 1041 |
| Elizabeth | 2,289 | 54 | 2 | TTHM, Total Haloacetic Acids (HAA5) |
| Masontown | 2,239 | 36 | 0 | |
| Stonewood | 2,236 | 27 | 0 | |
| Mcmechen | 2,212 | 29 | 2 | Chlorine, Chlorine Dioxide |
| Walton | 2,208 | 20 | 8 | Contaminant 2920, Disinfection Byproducts, Total Haloacetic Acids (HAA5) |
| Star City | 2,207 | 30 | 0 | |
| Matewan | 2,205 | 83 | 8 | Bromate, Chlorine |
| Procious | 2,199 | 514 | 4 | Contaminant 2920, E. coli |
| Pineville | 2,162 | 495 | 14 | Bromate, Fecal Coliform, Total Haloacetic Acids (HAA5) |
| Belington | 2,146 | 7 | 0 | |
| Harpers Ferry | 2,122 | 109 | 5 | Bromate, Fecal Coliform |
| Mount Storm | 2,117 | 65 | 5 | E. coli, TTHM |
| Ronceverte | 2,091 | 31 | 16 | Bromate, Total Haloacetic Acids (HAA5) |
| Romney | 1,991 | 40 | 6 | Bromate, Contaminant 2920, E. coli |
| West Union | 1,943 | 165 | 5 | Bromate, Disinfection Byproducts |
| Proctor | 1,942 | 86 | 0 | |
| Marlinton | 1,930 | 225 | 4 | Bromate, E. coli |
| Coalton | 1,894 | 153 | 4 | Chlorine Dioxide |
| Big Bend | 1,868 | 240 | 10 | Bromate, Chlorine, Disinfection Byproducts +1 more |
| Nutterfork | 1,845 | 90 | 2 | TTHM |
| Gilbert | 1,840 | 222 | 32 | Bromate, Fecal Coliform, TTHM +1 more |
| Rivesville | 1,810 | 270 | 19 | Bromate, Chlorine, Total Haloacetic Acids (HAA5) |
| Hendricks | 1,785 | 169 | 19 | Total Haloacetic Acids (HAA5) |
| Rainelle | 1,758 | 191 | 35 | Chlorine Dioxide, Disinfection Byproducts, E. coli +1 more |
| Glenville | 1,751 | 211 | 0 | |
| Grantsville | 1,709 | 368 | 43 | Bromate, Chlorine, E. coli +2 more |
| Fort Gay | 1,685 | 87 | 13 | Bromate, E. coli, Total Haloacetic Acids (HAA5) |
| Mason | 1,679 | 113 | 0 | |
| Ridgeley | 1,674 | 74 | 1 | Chlorine |
| New Haven | 1,649 | 288 | 2 | E. coli |
| Gary | 1,633 | 169 | 27 | Chlorine Dioxide, E. coli |
| Salem | 1,630 | 125 | 14 | Bromate, Disinfection Byproducts, TTHM |
| Chapmanville | 1,589 | 53 | 1 | Disinfection Byproducts |
| Frametown | 1,572 | 918 | 1 | E. coli |
| Mt. Hope | 1,567 | 33 | 9 | Bromate, Fecal Coliform |
| Upper Tract | 1,556 | 350 | 3 | Contaminant 2920 |
| Davis | 1,554 | 541 | 4 | Bromate, Chlorine, Disinfection Byproducts |
| Franklin | 1,532 | 266 | 1 | Contaminant 2920 |
| Lumberport | 1,519 | 147 | 21 | Bromate, Contaminant 2920, E. coli |
| Benwood | 1,510 | 47 | 1 | Chlorine Dioxide |
| Quinwood | 1,478 | 56 | 0 | |
| Ceredo | 1,472 | 58 | 11 | Bromate, E. coli, TTHM |
| Parsons | 1,461 | 103 | 0 | |
| Jane Lew | 1,440 | 21 | 0 | |
| Reader | 1,378 | 18 | 0 | |
| Dille | 1,369 | 28 | 2 | TTHM |
| Talcott | 1,350 | 24 | 7 | Total Haloacetic Acids (HAA5) |
| Tunnelton | 1,346 | 38 | 0 | |
| New Cumberland | 1,326 | 131 | 5 | Chlorine Dioxide |
| Middlebourne | 1,267 | 196 | 22 | Bromate, Contaminant 2920 |
| Westover | 1,257 | 107 | 20 | Total Haloacetic Acids (HAA5) |
| War | 1,220 | 317 | 4 | Chlorine Dioxide |
| Wyatt | 1,179 | 43 | 1 | Bromate |
| Rupert | 1,170 | 13 | 0 | |
| Burnsville | 1,126 | 147 | 2 | Bromate |
| Newburg | 1,116 | 20 | 0 | |
| Gallipolis | 1,056 | 18 | 0 | |
| Anmoore | 1,013 | 109 | 2 | Chlorine |
| Worthington | 1,004 | 207 | 1 | TTHM |
| Belmont | 1,003 | 29 | 0 | |
| Junior | 987 | 16 | 0 | |
| Fairview | 958 | 234 | 2 | Bromate, Chlorine |
| Piedmont | 847 | 598 | 34 | Bromate, Chlorine, Contaminant 2920 +4 more |
| Wardensville | 788 | 128 | 89 | E. coli, Fecal Coliform |
| Farmington | 768 | 132 | 15 | Bromate, Chlorine, Total Haloacetic Acids (HAA5) |
| Pax | 762 | 52 | 7 | Bromate |
| Union | 758 | 12 | 0 | |
| Thomas | 753 | 301 | 24 | Contaminant 2920, E. coli, Total Haloacetic Acids (HAA5) |
| Hartford | 745 | 118 | 0 | |
| Capon Bridge | 700 | 109 | 0 | |
| Meadow Bridge | 692 | 29 | 3 | Bromate |
| Rowlesburg | 680 | 292 | 16 | Bromate, Chlorine, Contaminant 2920 |
| Lester | 665 | 166 | 17 | Bromate, Total Haloacetic Acids (HAA5) |
| Hundred | 638 | 28 | 0 | |
| Pine Grove | 620 | 298 | 10 | Bromate, Contaminant 2920, E. coli |
| Beech Bottom | 610 | 7 | 0 | |
| Valley Grove | 610 | 122 | 55 | TTHM |
| Hillsboro | 559 | 76 | 2 | Chlorine Dioxide, Total Haloacetic Acids (HAA5) |
| Cass | 555 | 658 | 12 | Contaminant 2920, Disinfection Byproducts |
| Fenwick | 554 | 152 | 15 | Bromate, Total Haloacetic Acids (HAA5) |
| Paw Paw | 524 | 128 | 9 | Bromate, E. coli |
| Grant Town | 506 | 22 | 0 | |
| Gap Mills | 480 | 13 | 1 | Chlorine Dioxide |
| Reedy | 480 | 500 | 42 | Chlorine, TTHM, Total Haloacetic Acids (HAA5) |
| Harman | 456 | 605 | 7 | Bromate, E. coli, Nitrate |
| Ellenboro | 456 | 36 | 6 | Chlorine, E. coli, TTHM +1 more |
| Cairo | 339 | 139 | 9 | Bromate, TTHM |
| Davy | 332 | 48 | 10 | Chlorine Dioxide |
| Albright | 317 | 121 | 0 | |
| Delbarton | 265 | 73 | 5 | Chlorine, TTHM, Total Haloacetic Acids (HAA5) |
| Valley Head | 246 | 323 | 9 | Chlorine, Chlorine Dioxide, Fecal Coliform |
| Brenton | 241 | 247 | 17 | Chlorine Dioxide, E. coli, Total Haloacetic Acids (HAA5) |
| Inwood | 235 | 21 | 6 | Chlorine, Chlorine Dioxide, Fecal Coliform |
| Huttonsville | 188 | 129 | 0 | |
| Banner Elk | 172 | 141 | 0 | |
| Kearneysville | 153 | 129 | 0 | |
| Hedgesville | 150 | 17 | 3 | Chlorine Dioxide, E. coli |
| Green Castle | 135 | 52 | 0 |
Water Quality in Other States
Data Sources
Drinking water data from the EPA Safe Drinking Water Information System (SDWIS). Only active community water systems (CWS) serving 100+ people are included.