Skip to main content

Water Hardness in Washington

Across 191 measured cities — with 180 more covered by labeled county-level estimates — Washington's median tap water hardness is 39.4 mg/L (2.3 gpg): soft on the USGS scale. Below: every covered city, the state's hardest and softest water, and the geology that explains it.

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

State Median
39.4
mg/L (2.3 gpg), measured cities
Measured Range
12.6-289.1
mg/L across measured cities
Measured Cities
191
utility-reported or computed values
County Estimates
180
49% of covered cities

What it costs to soften Washington water

Water softener cost in Washington at 2.3 gpg prices the equipment and the installation labour against the plumber wages published for Washington, and labels every range as modelled or measured rather than leaving you to guess which it is.

Washington · 2.3 grains per gallon

$994–$1,344

installed, midpoint $1,150 — a 24,000-grain unit, the size 4 people at this hardness need.

Salt and drain water over 10 years: $445–$1,040 — the 2,518,500 grains of hardness this household removes, at the national salt price and water rate whose sources are named below. Filter changes and Service contract are omitted rather than assumed.

Sized for 4 people regenerating every 7 days: 4,830 grains of capacity needed, rounded up to the next common residential size. The median of 191 measured Washington cities in our hardness dataset. Modelled: the standard build band published for that state at the size this hardness calls for, equipment priced 2026-10-04 against the May 2025 reference period (OEWS M2025). Salt: the median retailer price of 3 retailers, read 2026-10-04, at a declared salt dose per regeneration. Drain water: about 50 gallons per regeneration from a government extension estimate read 2026-10-04, at the 2024 national average water and sewer rate from a government source read 2026-10-04.

Deciding whether it is worth it at all? Start from how much a water softener costs nationally — the same equipment, installation and ten-year ownership breakdown before any state wage adjustment is applied.

Washington Cities by Hardness Category

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

CategoryRangeMeasured citiesShare
Soft0-60 mg/L12565.4%
Moderately hard60-120 mg/L5327.7%
Hard120-180 mg/L94.7%
Very hard>180 mg/L42.1%

Hardest and Softest Water in Washington

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

Hardest water in Washington

  1. Omak — 289.1 mg/L (16.9 gpg), very hard
  2. Pateros — 281.3 mg/L (16.4 gpg), very hard
  3. Tonasket — 235.7 mg/L (13.8 gpg), very hard
  4. Grandview — 208.2 mg/L (12.2 gpg), very hard
  5. Marrowstone — 157.0 mg/L (9.2 gpg), hard

Softest water in Washington

  1. Alderwood Manor — 12.6 mg/L (0.7 gpg), soft
  2. Bothell East — 12.6 mg/L (0.7 gpg), soft
  3. Bothell West — 12.6 mg/L (0.7 gpg), soft
  4. Brier — 12.6 mg/L (0.7 gpg), soft
  5. Clearview — 12.6 mg/L (0.7 gpg), soft

Every Covered City in Washington

