HardWaterLab

Water hardness in Washington

Washington has a median ambient water hardness of 32 mg/L, which is 1.9 grains per gallon and classes as soft. That is the middle of 84,140 samples across 39 counties.

State median
1.9 gpg
32 mg/L
Hardest county
Island County
11.1 gpg
Softest county
Cowlitz County
1 gpg

This is ambient water, not tap water. These figures come from samples taken from wells, streams and springs by USGS, EPA and state agencies. Municipal utilities treat, blend and sometimes soften water before it reaches a tap, so a city supply can be considerably softer than the ground beneath it. Treat this as a good guide for a private well and an approximate one for city water. Your utility's annual water quality report gives the real number for a municipal tap, and a test strip gives it for yours.

Every monitored county in Washington

Ranked hardest first. The middle 50% column shows how much the samples within a county vary, which matters more than the median where a county spans two geologies.

Ambient water hardness by county, Washington
Countymg/LgpgClassMiddle 50%Samples
Island County19011.1Very hard117 to 390150
San Juan County1679.8Hard78 to 28092
Grant County1609.3Hard78 to 2201,635
Lincoln County1277.4Hard85 to 150338
Adams County1106.4Moderately hard51 to 230319
Franklin County1106.4Moderately hard58 to 220946
Benton County945.5Moderately hard68 to 1201,539
Ferry County935.4Moderately hard62 to 140366
Spokane County885.1Moderately hard32 to 1401,512
Okanogan County875.1Moderately hard40 to 1301,450
Whitman County814.7Moderately hard28 to 1201,373
Garfield County804.7Moderately hard54 to 10060
Douglas County794.6Moderately hard65 to 170116
Pend Oreille County794.6Moderately hard73 to 85193
Yakima County784.6Moderately hard39 to 1372,683
Stevens County754.4Moderately hard60 to 1101,336
Kitsap County673.9Moderately hard43 to 91566
Asotin County583.4Soft52 to 10656
Clark County573.3Soft19 to 73398
Walla Walla County543.2Soft34 to 90865
Columbia County442.6Soft35 to 6092
Thurston County442.6Soft30 to 58861
Pierce County412.4Soft24 to 561,824
King County402.3Soft25 to 632,276
Kittitas County392.3Soft25 to 67709
Clallam County382.2Soft30 to 43376
Mason County352Soft28 to 43489
Klickitat County342Soft27 to 76434
Whatcom County331.9Soft20 to 692,554
Jefferson County311.8Soft25 to 38529
Snohomish County261.5Soft16 to 4653,212
Grays Harbor County241.4Soft19 to 301,072
Skagit County241.4Soft19 to 30955
Skamania County231.3Soft19 to 56331
Chelan County221.3Soft18 to 35322
Lewis County211.2Soft15 to 31774
Pacific County211.2Soft16 to 43218
Wahkiakum County191.1Soft15 to 2372
Cowlitz County171Soft13 to 301,047

Source: Water Quality Portal (USGS, EPA and state agencies), waterqualitydata.us, retrieved 2026-09-19. 2,904,346 samples across 3,110 counties.

What this means for a household in Washington

At 1.9 grains per gallon, a family of four would need a softener of about 16,000 grains to regenerate roughly weekly, using around 77 lb of salt a year. Size it for your own household.

39 of these counties include well samples, so the figures are a reasonable guide for private well water there. Municipal supplies in the same counties may be softer, because utilities often blend or treat.

Hardness follows geology rather than borders. Where a county sits on limestone or dolomite the water is hard; on granite, basalt or sandstone it is soft. That is why neighbouring counties in this table can differ by a factor of several.

Frequently asked questions

Is the water hard in Washington?
The median ambient sample in Washington is 32 mg/L, 1.9 grains per gallon, which classes as soft. It varies widely by county: Island County County measures 11.1 gpg and Cowlitz County County 1 gpg.
Which county in Washington has the hardest water?
Island County, at a median of 190 mg/L (11.1 grains per gallon) across 150 samples.
Do I need a water softener in Washington?
At the state median of 1.9 grains per gallon, a softener is usually not worth its salt and maintenance, though individual counties run harder. Check your own county in the table above, then confirm with a test strip.

Related tools