Skip to main content
💧 TapWaterData

Water Hardness in West Virginia

Across 23 measured cities — with 170 more covered by labeled county-level estimates — West Virginia's median tap water hardness is 104.0 mg/L (6.1 gpg): moderately hard on the USGS scale. Below: every covered city, the state's hardest and softest water, and the geology that explains it.

Data updated July 6, 2026. Sources: utility-reported water quality data and USGS/EPA Water Quality Portal samples.

State Median
104.0
mg/L (6.1 gpg), measured cities
Measured Range
22.9-387.0
mg/L across measured cities
Measured Cities
23
utility-reported or computed values
County Estimates
170
88% of covered cities

West Virginia Cities by Hardness Category

Measured cities only — labeled county estimates never enter the category counts or the median.

CategoryRangeMeasured citiesShare
Soft0-60 mg/L626.1%
Moderately hard60-120 mg/L1043.5%
Hard120-180 mg/L521.7%
Very hard>180 mg/L28.7%

Hardest and Softest Water in West Virginia

Measured values only; labeled county estimates and values under active dispute never rank.

Hardest water in West Virginia

  1. Martinsburg 387.0 mg/L (22.6 gpg), very hard
  2. New Martinsville 228.0 mg/L (13.3 gpg), very hard
  3. Westover 128.0 mg/L (7.5 gpg), hard
  4. Star City 127.0 mg/L (7.4 gpg), hard
  5. Morgantown 122.7 mg/L (7.2 gpg), hard

Softest water in West Virginia

  1. Old Fields 22.9 mg/L (1.3 gpg), soft
  2. Charleston 41.4 mg/L (2.4 gpg), soft
  3. South Charleston 41.4 mg/L (2.4 gpg), soft
  4. Maidesville 52.1 mg/L (3.0 gpg), soft
  5. Pleasant Valley 54.0 mg/L (3.2 gpg), soft

Every Covered City in West Virginia

All 193 covered West Virginia cities, sorted by population served. "County estimate" rows are labeled context values from USGS/EPA Water Quality Portal county sampling — they never enter the median above. City names link to each city's full water quality page.

