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.
Virginia Cities by Hardness Category
Measured cities only — labeled county estimates never enter the category counts or the median.
| Category | Range | Measured cities | Share |
|---|---|---|---|
| Soft | 0-60 mg/L | 86 | 36.4% |
| Moderately hard | 60-120 mg/L | 105 | 44.5% |
| Hard | 120-180 mg/L | 28 | 11.9% |
| Very hard | >180 mg/L | 17 | 7.2% |
Hardest and Softest Water in Virginia
Measured values only; labeled county estimates and values under active dispute never rank.
Hardest water in Virginia
- Franconia — 418.0 mg/L (24.4 gpg), very hard
- Kingstowne — 418.0 mg/L (24.4 gpg), very hard
- Bristow — 371.0 mg/L (21.7 gpg), very hard
- Shenandoah Shores — 368.0 mg/L (21.5 gpg), very hard
- Troutville — 328.0 mg/L (19.2 gpg), very hard
Softest water in Virginia
- Dahlgren — 1.1 mg/L (0.1 gpg), soft
- Dahlgren Center — 1.1 mg/L (0.1 gpg), soft
- Claremont — 1.8 mg/L (0.1 gpg), soft
- Colonial Beach — 2.0 mg/L (0.1 gpg), soft
- 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.
| City | Hardness (mg/L) | gpg | Category | Data |
|---|---|---|---|---|
| Long Branch | 99.5 | 5.8 | Moderately hard | Utility-reported |
| Broadlands | 108.4 | 6.3 | Moderately hard | Utility-reported |
| Arlington | 118.8 | 7.0 | Moderately hard | Utility-reported |
| Alexandria | 115.4 | 6.8 | Moderately hard | Utility-reported |
| Bull Run | 110.7 | 6.5 | Moderately hard | Utility-reported |
| Virginia Beach | 51.5 | 3.0 | Soft | Utility-reported |
| Vienna | 117.3 | 6.9 | Moderately hard | Utility-reported |
| Herndon | 117.7 | 6.9 | Moderately hard | Utility-reported |
| Ashburn | 117.2 | 6.8 | Moderately hard | Utility-reported |
| Arcola | 117.0 | 6.8 | Moderately hard | Utility-reported |
| Belle Haven | 117.0 | 6.8 | Moderately hard | Utility-reported |
| Belmont | 117.0 | 6.8 | Moderately hard | Utility-reported |
| Brambleton | 117.0 | 6.8 | Moderately hard | Utility-reported |
| Cascades | 117.0 | 6.8 | Moderately hard | Utility-reported |
| Chantilly | 117.0 | 6.8 | Moderately hard | Utility-reported |
| Countryside | 117.0 | 6.8 | Moderately hard | Utility-reported |
| Difficult Run | 117.0 | 6.8 | Moderately hard | Utility-reported |
| Dranesville | 117.0 | 6.8 | Moderately hard | Utility-reported |
| Dulles Town Center | 117.0 | 6.8 | Moderately hard | Utility-reported |
| Dunn Loring | 117.0 | 6.8 | Moderately hard | Utility-reported |
| Fair Oaks | 117.0 | 6.8 | Moderately hard | Utility-reported |
| Falls Church | 117.0 | 6.8 | Moderately hard | Utility-reported |
| Floris | 117.0 | 6.8 | Moderately hard | Utility-reported |
| Franklin Farm | 117.0 | 6.8 | Moderately hard | Utility-reported |
| Great Falls | 117.0 | 6.8 | Moderately hard | Utility-reported |
| Great Falls Crossing | 117.0 | 6.8 | Moderately hard | Utility-reported |
| Hutchison | 117.0 | 6.8 | Moderately hard | Utility-reported |
| Idylwood | 117.0 | 6.8 | Moderately hard | Utility-reported |
| Lansdowne | 117.0 | 6.8 | Moderately hard | Utility-reported |
| Loudoun Valley Estates | 117.0 | 6.8 | Moderately hard | Utility-reported |
| Lowes Island | 117.0 | 6.8 | Moderately hard | Utility-reported |
| McLean | 117.0 | 6.8 | Moderately hard | Utility-reported |
| McNair | 117.0 | 6.8 | Moderately hard | Utility-reported |
| Moorefield | 117.0 | 6.8 | Moderately hard | Utility-reported |
| Oak Grove | 117.0 | 6.8 | Moderately hard | Utility-reported |
| Oakton | 117.0 | 6.8 | Moderately hard | Utility-reported |
| One Loudoun | 117.0 | 6.8 | Moderately hard | Utility-reported |
| Pimmit Hills | 117.0 | 6.8 | Moderately hard | Utility-reported |
| Reston | 117.0 | 6.8 | Moderately hard | Utility-reported |
| South Riding | 117.0 | 6.8 | Moderately hard | Utility-reported |
| Sterling | 117.0 | 6.8 | Moderately hard | Utility-reported |
| Stone Ridge | 117.0 | 6.8 | Moderately hard | Utility-reported |
| Sugarland Run | 117.0 | 6.8 | Moderately hard | Utility-reported |
| Tysons | 117.0 | 6.8 | Moderately hard | Utility-reported |
| University Center | 117.0 | 6.8 | Moderately hard | Utility-reported |
| Wolf Trap | 117.0 | 6.8 | Moderately hard | Utility-reported |
| Richmond | 66.7 | 3.9 | Moderately hard | Utility-reported |
| Chesapeake | 33.4 | 1.9 | Soft | Utility-reported |
| Newport News | 67.9 | 4.0 | Moderately hard | Utility-reported |
| Portsmouth | 35.9 | 2.1 | Soft | Utility-reported |
| Glen Allen | 55.7 | 3.3 | Soft | Utility-reported |
| Mechanicsville | 55.7 | 3.3 | Soft | Utility-reported |
| Brandermill | 44.9 | 2.6 | Soft | Utility-reported |
| Chester | 44.9 | 2.6 | Soft | Utility-reported |
| Chesterfield | 44.9 | 2.6 | Soft | Utility-reported |
| Meadowbrook | 44.9 | 2.6 | Soft | Utility-reported |
| Rockwood | 44.9 | 2.6 | Soft | Utility-reported |
| Woodlake | 44.9 | 2.6 | Soft | Utility-reported |
| Woodbridge | 81.7 | 4.8 | Moderately hard | Utility-reported |
| Sandston | 65.2 | 3.8 | Moderately hard | Utility-reported |
| Lakeside | 65.2 | 3.8 | Moderately hard | Utility-reported |
| Bon Air | 65.2 | 3.8 | Moderately hard | Utility-reported |
| Chamberlayne | 65.2 | 3.8 | Moderately hard | Utility-reported |
| Dumbarton | 65.2 | 3.8 | Moderately hard | Utility-reported |
| East Highland Park | 65.2 | 3.8 | Moderately hard | Utility-reported |
| Henrico | 65.2 | 3.8 | Moderately hard | Utility-reported |
| Highland Springs | 65.2 | 3.8 | Moderately hard | Utility-reported |
| Laurel | 65.2 | 3.8 | Moderately hard | Utility-reported |
| Manchester | 65.2 | 3.8 | Moderately hard | Utility-reported |
| Montrose | 65.2 | 3.8 | Moderately hard | Utility-reported |
| Tuckahoe | 65.2 | 3.8 | Moderately hard | Utility-reported |
| Norfolk | 45.8 | 2.7 | Soft | Utility-reported |
| Roanoke | 145.0 | 8.5 | Hard | Utility-reported |
| Cave Spring | 145.0 | 8.5 | Hard | Utility-reported |
| Vinton | 145.0 | 8.5 | Hard | Utility-reported |
| Manassas | 73.5 | 4.3 | Moderately hard | Utility-reported |
| Camp Barrett | 26.1 | 1.5 | Soft | Utility-reported |
| Manassas Park | 81.7 | 4.8 | Moderately hard | Utility-reported |
| Yorkshire | 81.7 | 4.8 | Moderately hard | Utility-reported |
| Linton Hall | 82.4 | 4.8 | Moderately hard | Utility-reported |
| Buckhall | 81.7 | 4.8 | Moderately hard | Utility-reported |
| Gainesville | 81.7 | 4.8 | Moderately hard | Utility-reported |
| Innovation | 81.7 | 4.8 | Moderately hard | Utility-reported |
| Loch Lomond | 81.7 | 4.8 | Moderately hard | Utility-reported |
| Nokesville | 81.7 | 4.8 | Moderately hard | Utility-reported |
| Sudley | 81.7 | 4.8 | Moderately hard | Utility-reported |
| Aquia Harbour | 28.0 | 1.6 | Soft | Utility-reported |
| Boswell's Corner | 28.0 | 1.6 | Soft | Utility-reported |
| Goldvein | 34.0 | 2.0 | Soft | County estimate |
| Stafford | 28.0 | 1.6 | Soft | Utility-reported |
| Stafford Courthouse | 28.0 | 1.6 | Soft | Utility-reported |
| Charlottesville | 37.0 | 2.2 | Soft | Utility-reported |
| University of Virginia | 36.9 | 2.2 | Soft | Utility-reported |
| Lynchburg | 26.4 | 1.5 | Soft | Utility-reported |
| Suffolk | 15.7 | 0.9 | Soft | Utility-reported |
| Spotsylvania Courthouse | 38.9 | 2.3 | Soft | Utility-reported |
| Williamsburg | 28.6 | 1.7 | Soft | Utility-reported |
| Winchester | 253.6 | 14.8 | Very hard | Utility-reported |
| Dale City | 77.7 | 4.5 | Moderately hard | Utility-reported |
| Potomac Mills | 77.7 | 4.5 | Moderately hard | Utility-reported |
| Ivy | 37.6 | 2.2 | Soft | Utility-reported |
| Pantops | 37.0 | 2.2 | Soft | Utility-reported |
| Rio | 37.1 | 2.2 | Soft | Utility-reported |
| Hanover | 16.5 | 1.0 | Soft | Utility-reported |
| Harrisonburg | 80.5 | 4.7 | Moderately hard | Utility-reported |
| Leesburg | 142.0 | 8.3 | Hard | Utility-reported |
| Abingdon | 93.4 | 5.5 | Moderately hard | Utility-reported |
| Woodlawn | 67.3 | 3.9 | Moderately hard | Utility-reported |
| Danville | 38.2 | 2.2 | Soft | Utility-reported |
| Fort Belvoir | 68.5 | 4.0 | Moderately hard | County estimate |
| Blacksburg | 40.6 | 2.4 | Soft | Utility-reported |
| Merrimac | 40.6 | 2.4 | Soft | Utility-reported |
| Hopewell | 41.9 | 2.5 | Soft | Utility-reported |
| Collinsville | 25.9 | 1.5 | Soft | Utility-reported |
| Fort Lee | 46.0 | 2.7 | Soft | County estimate |
| Fredericksburg | 25.0 | 1.5 | Soft | Utility-reported |
| Glenvar | 166.0 | 9.7 | Hard | Utility-reported |
| Salem | 166.0 | 9.7 | Hard | Utility-reported |
| Christiansburg | 213.0 | 12.5 | Very hard | County estimate |
| Jolivue | 54.8 | 3.2 | Soft | Utility-reported |
| Staunton | 131.0 | 7.7 | Hard | Utility-reported |
| Stuarts Draft | 55.1 | 3.2 | Soft | Utility-reported |
| Fishersville | 54.8 | 3.2 | Soft | Utility-reported |
| Waynesboro | 84.0 | 4.9 | Moderately hard | Utility-reported |
| Floyd | 25.6 | 1.5 | Soft | County estimate |
| Timberlake | 32.9 | 1.9 | Soft | Utility-reported |
| Ruckersville | 30.4 | 1.8 | Soft | Utility-reported |
| Culpeper | 109.9 | 6.4 | Moderately hard | Utility-reported |
| Vansant | 165.0 | 9.7 | Hard | Utility-reported |
| Goochland | 58.0 | 3.4 | Soft | County estimate |
| Radford | 55.3 | 3.2 | Soft | Utility-reported |
| Colonial Heights | 27.0 | 1.6 | Soft | County estimate |
| Wise | 107.4 | 6.3 | Moderately hard | Utility-reported |
| Bristol | 88.3 | 5.2 | Moderately hard | Utility-reported |
| Fort Eustis | 22.0 | 1.3 | Soft | County estimate |
| Front Royal | 111.8 | 6.5 | Moderately hard | Utility-reported |
| Madison Heights | 19.0 | 1.1 | Soft | Utility-reported |
| Martinsville | 20.0 | 1.2 | Soft | Utility-reported |
| Lake Monticello | 22.1 | 1.3 | Soft | Utility-reported |
| Troy | 24.0 | 1.4 | Soft | County estimate |
| Unionville | 31.1 | 1.8 | Soft | Utility-reported |
| Warrenton | 70.0 | 4.1 | Moderately hard | Utility-reported |
| New Baltimore | 152.4 | 8.9 | Hard | Utility-reported |
| Dahlgren | 1.1 | 0.1 | Soft | Utility-reported |
| Dahlgren Center | 1.1 | 0.1 | Soft | Utility-reported |
| Hampton | 94.0 | 5.5 | Moderately hard | County estimate |
| Gloucester Courthouse | 40.6 | 2.4 | Soft | Utility-reported |
| Lebanon | 175.4 | 10.3 | Hard | Utility-reported |
| South Boston | 29.3 | 1.7 | Soft | Utility-reported |
| Pulaski | 20.2 | 1.2 | Soft | Utility-reported |
| Big Stone Gap | 6.6 | 0.4 | Soft | Utility-reported |
| Big Stone Gap East | 6.6 | 0.4 | Soft | Utility-reported |
| Purcellville | 111.0 | 6.5 | Moderately hard | Utility-reported |
| Clintwood | 202.0 | 11.8 | Very hard | County estimate |
| Rockville | 128.1 | 7.5 | Hard | Utility-reported |
| Smithfield | 9.0 | 0.5 | Soft | Utility-reported |
| Verona | 139.0 | 8.1 | Hard | Utility-reported |
| Piney Mountain | 29.2 | 1.7 | Soft | Utility-reported |
| Bland | 74.3 | 4.3 | Moderately hard | County estimate |
| Strasburg | 171.0 | 10.0 | Hard | Utility-reported |
| Lovingston | 67.5 | 4.0 | Moderately hard | Utility-reported |
| Buena Vista | 46.3 | 2.7 | Soft | Utility-reported |
| Bridgewater | 175.0 | 10.2 | Hard | Utility-reported |
| Dublin | 43.6 | 2.5 | Soft | County estimate |
| Henry Fork | 26.0 | 1.5 | Soft | Utility-reported |
| Rocky Mount | 26.0 | 1.5 | Soft | Utility-reported |
| Lawrenceville | 20.3 | 1.2 | Soft | Utility-reported |
| Round Hill | 168.0 | 9.8 | Hard | Utility-reported |
| Lake Land'Or | 50.6 | 3.0 | Soft | Utility-reported |
| South Hill | 35.1 | 2.0 | Soft | Utility-reported |
| Coeburn | 31.3 | 1.8 | Soft | Utility-reported |
| Weber City | 179.0 | 10.5 | Hard | Utility-reported |
| Richlands | 143.0 | 8.4 | Hard | Utility-reported |
| Wallops Island | 98.1 | 5.7 | Moderately hard | County estimate |
| Broadway | 99.6 | 5.8 | Moderately hard | Utility-reported |
| Norton | 13.5 | 0.8 | Soft | Utility-reported |
| Clifton Forge | 74.4 | 4.3 | Moderately hard | County estimate |
| Colonial Beach | 2.0 | 0.1 | Soft | Utility-reported |
| Hot Springs | 73.1 | 4.3 | Moderately hard | County estimate |
| Warm Springs | 73.1 | 4.3 | Moderately hard | County estimate |
| Altavista | 61.3 | 3.6 | Moderately hard | Utility-reported |
| Jonesville | 165.0 | 9.7 | Hard | County estimate |
| Clinchco | 202.0 | 11.8 | Very hard | County estimate |
| Grottoes | 111.0 | 6.5 | Moderately hard | Utility-reported |
| Pearisburg | 78.0 | 4.6 | Moderately hard | County estimate |
| Windsor | 36.0 | 2.1 | Soft | County estimate |
| West Point | 19.0 | 1.1 | Soft | County estimate |
| Lake Caroline | 27.0 | 1.6 | Soft | Utility-reported |
| Yorktown | 88.0 | 5.2 | Moderately hard | County estimate |
| Chatham | 18.3 | 1.1 | Soft | Utility-reported |
| Gordonsville | 87.1 | 5.1 | Moderately hard | Utility-reported |
| Appalachia | 195.0 | 11.4 | Very hard | County estimate |
| Hillsville | 25.0 | 1.5 | Soft | Utility-reported |
| Waverly | 165.1 | 9.7 | Hard | Utility-reported |
| New Kent | 58.9 | 3.4 | Soft | Utility-reported |
| North Tazewell | 143.0 | 8.4 | Hard | County estimate |
| Raven | 124.0 | 7.3 | Hard | County estimate |
| Pound | 51.9 | 3.0 | Soft | Utility-reported |
| Gretna | 25.8 | 1.5 | Soft | Utility-reported |
| Rural Retreat | 87.1 | 5.1 | Moderately hard | County estimate |
| Crewe | 30.5 | 1.8 | Soft | County estimate |
| Vint Hill | 172.0 | 10.1 | Hard | Utility-reported |
| Lake Wilderness | 63.9 | 3.7 | Moderately hard | Utility-reported |
| Shenandoah | 137.0 | 8.0 | Hard | County estimate |
| Tappahannock | 24.0 | 1.4 | Soft | County estimate |
| Craigsville | 147.5 | 8.6 | Hard | County estimate |
| New Market | 195.0 | 11.4 | Very hard | County estimate |
| King William | 19.0 | 1.1 | Soft | County estimate |
| Honaker | 323.0 | 18.9 | Very hard | Utility-reported |
| Chase City | 117.0 | 6.8 | Moderately hard | Utility-reported |
| Hamilton | 118.0 | 6.9 | Moderately hard | Utility-reported |
| Amherst | 17.4 | 1.0 | Soft | Utility-reported |
| Saltville | 93.0 | 5.4 | Moderately hard | County estimate |
| Timberville | 254.0 | 14.8 | Very hard | Utility-reported |
| Gate City | 160.0 | 9.4 | Hard | Utility-reported |
| Narrows | 146.0 | 8.5 | Hard | Utility-reported |
| Exmore | 112.0 | 6.5 | Moderately hard | County estimate |
| Mitchells | 106.0 | 6.2 | Moderately hard | Utility-reported |
| Ferrum | 56.4 | 3.3 | Soft | Utility-reported |
| Stephens City | 223.0 | 13.0 | Very hard | County estimate |
| Edinburg | 195.0 | 11.4 | Very hard | County estimate |
| Victoria | 33.0 | 1.9 | Soft | County estimate |
| Dillwyn | 27.0 | 1.6 | Soft | County estimate |
| Lovettsville | 175.0 | 10.2 | Hard | Utility-reported |
| Dryden | 165.0 | 9.7 | Hard | County estimate |
| Pennington Gap | 179.0 | 10.5 | Hard | Utility-reported |
| Appomattox | 102.0 | 6.0 | Moderately hard | Utility-reported |
| Marshall | 162.0 | 9.5 | Hard | Utility-reported |
| Dayton | 263.0 | 15.4 | Very hard | Utility-reported |
| Remington | 278.3 | 16.3 | Very hard | Utility-reported |
| Onancock | 98.1 | 5.7 | Moderately hard | County estimate |
| Brookneal | 20.0 | 1.2 | Soft | Utility-reported |
| Kilmarnock | 28.0 | 1.6 | Soft | County estimate |
| Stuart | 12.0 | 0.7 | Soft | Utility-reported |
| Cedar Bluff | 143.0 | 8.4 | Hard | County estimate |
| Clarksville | 40.5 | 2.4 | Soft | Utility-reported |
| Kenbridge | 20.2 | 1.2 | Soft | Utility-reported |
| Middletown | 223.0 | 13.0 | Very hard | County estimate |
| Hurt | 23.0 | 1.4 | Soft | County estimate |
| Courtland | 32.0 | 1.9 | Soft | County estimate |
| Wakefield | 25.0 | 1.5 | Soft | County estimate |
| New Castle | 32.7 | 1.9 | Soft | County estimate |
| Buchanan | 118.0 | 6.9 | Moderately hard | County estimate |
| Pembroke | 78.0 | 4.6 | Moderately hard | County estimate |
| Montross | 8.5 | 0.5 | Soft | Utility-reported |
| Bowling Green | 14.1 | 0.8 | Soft | Utility-reported |
| Glasgow | 124.0 | 7.3 | Hard | Utility-reported |
| Prince George | 54.6 | 3.2 | Soft | Utility-reported |
| Eastville | 112.0 | 6.5 | Moderately hard | County estimate |
| St. Paul | 141.0 | 8.3 | Hard | Utility-reported |
| St. Paul | 195.0 | 11.4 | Very hard | County estimate |
| Nickelsville | 185.0 | 10.8 | Very hard | Utility-reported |
| Urbanna | 4.3 | 0.3 | Soft | Utility-reported |
| La Crosse | 33.0 | 1.9 | Soft | County estimate |
| Shenandoah Shores | 368.0 | 21.5 | Very hard | Utility-reported |
| Middleburg | 102.0 | 6.0 | Moderately hard | Utility-reported |
| Mount Jackson | 102.0 | 6.0 | Moderately hard | Utility-reported |
| Quantico | 29.0 | 1.7 | Soft | County estimate |
| Fort Monroe | 94.0 | 5.5 | Moderately hard | County estimate |
| Petersburg | 23.0 | 1.4 | Soft | County estimate |
| Drakes Branch | 77.4 | 4.5 | Moderately hard | Utility-reported |
| Independence | 17.0 | 1.0 | Soft | County estimate |
| Troutville | 328.0 | 19.2 | Very hard | Utility-reported |
| Surry | 42.0 | 2.5 | Soft | County estimate |
| Sedley | 32.0 | 1.9 | Soft | County estimate |
| Toano | 35.4 | 2.1 | Soft | County estimate |
| Boydton | 33.0 | 1.9 | Soft | County estimate |
| Catawba | 218.0 | 12.8 | Very hard | Utility-reported |
| Dungannon | 187.0 | 10.9 | Very hard | Utility-reported |
| Ivor | 32.0 | 1.9 | Soft | County estimate |
| Dendron | 42.0 | 2.5 | Soft | County estimate |
| Scottsburg | 131.0 | 7.7 | Hard | Utility-reported |
| Boones Mill | 9.9 | 0.6 | Soft | Utility-reported |
| Bristow | 371.0 | 21.7 | Very hard | Utility-reported |
| Cleveland | 186.0 | 10.9 | Very hard | Utility-reported |
| Port Royal | 21.0 | 1.2 | Soft | County estimate |
| Claremont | 1.8 | 0.1 | Soft | Utility-reported |
| Saluda | 2.9 | 0.2 | Soft | Utility-reported |
| Brodnax | 22.0 | 1.3 | Soft | County estimate |
| Alberta | 22.0 | 1.3 | Soft | County estimate |
| Stevenson | 157.0 | 9.2 | Hard | Utility-reported |
| Virgilina | 296.0 | 17.3 | Very hard | Utility-reported |
| Franconia | 418.0 | 24.4 | Very hard | Utility-reported |
| Kingstowne | 418.0 | 24.4 | Very hard | Utility-reported |
| Charles City | 16.0 | 0.9 | Soft | Utility-reported |
| Bracey | 35.1 | 2.0 | Soft | Utility-reported |
| Phenix | 101.0 | 5.9 | Moderately hard | Utility-reported |
| Washington | 64.3 | 3.8 | Moderately hard | Utility-reported |
| Cloverdale | 118.0 | 6.9 | Moderately hard | County estimate |
| Blue Ridge | 50.9 | 3.0 | Soft | Utility-reported |
| Apple Mountain Lake | 88.3 | 5.2 | Moderately hard | Utility-reported |
| Crimora | 94.8 | 5.5 | Moderately hard | Utility-reported |
| Linden | 88.3 | 5.2 | Moderately hard | Utility-reported |
| Skyland Estates | 88.3 | 5.2 | Moderately hard | Utility-reported |
| Ridgeway | 63.0 | 3.7 | Moderately hard | Utility-reported |
| Warsaw | 24.9 | 1.5 | Soft | County estimate |
| Hillsboro | 75.2 | 4.4 | Moderately hard | Utility-reported |
| Keswick | 43.1 | 2.5 | Soft | Utility-reported |
| Aldie | 246.0 | 14.4 | Very hard | Utility-reported |
| Bedford | 65.0 | 3.8 | Moderately hard | Utility-reported |
| Gloucester | 117.0 | 6.8 | Moderately hard | Utility-reported |
| King George | 186.0 | 10.9 | Very hard | Utility-reported |
| Carrollton | 19.0 | 1.1 | Soft | Utility-reported |
| Stanardsville | 15.0 | 0.9 | Soft | Utility-reported |
| Bremo Bluff | 24.0 | 1.4 | Soft | County estimate |
| Rappahannock Academy | 21.0 | 1.2 | Soft | County estimate |
| Sugar Grove | 93.0 | 5.4 | Moderately hard | County 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.
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.