All 371 covered Washington 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
Boulevard Park30.91.8SoftUtility-reported
Bryn Mawr-Skyway30.91.8SoftUtility-reported
Burien30.91.8SoftUtility-reported
Seattle30.91.8SoftUtility-reported
Shoreline30.91.8SoftUtility-reported
White Center30.91.8SoftUtility-reported
Five Corners105.06.1Moderately hardUtility-reported
Hazel Dell105.06.1Moderately hardUtility-reported
Hockinson105.06.1Moderately hardUtility-reported
Minnehaha105.06.1Moderately hardUtility-reported
Orchards105.06.1Moderately hardUtility-reported
Vancouver105.06.1Moderately hardUtility-reported
Alderton21.81.3SoftUtility-reported
Browns Point21.81.3SoftUtility-reported
Clover Creek21.81.3SoftUtility-reported
Dash Point21.81.3SoftUtility-reported
Fife Heights21.81.3SoftUtility-reported
Frederickson21.81.3SoftUtility-reported
Graham21.81.3SoftUtility-reported
McMillin21.81.3SoftUtility-reported
Midland21.81.3SoftUtility-reported
Prairie Heights21.81.3SoftUtility-reported
Prairie Ridge21.81.3SoftUtility-reported
Ruston21.81.3SoftUtility-reported
South Hill21.81.3SoftUtility-reported
Summit View21.81.3SoftUtility-reported
Tacoma21.81.3SoftUtility-reported
Tehaleh21.81.3SoftUtility-reported
University Place21.81.3SoftUtility-reported
Waller21.81.3SoftUtility-reported
Beaux Arts Village34.92.0SoftUtility-reported
Bellevue34.92.0SoftUtility-reported
Clyde Hill34.92.0SoftUtility-reported
Hunts Point34.92.0SoftUtility-reported
Medina34.92.0SoftUtility-reported
Yarrow Point34.92.0SoftUtility-reported
Spokane22.91.3SoftCounty estimate
Alderwood Manor12.60.7SoftUtility-reported
Bothell East12.60.7SoftUtility-reported
Bothell West12.60.7SoftUtility-reported
Brier12.60.7SoftUtility-reported
Clearview12.60.7SoftUtility-reported
Lake Stickney12.60.7SoftUtility-reported
Larch Way12.60.7SoftUtility-reported
Maltby12.60.7SoftUtility-reported
Martha Lake12.60.7SoftUtility-reported
Meadowdale12.60.7SoftUtility-reported
Mill Creek12.60.7SoftUtility-reported
Mill Creek East12.60.7SoftUtility-reported
North Lynnwood12.60.7SoftUtility-reported
Picnic Point12.60.7SoftUtility-reported
Eastmont18.91.1SoftUtility-reported
Everett18.91.1SoftUtility-reported
Redmond53.03.1SoftUtility-reported
Union Hill-Novelty Hill53.03.1SoftUtility-reported
Des Moines37.92.2SoftUtility-reported
Federal Way37.92.2SoftUtility-reported
Lakeland North37.92.2SoftUtility-reported
Lakeland South37.92.2SoftUtility-reported
Amboy85.95.0Moderately hardUtility-reported
Barberton85.95.0Moderately hardUtility-reported
Brush Prairie85.95.0Moderately hardUtility-reported
Cherry Grove85.95.0Moderately hardUtility-reported
Dollars Corner85.95.0Moderately hardUtility-reported
Duluth85.95.0Moderately hardUtility-reported
Felida85.95.0Moderately hardUtility-reported
Fern Prairie85.95.0Moderately hardUtility-reported
La Center85.95.0Moderately hardUtility-reported
Lake Shore85.95.0Moderately hardUtility-reported
Lewisville85.95.0Moderately hardUtility-reported
Meadow Glade85.95.0Moderately hardUtility-reported
Mount Vista85.95.0Moderately hardUtility-reported
Salmon Creek85.95.0Moderately hardUtility-reported
Venersborg85.95.0Moderately hardUtility-reported
Kenmore25.11.5SoftUtility-reported
Bellingham29.21.7SoftUtility-reported
Marietta-Alderwood29.21.7SoftUtility-reported
Renton73.04.3Moderately hardUtility-reported
Arlington28.61.7SoftCounty estimate
Finley96.15.6Moderately hardUtility-reported
Kennewick96.15.6Moderately hardUtility-reported
Lacey110.06.4Moderately hardUtility-reported
Tanglewilde110.06.4Moderately hardUtility-reported
Pasco268.515.7Very hardCounty estimate
DuPont39.32.3SoftCounty estimate
Alger18.11.1SoftUtility-reported
Bay View18.11.1SoftUtility-reported
Big Lake18.11.1SoftUtility-reported
Burlington18.11.1SoftUtility-reported
Mount Vernon18.11.1SoftUtility-reported
Sedro-Woolley18.11.1SoftUtility-reported
Kent59.43.5SoftUtility-reported
Olympia52.03.0SoftUtility-reported
Marysville28.61.7SoftCounty estimate
Gleed30.61.8SoftComputed from Ca+Mg
Yakima30.61.8SoftComputed from Ca+Mg
Bremerton38.92.3SoftUtility-reported
Enetai38.92.3SoftUtility-reported
Gorst38.92.3SoftUtility-reported
Kitsap Lake38.92.3SoftUtility-reported
Navy Yard City38.92.3SoftUtility-reported
Tracyton38.92.3SoftUtility-reported
Normandy Park64.13.8Moderately hardUtility-reported
SeaTac64.13.8Moderately hardUtility-reported
Sammamish62.63.7Moderately hardUtility-reported
Kirkland21.31.3SoftUtility-reported
Fairwood23.81.4SoftUtility-reported
Maple Heights-Lake Desire23.81.4SoftUtility-reported
Lynnwood24.31.4SoftUtility-reported
Lakewood72.44.2Moderately hardUtility-reported
Auburn57.23.4SoftUtility-reported
Lake Morton-Berrydale57.23.4SoftUtility-reported
Tumwater60.23.5Moderately hardUtility-reported
Spanaway39.32.3SoftCounty estimate
Cottage Lake25.31.5SoftUtility-reported
Woodinville25.31.5SoftUtility-reported
Richland89.25.2Moderately hardUtility-reported
Arlington Heights35.82.1SoftUtility-reported
Bunk Foss35.82.1SoftUtility-reported
Canyon Creek35.82.1SoftUtility-reported
Cavalero35.82.1SoftUtility-reported
Chain Lake35.82.1SoftUtility-reported
Lake Bosworth35.82.1SoftUtility-reported
Lake Roesiger35.82.1SoftUtility-reported
Lake Stevens35.82.1SoftUtility-reported
Lochsloy35.82.1SoftUtility-reported
Machias35.82.1SoftUtility-reported
McChord AFB39.32.3SoftCounty estimate
Roy39.32.3SoftCounty estimate
Covington45.92.7SoftUtility-reported
Lake Holm45.92.7SoftUtility-reported
Maple Valley45.92.7SoftUtility-reported
Ravensdale45.92.7SoftUtility-reported
Shadow Lake45.92.7SoftUtility-reported
Longview127.07.4HardUtility-reported
Longview Heights127.07.4HardUtility-reported
Edmonds15.60.9SoftUtility-reported
Liberty Lake22.91.3SoftCounty estimate
Chehalis2.40.1SoftCounty estimate
Issaquah44.12.6SoftUtility-reported
Bonney Lake95.35.6Moderately hardUtility-reported
Lake Tapps95.35.6Moderately hardUtility-reported
Clarkston96.05.6Moderately hardCounty estimate
Walla Walla38.82.3SoftCounty estimate
North Puyallup93.25.5Moderately hardUtility-reported
Puyallup93.25.5Moderately hardUtility-reported
Ahtanum56.73.3SoftComputed from Ca+Mg
Summitview56.73.3SoftComputed from Ca+Mg
Camas39.42.3SoftUtility-reported
South Wenatchee80.44.7Moderately hardUtility-reported
Wenatchee80.44.7Moderately hardUtility-reported
Bothell30.51.8SoftUtility-reported
Greenacres22.91.3SoftCounty estimate
Pullman115.06.7Moderately hardComputed from Ca+Mg
Battle Ground83.14.9Moderately hardUtility-reported
Manchester85.85.0Moderately hardCounty estimate
Hobart62.73.7Moderately hardCounty estimate
Centralia2.40.1SoftCounty estimate
Country Homes124.07.3HardUtility-reported
Green Bluff124.07.3HardUtility-reported
Mead124.07.3HardUtility-reported
East Wenatchee71.34.2Moderately hardCounty estimate
Mountlake Terrace14.30.8SoftUtility-reported
Shelton38.62.3SoftCounty estimate
Silverdale85.85.0Moderately hardCounty estimate
Mercer Island39.42.3SoftUtility-reported
Asotin96.05.6Moderately hardCounty estimate
Mukilteo28.61.7SoftCounty estimate
Sequim50.63.0SoftCounty estimate
Oak Harbor44.82.6SoftUtility-reported
Cathcart43.32.5SoftUtility-reported
Fobes Hill43.32.5SoftUtility-reported
High Bridge43.32.5SoftUtility-reported
Silver Firs43.32.5SoftUtility-reported
Lynden35.72.1SoftCounty estimate
Washougal41.42.4SoftUtility-reported
Ellensburg59.53.5SoftUtility-reported
East Renton Highlands30.01.8SoftUtility-reported
Ridgefield59.43.5SoftCounty estimate
Aberdeen22.71.3SoftCounty estimate
West Richland33.11.9SoftUtility-reported
Poulsbo66.63.9Moderately hardUtility-reported
Enumclaw61.63.6Moderately hardUtility-reported
Sunnyside74.84.4Moderately hardCounty estimate
Port Townsend59.93.5SoftUtility-reported
Esperance86.15.0Moderately hardUtility-reported
Woodway86.15.0Moderately hardUtility-reported
Snoqualime41.42.4SoftUtility-reported
Snoqualmie41.42.4SoftUtility-reported
Yelm52.53.1SoftCounty estimate
Sunnyslope80.04.7Moderately hardUtility-reported
Hansville90.45.3Moderately hardUtility-reported
Indianola90.45.3Moderately hardUtility-reported
Kingston90.45.3Moderately hardUtility-reported
Port Gamble Tribal Community90.45.3Moderately hardUtility-reported
Sumner39.32.3SoftCounty estimate
Kelso15.60.9SoftCounty estimate
Cheney22.91.3SoftCounty estimate
Port Orchard85.85.0Moderately hardCounty estimate
Newcastle27.41.6SoftUtility-reported
Selah146.78.6HardComputed from Ca+Mg
Bainbridge Island54.83.2SoftUtility-reported
Stanwood28.61.7SoftCounty estimate
Hoquiam22.71.3SoftCounty estimate
Gig Harbor45.92.7SoftUtility-reported
Rosedale45.92.7SoftUtility-reported
Wollochet45.92.7SoftUtility-reported
Snohomish28.61.7SoftCounty estimate
Grandview208.212.2Very hardComputed from Ca+Mg
Raymond15.60.9SoftCounty estimate
Woodland15.60.9SoftCounty estimate
Ocean Park15.60.9SoftCounty estimate
Leavenworth14.70.9SoftCounty estimate
Orting39.32.3SoftCounty estimate
Marrowstone157.09.2HardUtility-reported
Port Hadlock-Irondale157.09.2HardUtility-reported
Duvall21.01.2SoftUtility-reported
Buckley39.32.3SoftCounty estimate
Airway Heights22.91.3SoftCounty estimate
Chelan21.41.3SoftComputed from Ca+Mg
Ocean Shores22.71.3SoftCounty estimate
Toppenish62.83.7Moderately hardComputed from Ca+Mg
Othello33.21.9SoftComputed from Ca+Mg
Ephrata168.09.8HardCounty estimate
North Bend62.73.7Moderately hardCounty estimate
Steilacoom39.32.3SoftCounty estimate
Milton39.32.3SoftCounty estimate
Terrace Heights88.15.2Moderately hardComputed from Ca+Mg
Kalama15.60.9SoftCounty estimate
Vashon62.73.7Moderately hardCounty estimate
Pacific56.23.3SoftUtility-reported
Manson14.70.9SoftCounty estimate
Prosser74.84.4Moderately hardCounty estimate
Benton City74.84.4Moderately hardCounty estimate
Cashmere14.70.9SoftCounty estimate
Montesano22.71.3SoftCounty estimate
Medical Lake22.91.3SoftCounty estimate
Cle Elum44.12.6SoftCounty estimate
Mattawa168.09.8HardCounty estimate
Granite Falls28.61.7SoftCounty estimate
Grayland15.60.9SoftCounty estimate
Westport22.71.3SoftCounty estimate
Belfair38.62.3SoftCounty estimate
Eastsound163.09.5HardCounty estimate
Omak289.116.9Very hardComputed from Ca+Mg
Newport70.54.1Moderately hardCounty estimate
Dallesport63.53.7Moderately hardCounty estimate
Castle Rock15.60.9SoftCounty estimate
Brewster117.06.8Moderately hardCounty estimate
Suquamish85.85.0Moderately hardCounty estimate
Coupeville289.016.9Very hardCounty estimate
Ilwaco15.60.9SoftCounty estimate
Granger166.09.7HardCounty estimate
White Salmon63.53.7Moderately hardCounty estimate
Hoodsport38.62.3SoftCounty estimate
Napavine2.40.1SoftCounty estimate
Fox Island39.32.3SoftCounty estimate
Rochester52.53.1SoftCounty estimate
Everson35.72.1SoftCounty estimate
Nooksack35.72.1SoftCounty estimate
Eatonville39.32.3SoftCounty estimate
Colfax114.06.7Moderately hardCounty estimate
Monroe28.61.7SoftCounty estimate
Tenino52.53.1SoftCounty estimate
Friday Harbor163.09.5HardCounty estimate
Zillah166.09.7HardCounty estimate
Naches166.09.7HardCounty estimate
Royal City168.09.8HardCounty estimate
Dayton92.45.4Moderately hardComputed from Ca+Mg
Oroville117.06.8Moderately hardCounty estimate
Fall City62.73.7Moderately hardCounty estimate
Okanogan117.06.8Moderately hardCounty estimate
Port Ludlow69.34.0Moderately hardUtility-reported
Yacolt59.43.5SoftCounty estimate
South Bend15.60.9SoftCounty estimate
Winlock2.40.1SoftCounty estimate
Rainier52.53.1SoftCounty estimate
Mccleary22.71.3SoftCounty estimate
Kettle Falls110.06.4Moderately hardCounty estimate
Chewelah74.44.3Moderately hardCounty estimate
Rock Island71.34.2Moderately hardCounty estimate
Black Diamond62.73.7Moderately hardCounty estimate
Carnation62.73.7Moderately hardCounty estimate
Tonasket235.713.8Very hardComputed from Ca+Mg
Mabton166.09.7HardCounty estimate
Stevenson37.52.2SoftComputed from Ca+Mg
Kittitas44.12.6SoftCounty estimate
Morton2.40.1SoftCounty estimate
Darrington28.61.7SoftCounty estimate
Allyn38.62.3SoftCounty estimate
Roslyn44.12.6SoftCounty estimate
Electric City168.09.8HardCounty estimate
Toledo2.40.1SoftCounty estimate
Onalaska2.40.1SoftCounty estimate
Clinton289.016.9Very hardCounty estimate
Cosmopolis22.71.3SoftCounty estimate
Waitsburg38.82.3SoftCounty estimate
Newman Lake22.91.3SoftCounty estimate
Bingen61.63.6Moderately hardCounty estimate
Sumas35.72.1SoftCounty estimate
Entiat14.70.9SoftCounty estimate
Ritzville251.014.7Very hardCounty estimate
Davenport149.08.7HardCounty estimate
Republic110.06.4Moderately hardCounty estimate
Cathlamet56.63.3SoftCounty estimate
Taholah22.71.3SoftCounty estimate
La Conner9.00.5SoftCounty estimate
Mossyrock2.40.1SoftCounty estimate
Bow9.00.5SoftCounty estimate
Pomeroy114.56.7Moderately hardCounty estimate
Point Roberts35.72.1SoftCounty estimate
Grand Coulee71.34.2Moderately hardCounty estimate
Langley289.016.9Very hardCounty estimate
Anderson Island39.32.3SoftCounty estimate
Coulee Dam117.06.8Moderately hardCounty estimate
Pacific Beach22.71.3SoftCounty estimate
Oakville22.71.3SoftCounty estimate
Harrah166.09.7HardCounty estimate
Neah Bay50.63.0SoftCounty estimate
Palouse114.06.7Moderately hardCounty estimate
Pateros281.316.4Very hardComputed from Ca+Mg
Waterville71.34.2Moderately hardCounty estimate
Camano Island289.016.9Very hardCounty estimate
Ashford39.32.3SoftCounty estimate
Wilkeson39.32.3SoftCounty estimate
North Bonneville61.63.6Moderately hardCounty estimate
Tekoa114.06.7Moderately hardCounty estimate
George149.68.8HardComputed from Ca+Mg
Twisp117.06.8Moderately hardCounty estimate
Chimacum25.41.5SoftCounty estimate
Union38.62.3SoftCounty estimate
Quinault22.71.3SoftCounty estimate
Vader2.40.1SoftCounty estimate
Buena166.09.7HardCounty estimate
St. John114.06.7Moderately hardCounty estimate
Tokeland15.60.9SoftCounty estimate
Cusick70.54.1Moderately hardCounty estimate
Malott117.06.8Moderately hardCounty estimate
Malaga14.70.9SoftCounty estimate
Colton114.06.7Moderately hardCounty estimate
Albion114.06.7Moderately hardCounty estimate
Bucoda52.53.1SoftCounty estimate
Marshall22.91.3SoftCounty estimate
South Cle Elum19.51.1SoftComputed from Ca+Mg
Prescott38.82.3SoftCounty estimate
Oakesdale114.06.7Moderately hardCounty estimate
Carson61.63.6Moderately hardCounty estimate
Four Lakes22.91.3SoftCounty estimate
Riverside117.06.8Moderately hardCounty estimate
Ronald44.12.6SoftCounty estimate
Moses Lake168.09.8HardCounty estimate
Uniontown114.06.7Moderately hardCounty estimate
Ferndale35.72.1SoftCounty estimate
Usk70.54.1Moderately hardCounty estimate
Quincy168.09.8HardCounty estimate
Wapato166.09.7HardCounty estimate
Peshastin14.70.9SoftCounty estimate
Orondo71.34.2Moderately hardCounty estimate
Nespelem117.06.8Moderately hardCounty estimate
Grapeview38.62.3SoftCounty estimate
Port Angeles50.63.0SoftCounty estimate
Freeland289.016.9Very hardCounty estimate
Bridgeport71.34.2Moderately hardCounty estimate
Lind251.014.7Very hardCounty estimate
Lopez Island163.09.5HardCounty estimate
Maple Falls35.72.1SoftCounty estimate
Mesa268.515.7Very hardCounty estimate
Packwood2.40.1SoftCounty estimate
Trout Lake63.53.7Moderately hardCounty estimate
Waverly22.91.3SoftCounty estimate
Winthrop117.06.8Moderately 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 Washington's Water Hardness