CityHardness (mg/L)gpgCategoryData
Charleston41.42.4SoftComputed from Ca+Mg
South Charleston41.42.4SoftComputed from Ca+Mg
Huntington136.78.0HardCounty estimate
Martinsburg387.022.6Very hardUtility-reported
Morgantown122.77.2HardUtility-reported
Star City127.07.4HardUtility-reported
Maidsville121.27.1HardCounty estimate
Parkersburg114.06.7Moderately hardCounty estimate
Blacksville121.27.1HardCounty estimate
Weirton103.06.0Moderately hardUtility-reported
Fairmont55.03.2SoftUtility-reported
Davisville114.06.7Moderately hardCounty estimate
Vienna114.06.7Moderately hardCounty estimate
Hurricane69.64.1Moderately hardCounty estimate
Wheeling106.06.2Moderately hardCounty estimate
Logan190.511.1Very hardCounty estimate
Point Pleasant100.05.8Moderately hardCounty estimate
Talcott67.13.9Moderately hardCounty estimate
Tornado79.54.7Moderately hardCounty estimate
Nutter Fort104.06.1Moderately hardUtility-reported
Anmoore104.06.1Moderately hardUtility-reported
Henderson100.05.8Moderately hardCounty estimate
Clarksburg104.06.1Moderately hardUtility-reported
Despard104.06.1Moderately hardUtility-reported
East View104.06.1Moderately hardUtility-reported
Charles Town158.09.2HardUtility-reported
Mineral Wells114.06.7Moderately hardCounty estimate
Brookhaven90.75.3Moderately hardUtility-reported
Weston81.74.8Moderately hardCounty estimate
Elkins27.91.6SoftCounty estimate
Saint Albans79.54.7Moderately hardCounty estimate
St. Albans79.54.7Moderately hardCounty estimate
Buckhannon16.30.9SoftCounty estimate
Washington114.06.7Moderately hardCounty estimate
Ripley53.23.1SoftCounty estimate
Bridgeport122.07.1HardUtility-reported
West Liberty106.06.2Moderately hardCounty estimate
Lewisburg117.06.8Moderately hardCounty estimate
Kenova179.010.5HardCounty estimate
Lavalette179.010.5HardCounty estimate
Cheat Lake90.75.3Moderately hardUtility-reported
Philippi37.32.2SoftCounty estimate
Bruceton Mills43.22.5SoftCounty estimate
Follansbee298.517.5Very hardCounty estimate
Grafton165.49.7HardCounty estimate
Ravenswood53.23.1SoftCounty estimate
New Martinsville228.013.3Very hardUtility-reported
Wellsburg298.517.5Very hardCounty estimate
Waverly114.06.7Moderately hardCounty estimate
Williamstown114.06.7Moderately hardCounty estimate
White Sulphur Springs117.06.8Moderately hardCounty estimate
Kingwood43.22.5SoftCounty estimate
West Milford240.014.0Very hardCounty estimate
Pleasant Valley54.03.2SoftUtility-reported
Kenna53.23.1SoftCounty estimate
Keyser132.37.7HardCounty estimate
Wayne179.010.5HardCounty estimate
Summersville35.32.1SoftCounty estimate
Flemington165.49.7HardCounty estimate
French Creek16.30.9SoftCounty estimate
New Creek132.37.7HardCounty estimate
Shinnston240.014.0Very hardCounty estimate
Craigsville35.32.1SoftCounty estimate
Reynoldsville240.014.0Very hardCounty estimate
Sutton33.11.9SoftCounty estimate
Westover128.07.5HardUtility-reported
Mount Nebo35.32.1SoftCounty estimate
Shepherdstown300.817.6Very hardCounty estimate
Old Fields22.91.3SoftUtility-reported
Glen Dale115.96.8Moderately hardCounty estimate
Moundsville115.96.8Moderately hardCounty estimate
Alum Creek79.54.7Moderately hardCounty estimate
Oceana66.63.9Moderately hardCounty estimate
Mullens66.63.9Moderately hardCounty estimate
Amherstdale190.511.1Very hardCounty estimate
Man190.511.1Very hardCounty estimate
Reedsville43.22.5SoftCounty estimate
Crum179.010.5HardCounty estimate
Welch66.63.9Moderately hardCounty estimate
Nettie35.32.1SoftCounty estimate
Cottageville53.23.1SoftCounty estimate
Chester100.05.8Moderately hardCounty estimate
Glen Fork66.63.9Moderately hardCounty estimate
Williamson243.914.3Very hardCounty estimate
Cowen13.40.8SoftCounty estimate
Paden City117.06.8Moderately hardUtility-reported
Pineville66.63.9Moderately hardCounty estimate
Wallace240.014.0Very hardCounty estimate
Sandyville53.23.1SoftCounty estimate
Alderson117.06.8Moderately hardCounty estimate
Richwood117.06.8Moderately hardCounty estimate
Masontown43.22.5SoftCounty estimate
St. Marys97.05.7Moderately hardCounty estimate
Branchland198.511.6Very hardCounty estimate
West Hamlin198.511.6Very hardCounty estimate
Moorefield49.62.9SoftCounty estimate
Elizabeth58.83.4SoftCounty estimate
Gauley Bridge64.93.8Moderately hardCounty estimate
Harrisville60.23.5Moderately hardCounty estimate
Maidesville52.13.0SoftUtility-reported
McMechen115.96.8Moderately hardCounty estimate
Kimberly64.93.8Moderately hardCounty estimate
Beverly27.91.6SoftCounty estimate
Glenville63.33.7Moderately hardCounty estimate
Harpers Ferry300.817.6Very hardCounty estimate
Windsor Heights298.517.5Very hardCounty estimate
Enterprise240.014.0Very hardCounty estimate
Belington37.32.2SoftCounty estimate
Mt Storm90.15.3Moderately hardUtility-reported
Ronceverte117.06.8Moderately hardCounty estimate
Grant Town55.03.2SoftCounty estimate
Matewan243.914.3Very hardCounty estimate
Varney243.914.3Very hardCounty estimate
Gassaway33.11.9SoftCounty estimate
Walton58.43.4SoftCounty estimate
Rivesville55.03.2SoftCounty estimate
Mannington55.03.2SoftCounty estimate
Proctor115.96.8Moderately hardCounty estimate
West Union68.34.0Moderately hardCounty estimate
Sistersville76.84.5Moderately hardCounty estimate
Terra Alta43.22.5SoftCounty estimate
Chapmanville190.511.1Very hardCounty estimate
Hedgesville93.15.4Moderately hardCounty estimate
Gilbert243.914.3Very hardCounty estimate
Fort Gay179.010.5HardCounty estimate
Rainelle64.93.8Moderately hardCounty estimate
Mason100.05.8Moderately hardCounty estimate
Gary236.113.8Very hardCounty estimate
Norton27.91.6SoftCounty estimate
Salem68.34.0Moderately hardCounty estimate
Parsons43.92.6SoftCounty estimate
New Haven100.05.8Moderately hardCounty estimate
Lumberport240.014.0Very hardCounty estimate
Wyatt240.014.0Very hardCounty estimate
Benwood115.96.8Moderately hardCounty estimate
Tunnelton43.22.5SoftCounty estimate
Hendricks43.92.6SoftCounty estimate
Kermit243.914.3Very hardCounty estimate
Ceredo179.010.5HardCounty estimate
Frametown33.11.9SoftCounty estimate
Franklin28.91.7SoftCounty estimate
Reader106.06.2Moderately hardCounty estimate
Newell100.05.8Moderately hardCounty estimate
Buckeye33.82.0SoftCounty estimate
Marlinton33.82.0SoftCounty estimate
Jane Lew81.74.8Moderately hardCounty estimate
New Cumberland100.05.8Moderately hardCounty estimate
Middlebourne76.84.5Moderately hardCounty estimate
Pennsboro60.23.5Moderately hardCounty estimate
Triadelphia106.06.2Moderately hardCounty estimate
Dille35.32.1SoftCounty estimate
Quinwood117.06.8Moderately hardCounty estimate
Rupert117.06.8Moderately hardCounty estimate
Burnsville33.11.9SoftCounty estimate
Grantsville53.13.1SoftCounty estimate
Clay191.711.2Very hardCounty estimate
Gallipolis Ferry100.05.8Moderately hardCounty estimate
Belmont97.05.7Moderately hardCounty estimate
Worthington55.03.2SoftCounty estimate
Junior37.32.2SoftCounty estimate
Kearneysville300.817.6Very hardCounty estimate
War236.113.8Very hardCounty estimate
Newburg43.22.5SoftCounty estimate
Mill Creek27.91.6SoftCounty estimate
Piedmont132.37.7HardCounty estimate
Farmington55.03.2SoftCounty estimate
Lester66.43.9Moderately hardCounty estimate
Hartford100.05.8Moderately hardCounty estimate
Hartford City100.05.8Moderately hardCounty estimate
Valley Grove106.06.2Moderately hardCounty estimate
Friendly76.84.5Moderately hardCounty estimate
Beech Bottom298.517.5Very hardCounty estimate
Arthurdale43.22.5SoftCounty estimate
Fenwick35.32.1SoftCounty estimate
Paw Paw55.33.2SoftCounty estimate
Kimball236.113.8Very hardCounty estimate
Naugatuck243.914.3Very hardCounty estimate
Gap Mills5.30.3SoftCounty estimate
Augusta55.33.2SoftCounty estimate
Romney55.33.2SoftCounty estimate
Davy236.113.8Very hardCounty estimate
Albright43.22.5SoftCounty estimate
Glen Rogers66.63.9Moderately hardCounty estimate
Delbarton243.914.3Very hardCounty estimate
Hillsboro33.82.0SoftCounty estimate
Brenton66.63.9Moderately hardCounty estimate
Chattaroy243.914.3Very hardCounty estimate
Huttonsville27.91.6SoftCounty estimate
Montgomery64.93.8Moderately hardCounty estimate
Wyoming66.63.9Moderately hardCounty estimate
Berkeley Springs57.23.4SoftCounty estimate
Danese64.93.8Moderately hardCounty estimate
Procious191.711.2Very hardCounty estimate

