Water Hardness in Utah
Across 43 measured cities — with 127 more covered by labeled county-level estimates — Utah's median tap water hardness is 188.0 mg/L (11.0 gpg): very hard 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.
What it costs to soften Utah water
Water softener cost in Utah at 11.0 gpg prices the equipment and the installation labour against the plumber wages published for Utah, and labels every range as modelled or measured rather than leaving you to guess which it is.
Utah · 10.99 grains per gallon
$948–$1,216
installed, midpoint $1,067 — a 24,000-grain unit, the size 4 people at this hardness need.
Salt and drain water over 10 years: $966–$1,651 — the 12,034,050 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: 23,079 grains of capacity needed, rounded up to the next common residential size. The median of 43 measured Utah 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.
Utah 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 | 1 | 2.3% |
| Moderately hard | 60-120 mg/L | 8 | 18.6% |
| Hard | 120-180 mg/L | 12 | 27.9% |
| Very hard | >180 mg/L | 22 | 51.2% |
Hardest and Softest Water in Utah
Measured values only; labeled county estimates and values under active dispute never rank.
Hardest water in Utah
- Herriman — 424.0 mg/L (24.8 gpg), very hard
- Kearns — 365.0 mg/L (21.4 gpg), very hard
- North Salt Lake — 303.0 mg/L (17.7 gpg), very hard
- Erda — 295.0 mg/L (17.3 gpg), very hard
- Lake Point — 295.0 mg/L (17.3 gpg), very hard
Softest water in Utah
- Riverton — 0.6 mg/L (0.0 gpg), soft
- Draper — 83.9 mg/L (4.9 gpg), moderately hard
- Saratoga Springs — 95.9 mg/L (5.6 gpg), moderately hard
- Ogden — 103.9 mg/L (6.1 gpg), moderately hard
- East Basin — 107.0 mg/L (6.3 gpg), moderately hard
Every Covered City in Utah
All 170 covered Utah 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 |
|---|---|---|---|---|
| Cottonwood Heights | 231.0 | 13.5 | Very hard | Utility-reported |
| Holladay | 231.0 | 13.5 | Very hard | Utility-reported |
| Millcreek | 231.0 | 13.5 | Very hard | Utility-reported |
| Salt Lake City | 231.0 | 13.5 | Very hard | Utility-reported |
| West Valley City | 179.0 | 10.5 | Hard | Utility-reported |
| Provo | 256.2 | 15.0 | Very hard | County estimate |
| West Jordan | 188.0 | 11.0 | Very hard | Utility-reported |
| Granite | 156.0 | 9.1 | Hard | Utility-reported |
| Sandy | 156.0 | 9.1 | Hard | Utility-reported |
| Orem | 140.0 | 8.2 | Hard | Utility-reported |
| St George | 138.0 | 8.1 | Hard | Utility-reported |
| St George City | 138.0 | 8.1 | Hard | Utility-reported |
| Ogden | 103.9 | 6.1 | Moderately hard | Computed from Ca+Mg |
| Lehi | 159.5 | 9.3 | Hard | Computed from Ca+Mg |
| Layton | 190.0 | 11.1 | Very hard | Utility-reported |
| Taylorsville | 236.0 | 13.8 | Very hard | Utility-reported |
| Herriman | 424.0 | 24.8 | Very hard | Utility-reported |
| Roy | 199.1 | 11.6 | Very hard | County estimate |
| South Jordan | 142.0 | 8.3 | Hard | Utility-reported |
| Clearfield | 330.1 | 19.3 | Very hard | County estimate |
| Kearns | 365.0 | 21.4 | Very hard | Utility-reported |
| Logan | 194.0 | 11.3 | Very hard | Utility-reported |
| Spanish Fork | 256.2 | 15.0 | Very hard | County estimate |
| Eagle Mountain | 256.2 | 15.0 | Very hard | County estimate |
| Mapleton | 256.2 | 15.0 | Very hard | County estimate |
| Riverton | 0.6 | 0.0 | Soft | Utility-reported |
| Cedar City | 224.0 | 13.1 | Very hard | County estimate |
| Pleasant Grove | 256.2 | 15.0 | Very hard | County estimate |
| Murray | 235.3 | 13.8 | Very hard | Computed from Ca+Mg |
| Hurricane | 260.2 | 15.2 | Very hard | County estimate |
| Washington | 260.2 | 15.2 | Very hard | County estimate |
| Saratoga Springs | 95.9 | 5.6 | Moderately hard | Utility-reported |
| Bountiful | 330.1 | 19.3 | Very hard | County estimate |
| American Fork | 223.0 | 13.0 | Very hard | Utility-reported |
| Tooele | 333.0 | 19.5 | Very hard | County estimate |
| Midvale | 161.0 | 9.4 | Hard | Utility-reported |
| Magna | 340.4 | 19.9 | Very hard | County estimate |
| Springville | 256.2 | 15.0 | Very hard | County estimate |
| Syracuse | 330.1 | 19.3 | Very hard | County estimate |
| Kaysville | 134.0 | 7.8 | Hard | Utility-reported |
| Farmington | 330.1 | 19.3 | Very hard | County estimate |
| Draper | 83.9 | 4.9 | Moderately hard | Utility-reported |
| Highland | 195.0 | 11.4 | Very hard | Utility-reported |
| Hooper | 199.1 | 11.6 | Very hard | County estimate |
| Brigham City | 377.5 | 22.1 | Very hard | County estimate |
| Payson | 256.2 | 15.0 | Very hard | County estimate |
| North Salt Lake | 303.0 | 17.7 | Very hard | Utility-reported |
| Santaquin | 256.2 | 15.0 | Very hard | County estimate |
| Centerville | 160.0 | 9.4 | Hard | Computed from Ca+Mg |
| Heber | 197.0 | 11.5 | Very hard | Utility-reported |
| Heber City | 197.0 | 11.5 | Very hard | Utility-reported |
| Tridell | 300.0 | 17.5 | Very hard | County estimate |
| Grantsville | 333.0 | 19.5 | Very hard | County estimate |
| Garland | 377.5 | 22.1 | Very hard | County estimate |
| Vernal | 300.0 | 17.5 | Very hard | County estimate |
| Tremonton | 377.5 | 22.1 | Very hard | County estimate |
| Woods Cross | 330.1 | 19.3 | Very hard | County estimate |
| Lindon | 118.0 | 6.9 | Moderately hard | Utility-reported |
| Ivins | 178.0 | 10.4 | Hard | Utility-reported |
| Smithfield | 240.7 | 14.1 | Very hard | County estimate |
| Alpine | 256.2 | 15.0 | Very hard | County estimate |
| East Basin | 107.0 | 6.3 | Moderately hard | Utility-reported |
| Silver Summit | 107.0 | 6.3 | Moderately hard | Utility-reported |
| Snyderville | 107.0 | 6.3 | Moderately hard | Utility-reported |
| Summit Park | 107.0 | 6.3 | Moderately hard | Utility-reported |
| Price | 300.4 | 17.6 | Very hard | County estimate |
| Helper | 300.4 | 17.6 | Very hard | County estimate |
| Park City | 190.9 | 11.2 | Very hard | County estimate |
| Wellington | 300.4 | 17.6 | Very hard | County estimate |
| Erda | 295.0 | 17.3 | Very hard | Utility-reported |
| Lake Point | 295.0 | 17.3 | Very hard | Utility-reported |
| Stansbury Park | 295.0 | 17.3 | Very hard | Utility-reported |
| Roosevelt | 219.2 | 12.8 | Very hard | County estimate |
| Santa Clara | 260.2 | 15.2 | Very hard | County estimate |
| Hyrum | 240.7 | 14.1 | Very hard | County estimate |
| Providence | 240.7 | 14.1 | Very hard | County estimate |
| Ephraim | 337.0 | 19.7 | Very hard | County estimate |
| Salem | 256.2 | 15.0 | Very hard | County estimate |
| Fruit Heights | 189.0 | 11.1 | Very hard | Utility-reported |
| Midway | 204.0 | 11.9 | Very hard | Utility-reported |
| Centerfield | 337.0 | 19.7 | Very hard | County estimate |
| Toquerville | 260.2 | 15.2 | Very hard | County estimate |
| Virgin | 260.2 | 15.2 | Very hard | County estimate |
| Wellsville | 240.7 | 14.1 | Very hard | County estimate |
| Moab | 347.9 | 20.4 | Very hard | County estimate |
| Hyde Park | 240.7 | 14.1 | Very hard | County estimate |
| Blanding | 274.4 | 16.1 | Very hard | County estimate |
| Fort Duchesne | 300.0 | 17.5 | Very hard | County estimate |
| Mount Pleasant | 337.0 | 19.7 | Very hard | County estimate |
| Willard | 377.5 | 22.1 | Very hard | County estimate |
| Gunnison | 337.0 | 19.7 | Very hard | County estimate |
| Manti | 337.0 | 19.7 | Very hard | County estimate |
| Hill Afb | 330.1 | 19.3 | Very hard | County estimate |
| Beaver | 177.6 | 10.4 | Hard | County estimate |
| Parowan | 224.0 | 13.1 | Very hard | County estimate |
| Monticello | 274.4 | 16.1 | Very hard | County estimate |
| Fillmore | 339.5 | 19.9 | Very hard | County estimate |
| Kamas | 190.9 | 11.2 | Very hard | County estimate |
| Monroe | 105.3 | 6.2 | Moderately hard | County estimate |
| Huntington | 653.6 | 38.2 | Very hard | County estimate |
| Bear River City | 377.5 | 22.1 | Very hard | County estimate |
| Mona | 281.1 | 16.4 | Very hard | County estimate |
| Salina | 105.3 | 6.2 | Moderately hard | County estimate |
| Talmage | 219.2 | 12.8 | Very hard | County estimate |
| Fairview | 337.0 | 19.7 | Very hard | County estimate |
| Lewiston | 240.7 | 14.1 | Very hard | County estimate |
| Cleveland | 653.6 | 38.2 | Very hard | County estimate |
| Coalville | 190.9 | 11.2 | Very hard | County estimate |
| Corinne | 377.5 | 22.1 | Very hard | County estimate |
| Duchesne | 219.2 | 12.8 | Very hard | County estimate |
| Millville | 240.7 | 14.1 | Very hard | County estimate |
| Riverside | 377.5 | 22.1 | Very hard | County estimate |
| Myton | 219.2 | 12.8 | Very hard | County estimate |
| Ferron | 653.6 | 38.2 | Very hard | County estimate |
| Mendon | 240.7 | 14.1 | Very hard | County estimate |
| Oakley | 190.9 | 11.2 | Very hard | County estimate |
| East Carbon | 300.4 | 17.6 | Very hard | County estimate |
| Panguitch | 209.4 | 12.3 | Very hard | County estimate |
| Honeyville | 377.5 | 22.1 | Very hard | County estimate |
| Milford | 177.6 | 10.4 | Hard | County estimate |
| Wendover | 333.0 | 19.5 | Very hard | County estimate |
| Jensen | 300.0 | 17.5 | Very hard | County estimate |
| Hideout | 212.0 | 12.4 | Very hard | Utility-reported |
| Moroni | 337.0 | 19.7 | Very hard | County estimate |
| Fruitland | 219.2 | 12.8 | Very hard | County estimate |
| Fielding | 377.5 | 22.1 | Very hard | County estimate |
| Altamont | 219.2 | 12.8 | Very hard | County estimate |
| Aurora | 105.3 | 6.2 | Moderately hard | County estimate |
| Paradise | 240.7 | 14.1 | Very hard | County estimate |
| Spring City | 337.0 | 19.7 | Very hard | County estimate |
| Minersville | 177.6 | 10.4 | Hard | County estimate |
| Dammeron Valley | 260.2 | 15.2 | Very hard | County estimate |
| Henefer | 190.9 | 11.2 | Very hard | County estimate |
| Redmond | 105.3 | 6.2 | Moderately hard | County estimate |
| Oak City | 339.5 | 19.9 | Very hard | County estimate |
| Mantua | 377.5 | 22.1 | Very hard | County estimate |
| Huntsville | 199.1 | 11.6 | Very hard | County estimate |
| Hinckley | 339.5 | 19.9 | Very hard | County estimate |
| Stockton | 333.0 | 19.5 | Very hard | County estimate |
| Delta | 339.5 | 19.9 | Very hard | County estimate |
| Mayfield | 337.0 | 19.7 | Very hard | County estimate |
| Morgan | 270.0 | 15.8 | Very hard | County estimate |
| Neola | 219.2 | 12.8 | Very hard | County estimate |
| Veyo | 260.2 | 15.2 | Very hard | County estimate |
| Trenton | 240.7 | 14.1 | Very hard | County estimate |
| Circleville | 163.2 | 9.5 | Hard | County estimate |
| Paragonah | 224.0 | 13.1 | Very hard | County estimate |
| Holden | 339.5 | 19.9 | Very hard | County estimate |
| Bluff | 274.4 | 16.1 | Very hard | County estimate |
| Enterprise | 260.2 | 15.2 | Very hard | County estimate |
| Deweyville | 377.5 | 22.1 | Very hard | County estimate |
| Marysvale | 163.2 | 9.5 | Hard | County estimate |
| Sterling | 337.0 | 19.7 | Very hard | County estimate |
| Axtell | 337.0 | 19.7 | Very hard | County estimate |
| Randlett | 300.0 | 17.5 | Very hard | County estimate |
| Wales | 337.0 | 19.7 | Very hard | County estimate |
| Leamington | 339.5 | 19.9 | Very hard | County estimate |
| Summit | 224.0 | 13.1 | Very hard | County estimate |
| Fayette | 337.0 | 19.7 | Very hard | County estimate |
| Montezuma Creek | 274.4 | 16.1 | Very hard | County estimate |
| Junction | 163.2 | 9.5 | Hard | County estimate |
| Kingston | 163.2 | 9.5 | Hard | County estimate |
| Lynndyl | 339.5 | 19.9 | Very hard | County estimate |
| Gunlock | 260.2 | 15.2 | Very hard | County estimate |
| Eden | 199.1 | 11.6 | Very hard | County estimate |
| Brian Head | 224.0 | 13.1 | Very hard | County estimate |
| Echo | 190.9 | 11.2 | Very hard | County estimate |
| Elsinore | 105.3 | 6.2 | Moderately hard | County estimate |
| Fountain Green | 337.0 | 19.7 | Very hard | County estimate |
| Torrey | 309.3 | 18.1 | Very 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 Utah's Water Hardness
Utah sits in the Mountain West basins and desert Southwest region.
Mountain snowmelt starts out soft, but across the interior West it drains into closed basins floored with carbonate and evaporite sediments, and the arid climate evaporates water faster than rain can dilute it. Rivers like the Colorado accumulate dissolved calcium and magnesium along their whole length, so the USGS maps most basin-and-range and desert-Southwest supplies as hard to very hard. Towns high in the mountains that capture snowmelt directly are the region's soft-water exceptions.
Utah Water Hardness FAQ
Does Utah have hard water?
Yes — across Utah's measured cities, typical tap water is hard. The median is 188.0 mg/L (11.0 gpg) — very hard on the USGS scale, where anything above 120 mg/L (7 gpg) counts as hard. 34 of Utah's 43 measured cities fall in the hard or very hard bands (79%), so check your own city rather than the state average.
How hard is tap water in Utah?
Across the 43 Utah cities with measured values in our index, the median hardness is 188.0 mg/L (11.0 gpg) — very hard on the USGS scale. Individual cities range from 0.6 to 424.0 mg/L, so check your own city rather than assuming the state number.
Which city in Utah has the hardest water?
Herriman has the hardest measured tap water in our Utah index at 424.0 mg/L (24.8 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 Utah?
34 of Utah's 43 measured cities (79%) 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 Utah 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.
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.