Skip to main content
💧 TapWaterData

Water Hardness in Virginia

Across 236 measured cities — with 71 more covered by labeled county-level estimates — Virginia's median tap water hardness is 81.7 mg/L (4.8 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
81.7
mg/L (4.8 gpg), measured cities
Measured Range
1.1-418.0
mg/L across measured cities
Measured Cities
236
utility-reported or computed values
County Estimates
71
23% of covered cities

Virginia Cities by Hardness Category

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

CategoryRangeMeasured citiesShare
Soft0-60 mg/L8636.4%
Moderately hard60-120 mg/L10544.5%
Hard120-180 mg/L2811.9%
Very hard>180 mg/L177.2%

Hardest and Softest Water in Virginia

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

Hardest water in Virginia

  1. Franconia 418.0 mg/L (24.4 gpg), very hard
  2. Kingstowne 418.0 mg/L (24.4 gpg), very hard
  3. Bristow 371.0 mg/L (21.7 gpg), very hard
  4. Shenandoah Shores 368.0 mg/L (21.5 gpg), very hard
  5. Troutville 328.0 mg/L (19.2 gpg), very hard

Softest water in Virginia

  1. Dahlgren 1.1 mg/L (0.1 gpg), soft
  2. Dahlgren Center 1.1 mg/L (0.1 gpg), soft
  3. Claremont 1.8 mg/L (0.1 gpg), soft
  4. Colonial Beach 2.0 mg/L (0.1 gpg), soft
  5. Saluda 2.9 mg/L (0.2 gpg), soft

Every Covered City in Virginia