Above 120 mg/L (7 gpg), scale is usually worth treating — see our water softener guide, or size a system with the hardness calculator & converter.

The Geology Behind West Virginia's Water Hardness

West Virginia sits in the Appalachian and Mid-Atlantic mixed terrain region.

The Mid-Atlantic and Appalachian states sit on a patchwork of sandstone, shale, and crystalline rock that yields mostly soft to moderately hard water. The big exception is the region's limestone and dolomite valleys - including the carbonate belt running from Pennsylvania down through the Shenandoah Valley - where groundwater dissolves calcium and magnesium readily and comes out distinctly hard. A city's number here depends heavily on whether its supply draws from upland rivers and reservoirs or from carbonate-valley wells.

Source: USGS - Principal Aquifers of the United States

West Virginia Water Hardness FAQ

Does West Virginia have hard water?

On the whole, no — West Virginia's statewide median sits below the hard threshold, though some cities run harder. The median is 104.0 mg/L (6.1 gpg) — moderately hard on the USGS scale, where anything above 120 mg/L (7 gpg) counts as hard. 7 of West Virginia's 23 measured cities fall in the hard or very hard bands (30%), so check your own city rather than the state average.

How hard is tap water in West Virginia?

Across the 23 West Virginia cities with measured values in our index, the median hardness is 104.0 mg/L (6.1 gpg) — moderately hard on the USGS scale. Individual cities range from 22.9 to 387.0 mg/L, so check your own city rather than assuming the state number.

Which city in West Virginia has the hardest water?

Martinsburg has the hardest measured tap water in our West Virginia index at 387.0 mg/L (22.6 gpg) — very hard on the USGS scale. Rankings use measured utility values only; labeled county estimates and values under active dispute are excluded.

Do I need a water softener in West Virginia?

7 of West Virginia's 23 measured cities (30%) fall in the hard or very hard bands — above 120 mg/L (7 gpg), the level where most water treatment professionals suggest considering an ion-exchange softener. Hardness varies utility to utility, so look up your own city's value before sizing equipment.

How do I find my city's exact water hardness?

Enter your ZIP code in our free lookup at tapwaterdata.com/zip to see the value we hold for your West Virginia city from utility-reported water quality data, check your water utility's annual Consumer Confidence Report (CCR), or use a home test-strip kit.

Stay Informed About Your Water Quality

Get EPA reports, filter recommendations, and safety alerts for your area.

Join 10,000+ people protecting their families. Unsubscribe anytime.