Washington sits in the Pacific maritime volcanic terrain region.

The Pacific Northwest, Alaska, and Hawaii share young volcanic bedrock - basalt and other igneous rock with little carbonate to dissolve - and most supplies come from heavy rainfall, snowmelt, or fast-recharging volcanic aquifers. Water simply does not stay in contact with soluble carbonate long enough to harden. That is why the USGS maps these states among the softest in the nation.

Source: USGS Water Science School - Hardness of Water

Washington Water Hardness FAQ

Does Washington have hard water?

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

How hard is tap water in Washington?

Across the 191 Washington cities with measured values in our index, the median hardness is 39.4 mg/L (2.3 gpg) — soft on the USGS scale. Individual cities range from 12.6 to 289.1 mg/L, so check your own city rather than assuming the state number.

Which city in Washington has the hardest water?

Omak has the hardest measured tap water in our Washington index at 289.1 mg/L (16.9 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 Washington?

13 of Washington's 191 measured cities (7%) 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 Washington city from utility-reported water quality data, check your water utility's annual Consumer Confidence Report (CCR), or use a home test-strip kit.

Need whole-house or professional water treatment?

For the problems a pitcher or under-sink filter cannot fix — scale, rust and black staining, sulfur smell, well contamination, or test results you cannot explain. Tell us what is happening and we will connect you with a local water-treatment professional.

TapWaterData may be compensated when you are connected with a water-treatment professional.

Get the Weekly Water Brief

One email a week on water testing, treatment, and what water-quality data means for your home.

One email a week. Unsubscribe anytime.