All 307 covered 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
Long Branch99.55.8Moderately hardUtility-reported
Broadlands108.46.3Moderately hardUtility-reported
Arlington118.87.0Moderately hardUtility-reported
Alexandria115.46.8Moderately hardUtility-reported
Bull Run110.76.5Moderately hardUtility-reported
Virginia Beach51.53.0SoftUtility-reported
Vienna117.36.9Moderately hardUtility-reported
Herndon117.76.9Moderately hardUtility-reported
Ashburn117.26.8Moderately hardUtility-reported
Arcola117.06.8Moderately hardUtility-reported
Belle Haven117.06.8Moderately hardUtility-reported
Belmont117.06.8Moderately hardUtility-reported
Brambleton117.06.8Moderately hardUtility-reported
Cascades117.06.8Moderately hardUtility-reported
Chantilly117.06.8Moderately hardUtility-reported
Countryside117.06.8Moderately hardUtility-reported
Difficult Run117.06.8Moderately hardUtility-reported
Dranesville117.06.8Moderately hardUtility-reported
Dulles Town Center117.06.8Moderately hardUtility-reported
Dunn Loring117.06.8Moderately hardUtility-reported
Fair Oaks117.06.8Moderately hardUtility-reported
Falls Church117.06.8Moderately hardUtility-reported
Floris117.06.8Moderately hardUtility-reported
Franklin Farm117.06.8Moderately hardUtility-reported
Great Falls117.06.8Moderately hardUtility-reported
Great Falls Crossing117.06.8Moderately hardUtility-reported
Hutchison117.06.8Moderately hardUtility-reported
Idylwood117.06.8Moderately hardUtility-reported
Lansdowne117.06.8Moderately hardUtility-reported
Loudoun Valley Estates117.06.8Moderately hardUtility-reported
Lowes Island117.06.8Moderately hardUtility-reported
McLean117.06.8Moderately hardUtility-reported
McNair117.06.8Moderately hardUtility-reported
Moorefield117.06.8Moderately hardUtility-reported
Oak Grove117.06.8Moderately hardUtility-reported
Oakton117.06.8Moderately hardUtility-reported
One Loudoun117.06.8Moderately hardUtility-reported
Pimmit Hills117.06.8Moderately hardUtility-reported
Reston117.06.8Moderately hardUtility-reported
South Riding117.06.8Moderately hardUtility-reported
Sterling117.06.8Moderately hardUtility-reported
Stone Ridge117.06.8Moderately hardUtility-reported
Sugarland Run117.06.8Moderately hardUtility-reported
Tysons117.06.8Moderately hardUtility-reported
University Center117.06.8Moderately hardUtility-reported
Wolf Trap117.06.8Moderately hardUtility-reported
Richmond66.73.9Moderately hardUtility-reported
Chesapeake33.41.9SoftUtility-reported
Newport News67.94.0Moderately hardUtility-reported
Portsmouth35.92.1SoftUtility-reported
Glen Allen55.73.3SoftUtility-reported
Mechanicsville55.73.3SoftUtility-reported
Brandermill44.92.6SoftUtility-reported
Chester44.92.6SoftUtility-reported
Chesterfield44.92.6SoftUtility-reported
Meadowbrook44.92.6SoftUtility-reported
Rockwood44.92.6SoftUtility-reported
Woodlake44.92.6SoftUtility-reported
Woodbridge81.74.8Moderately hardUtility-reported
Sandston65.23.8Moderately hardUtility-reported
Lakeside65.23.8Moderately hardUtility-reported
Bon Air65.23.8Moderately hardUtility-reported
Chamberlayne65.23.8Moderately hardUtility-reported
Dumbarton65.23.8Moderately hardUtility-reported
East Highland Park65.23.8Moderately hardUtility-reported
Henrico65.23.8Moderately hardUtility-reported
Highland Springs65.23.8Moderately hardUtility-reported
Laurel65.23.8Moderately hardUtility-reported
Manchester65.23.8Moderately hardUtility-reported
Montrose65.23.8Moderately hardUtility-reported
Tuckahoe65.23.8Moderately hardUtility-reported
Norfolk45.82.7SoftUtility-reported
Roanoke145.08.5HardUtility-reported
Cave Spring145.08.5HardUtility-reported
Vinton145.08.5HardUtility-reported
Manassas73.54.3Moderately hardUtility-reported
Camp Barrett26.11.5SoftUtility-reported
Manassas Park81.74.8Moderately hardUtility-reported
Yorkshire81.74.8Moderately hardUtility-reported
Linton Hall82.44.8Moderately hardUtility-reported
Buckhall81.74.8Moderately hardUtility-reported
Gainesville81.74.8Moderately hardUtility-reported
Innovation81.74.8Moderately hardUtility-reported
Loch Lomond81.74.8Moderately hardUtility-reported
Nokesville81.74.8Moderately hardUtility-reported
Sudley81.74.8Moderately hardUtility-reported
Aquia Harbour28.01.6SoftUtility-reported
Boswell's Corner28.01.6SoftUtility-reported
Goldvein34.02.0SoftCounty estimate
Stafford28.01.6SoftUtility-reported
Stafford Courthouse28.01.6SoftUtility-reported
Charlottesville37.02.2SoftUtility-reported
University of Virginia36.92.2SoftUtility-reported
Lynchburg26.41.5SoftUtility-reported
Suffolk15.70.9SoftUtility-reported
Spotsylvania Courthouse38.92.3SoftUtility-reported
Williamsburg28.61.7SoftUtility-reported
Winchester253.614.8Very hardUtility-reported
Dale City77.74.5Moderately hardUtility-reported
Potomac Mills77.74.5Moderately hardUtility-reported
Ivy37.62.2SoftUtility-reported
Pantops37.02.2SoftUtility-reported
Rio37.12.2SoftUtility-reported
Hanover16.51.0SoftUtility-reported
Harrisonburg80.54.7Moderately hardUtility-reported
Leesburg142.08.3HardUtility-reported
Abingdon93.45.5Moderately hardUtility-reported
Woodlawn67.33.9Moderately hardUtility-reported
Danville38.22.2SoftUtility-reported
Fort Belvoir68.54.0Moderately hardCounty estimate
Blacksburg40.62.4SoftUtility-reported
Merrimac40.62.4SoftUtility-reported
Hopewell41.92.5SoftUtility-reported
Collinsville25.91.5SoftUtility-reported
Fort Lee46.02.7SoftCounty estimate
Fredericksburg25.01.5SoftUtility-reported
Glenvar166.09.7HardUtility-reported
Salem166.09.7HardUtility-reported
Christiansburg213.012.5Very hardCounty estimate
Jolivue54.83.2SoftUtility-reported
Staunton131.07.7HardUtility-reported
Stuarts Draft55.13.2SoftUtility-reported
Fishersville54.83.2SoftUtility-reported
Waynesboro84.04.9Moderately hardUtility-reported
Floyd25.61.5SoftCounty estimate
Timberlake32.91.9SoftUtility-reported
Ruckersville30.41.8SoftUtility-reported
Culpeper109.96.4Moderately hardUtility-reported
Vansant165.09.7HardUtility-reported
Goochland58.03.4SoftCounty estimate
Radford55.33.2SoftUtility-reported
Colonial Heights27.01.6SoftCounty estimate
Wise107.46.3Moderately hardUtility-reported
Bristol88.35.2Moderately hardUtility-reported
Fort Eustis22.01.3SoftCounty estimate
Front Royal111.86.5Moderately hardUtility-reported
Madison Heights19.01.1SoftUtility-reported
Martinsville20.01.2SoftUtility-reported
Lake Monticello22.11.3SoftUtility-reported
Troy24.01.4SoftCounty estimate
Unionville31.11.8SoftUtility-reported
Warrenton70.04.1Moderately hardUtility-reported
New Baltimore152.48.9HardUtility-reported
Dahlgren1.10.1SoftUtility-reported
Dahlgren Center1.10.1SoftUtility-reported
Hampton94.05.5Moderately hardCounty estimate
Gloucester Courthouse40.62.4SoftUtility-reported
Lebanon175.410.3HardUtility-reported
South Boston29.31.7SoftUtility-reported
Pulaski20.21.2SoftUtility-reported
Big Stone Gap6.60.4SoftUtility-reported
Big Stone Gap East6.60.4SoftUtility-reported
Purcellville111.06.5Moderately hardUtility-reported
Clintwood202.011.8Very hardCounty estimate
Rockville128.17.5HardUtility-reported
Smithfield9.00.5SoftUtility-reported
Verona139.08.1HardUtility-reported
Piney Mountain29.21.7SoftUtility-reported
Bland74.34.3Moderately hardCounty estimate
Strasburg171.010.0HardUtility-reported
Lovingston67.54.0Moderately hardUtility-reported
Buena Vista46.32.7SoftUtility-reported
Bridgewater175.010.2HardUtility-reported
Dublin43.62.5SoftCounty estimate
Henry Fork26.01.5SoftUtility-reported
Rocky Mount26.01.5SoftUtility-reported
Lawrenceville20.31.2SoftUtility-reported
Round Hill168.09.8HardUtility-reported
Lake Land'Or50.63.0SoftUtility-reported
South Hill35.12.0SoftUtility-reported
Coeburn31.31.8SoftUtility-reported
Weber City179.010.5HardUtility-reported
Richlands143.08.4HardUtility-reported
Wallops Island98.15.7Moderately hardCounty estimate
Broadway99.65.8Moderately hardUtility-reported
Norton13.50.8SoftUtility-reported
Clifton Forge74.44.3Moderately hardCounty estimate
Colonial Beach2.00.1SoftUtility-reported
Hot Springs73.14.3Moderately hardCounty estimate
Warm Springs73.14.3Moderately hardCounty estimate
Altavista61.33.6Moderately hardUtility-reported
Jonesville165.09.7HardCounty estimate
Clinchco202.011.8Very hardCounty estimate
Grottoes111.06.5Moderately hardUtility-reported
Pearisburg78.04.6Moderately hardCounty estimate
Windsor36.02.1SoftCounty estimate
West Point19.01.1SoftCounty estimate
Lake Caroline27.01.6SoftUtility-reported
Yorktown88.05.2Moderately hardCounty estimate
Chatham18.31.1SoftUtility-reported
Gordonsville87.15.1Moderately hardUtility-reported
Appalachia195.011.4Very hardCounty estimate
Hillsville25.01.5SoftUtility-reported
Waverly165.19.7HardUtility-reported
New Kent58.93.4SoftUtility-reported
North Tazewell143.08.4HardCounty estimate
Raven124.07.3HardCounty estimate
Pound51.93.0SoftUtility-reported
Gretna25.81.5SoftUtility-reported
Rural Retreat87.15.1Moderately hardCounty estimate
Crewe30.51.8SoftCounty estimate
Vint Hill172.010.1HardUtility-reported
Lake Wilderness63.93.7Moderately hardUtility-reported
Shenandoah137.08.0HardCounty estimate
Tappahannock24.01.4SoftCounty estimate
Craigsville147.58.6HardCounty estimate
New Market195.011.4Very hardCounty estimate
King William19.01.1SoftCounty estimate
Honaker323.018.9Very hardUtility-reported
Chase City117.06.8Moderately hardUtility-reported
Hamilton118.06.9Moderately hardUtility-reported
Amherst17.41.0SoftUtility-reported
Saltville93.05.4Moderately hardCounty estimate
Timberville254.014.8Very hardUtility-reported
Gate City160.09.4HardUtility-reported
Narrows146.08.5HardUtility-reported
Exmore112.06.5Moderately hardCounty estimate
Mitchells106.06.2Moderately hardUtility-reported
Ferrum56.43.3SoftUtility-reported
Stephens City223.013.0Very hardCounty estimate
Edinburg195.011.4Very hardCounty estimate
Victoria33.01.9SoftCounty estimate
Dillwyn27.01.6SoftCounty estimate
Lovettsville175.010.2HardUtility-reported
Dryden165.09.7HardCounty estimate
Pennington Gap179.010.5HardUtility-reported
Appomattox102.06.0Moderately hardUtility-reported
Marshall162.09.5HardUtility-reported
Dayton263.015.4Very hardUtility-reported
Remington278.316.3Very hardUtility-reported
Onancock98.15.7Moderately hardCounty estimate
Brookneal20.01.2SoftUtility-reported
Kilmarnock28.01.6SoftCounty estimate
Stuart12.00.7SoftUtility-reported
Cedar Bluff143.08.4HardCounty estimate
Clarksville40.52.4SoftUtility-reported
Kenbridge20.21.2SoftUtility-reported
Middletown223.013.0Very hardCounty estimate
Hurt23.01.4SoftCounty estimate
Courtland32.01.9SoftCounty estimate
Wakefield25.01.5SoftCounty estimate
New Castle32.71.9SoftCounty estimate
Buchanan118.06.9Moderately hardCounty estimate
Pembroke78.04.6Moderately hardCounty estimate
Montross8.50.5SoftUtility-reported
Bowling Green14.10.8SoftUtility-reported
Glasgow124.07.3HardUtility-reported
Prince George54.63.2SoftUtility-reported
Eastville112.06.5Moderately hardCounty estimate
St. Paul141.08.3HardUtility-reported
St. Paul195.011.4Very hardCounty estimate
Nickelsville185.010.8Very hardUtility-reported
Urbanna4.30.3SoftUtility-reported
La Crosse33.01.9SoftCounty estimate
Shenandoah Shores368.021.5Very hardUtility-reported
Middleburg102.06.0Moderately hardUtility-reported
Mount Jackson102.06.0Moderately hardUtility-reported
Quantico29.01.7SoftCounty estimate
Fort Monroe94.05.5Moderately hardCounty estimate
Petersburg23.01.4SoftCounty estimate
Drakes Branch77.44.5Moderately hardUtility-reported
Independence17.01.0SoftCounty estimate
Troutville328.019.2Very hardUtility-reported
Surry42.02.5SoftCounty estimate
Sedley32.01.9SoftCounty estimate
Toano35.42.1SoftCounty estimate
Boydton33.01.9SoftCounty estimate
Catawba218.012.8Very hardUtility-reported
Dungannon187.010.9Very hardUtility-reported
Ivor32.01.9SoftCounty estimate
Dendron42.02.5SoftCounty estimate
Scottsburg131.07.7HardUtility-reported
Boones Mill9.90.6SoftUtility-reported
Bristow371.021.7Very hardUtility-reported
Cleveland186.010.9Very hardUtility-reported
Port Royal21.01.2SoftCounty estimate
Claremont1.80.1SoftUtility-reported
Saluda2.90.2SoftUtility-reported
Brodnax22.01.3SoftCounty estimate
Alberta22.01.3SoftCounty estimate
Stevenson157.09.2HardUtility-reported
Virgilina296.017.3Very hardUtility-reported
Franconia418.024.4Very hardUtility-reported
Kingstowne418.024.4Very hardUtility-reported
Charles City16.00.9SoftUtility-reported
Bracey35.12.0SoftUtility-reported
Phenix101.05.9Moderately hardUtility-reported
Washington64.33.8Moderately hardUtility-reported
Cloverdale118.06.9Moderately hardCounty estimate
Blue Ridge50.93.0SoftUtility-reported
Apple Mountain Lake88.35.2Moderately hardUtility-reported
Crimora94.85.5Moderately hardUtility-reported
Linden88.35.2Moderately hardUtility-reported
Skyland Estates88.35.2Moderately hardUtility-reported
Ridgeway63.03.7Moderately hardUtility-reported
Warsaw24.91.5SoftCounty estimate
Hillsboro75.24.4Moderately hardUtility-reported
Keswick43.12.5SoftUtility-reported
Aldie246.014.4Very hardUtility-reported
Bedford65.03.8Moderately hardUtility-reported
Gloucester117.06.8Moderately hardUtility-reported
King George186.010.9Very hardUtility-reported
Carrollton19.01.1SoftUtility-reported
Stanardsville15.00.9SoftUtility-reported
Bremo Bluff24.01.4SoftCounty estimate
Rappahannock Academy21.01.2SoftCounty estimate
Sugar Grove93.05.4Moderately 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 Virginia's Water Hardness

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

Virginia Water Hardness FAQ

Does Virginia have hard water?

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

How hard is tap water in Virginia?

Across the 236 Virginia cities with measured values in our index, the median hardness is 81.7 mg/L (4.8 gpg) — moderately hard on the USGS scale. Individual cities range from 1.1 to 418.0 mg/L, so check your own city rather than assuming the state number.

Which city in Virginia has the hardest water?

Franconia has the hardest measured tap water in our Virginia index at 418.0 mg/L (24.4 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 Virginia?

45 of Virginia's 236 measured cities (19%) 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 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.