Water Hardness in Colorado
Across 79 measured cities — with 173 more covered by labeled county-level estimates — Colorado's median tap water hardness is 96.0 mg/L (5.6 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 September 13, 2026. Sources: utility-reported water quality data and USGS/EPA Water Quality Portal samples.
What it costs to soften Colorado water
Water softener cost in Colorado at 5.6 gpg prices the equipment and the installation labour against the plumber wages published for Colorado, and labels every range as modelled or measured rather than leaving you to guess which it is.
Colorado · 5.61 grains per gallon
$951–$1,225
installed, midpoint $1,073 — a 24,000-grain unit, the size 4 people at this hardness need.
Salt and drain water over 10 years: $644–$1,273 — the 6,142,950 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: 11,781 grains of capacity needed, rounded up to the next common residential size. The median of 79 measured Colorado 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.
Colorado 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 | 21 | 26.6% |
| Moderately hard | 60-120 mg/L | 44 | 55.7% |
| Hard | 120-180 mg/L | 10 | 12.7% |
| Very hard | >180 mg/L | 4 | 5.1% |
Hardest and Softest Water in Colorado
Measured values only; labeled county estimates and values under active dispute never rank.
Hardest water in Colorado
- Eagle — 226.0 mg/L (13.2 gpg), very hard
- Wellington — 218.0 mg/L (12.8 gpg), very hard
- Brighton — 202.0 mg/L (11.8 gpg), very hard
- Englewood — 190.0 mg/L (11.1 gpg), very hard
- Pueblo West — 169.0 mg/L (9.9 gpg), hard
Softest water in Colorado
- Longmont — 20.5 mg/L (1.2 gpg), soft
- Loveland — 26.2 mg/L (1.5 gpg), soft
- Windsor — 30.8 mg/L (1.8 gpg), soft
- Louisville — 32.2 mg/L (1.9 gpg), soft
- Paragon Estates — 32.2 mg/L (1.9 gpg), soft
Every Covered City in Colorado
All 252 covered Colorado 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 |
|---|---|---|---|---|
| Berkley | 96.0 | 5.6 | Moderately hard | Utility-reported |
| Denver | 96.0 | 5.6 | Moderately hard | Utility-reported |
| Four Square Mile | 96.0 | 5.6 | Moderately hard | Utility-reported |
| Holly Hills | 96.0 | 5.6 | Moderately hard | Utility-reported |
| Lakeside | 96.0 | 5.6 | Moderately hard | Utility-reported |
| Lakewood | 96.0 | 5.6 | Moderately hard | Utility-reported |
| Mountain View | 96.0 | 5.6 | Moderately hard | Utility-reported |
| North Washington | 96.0 | 5.6 | Moderately hard | Utility-reported |
| Sheridan | 96.0 | 5.6 | Moderately hard | Utility-reported |
| Aurora | 110.0 | 6.4 | Moderately hard | Utility-reported |
| Cimarron Hills | 35.8 | 2.1 | Soft | Utility-reported |
| Colorado Springs | 35.8 | 2.1 | Soft | Utility-reported |
| Stratmoor | 35.8 | 2.1 | Soft | Utility-reported |
| Shaw Heights | 127.0 | 7.4 | Hard | Utility-reported |
| Sherrelwood | 127.0 | 7.4 | Hard | Utility-reported |
| Westminster | 127.0 | 7.4 | Hard | Utility-reported |
| Fort Collins | 42.8 | 2.5 | Soft | Utility-reported |
| Laporte | 42.8 | 2.5 | Soft | Utility-reported |
| Boulder | 41.4 | 2.4 | Soft | Utility-reported |
| Thornton | 119.0 | 7.0 | Moderately hard | Utility-reported |
| Arvada | 70.3 | 4.1 | Moderately hard | Utility-reported |
| Pueblo | 139.0 | 8.1 | Hard | Utility-reported |
| Garden City | 36.6 | 2.1 | Soft | Utility-reported |
| Greeley | 36.6 | 2.1 | Soft | Utility-reported |
| Broomfield | 45.9 | 2.7 | Soft | Utility-reported |
| Highlands Ranch | 92.5 | 5.4 | Moderately hard | Utility-reported |
| Longmont | 20.5 | 1.2 | Soft | Utility-reported |
| Castle Rock | 134.0 | 7.8 | Hard | Utility-reported |
| Loveland | 26.2 | 1.5 | Soft | Utility-reported |
| Fruita | 328.0 | 19.2 | Very hard | County estimate |
| Commerce City | 78.9 | 4.6 | Moderately hard | Utility-reported |
| Derby | 78.9 | 4.6 | Moderately hard | Utility-reported |
| Timnath | 41.4 | 2.4 | Soft | Utility-reported |
| Parker | 74.5 | 4.4 | Moderately hard | Utility-reported |
| Stepping Stone | 74.5 | 4.4 | Moderately hard | Utility-reported |
| Englewood | 190.0 | 11.1 | Very hard | Utility-reported |
| Brighton | 202.0 | 11.8 | Very hard | Utility-reported |
| Vail | 96.0 | 5.6 | Moderately hard | Utility-reported |
| Northglenn | 115.0 | 6.7 | Moderately hard | Utility-reported |
| Palisade | 328.0 | 19.2 | Very hard | County estimate |
| Cañon City | 132.0 | 7.7 | Hard | Utility-reported |
| Canon City | 132.0 | 7.7 | Hard | Utility-reported |
| Lincoln Park | 132.0 | 7.7 | Hard | Utility-reported |
| Clifton | 328.0 | 19.2 | Very hard | County estimate |
| Erie | 33.4 | 1.9 | Soft | Utility-reported |
| Aspen | 164.0 | 9.6 | Hard | County estimate |
| Cherry Creek | 97.6 | 5.7 | Moderately hard | Utility-reported |
| Greenwood Village | 97.6 | 5.7 | Moderately hard | Utility-reported |
| Littleton | 124.0 | 7.3 | Hard | County estimate |
| Pueblo West | 169.0 | 9.9 | Hard | Utility-reported |
| Golden | 85.7 | 5.0 | Moderately hard | Utility-reported |
| West Pleasant View | 85.7 | 5.0 | Moderately hard | Utility-reported |
| Lafayette | 91.1 | 5.3 | Moderately hard | Utility-reported |
| Breckenridge | 83.0 | 4.8 | Moderately hard | County estimate |
| Firestone | 415.0 | 24.3 | Very hard | County estimate |
| Evans | 415.0 | 24.3 | Very hard | County estimate |
| Delta | 410.0 | 24.0 | Very hard | County estimate |
| Grand Junction | 110.0 | 6.4 | Moderately hard | Utility-reported |
| Orchard Mesa | 110.0 | 6.4 | Moderately hard | Utility-reported |
| Redlands | 110.0 | 6.4 | Moderately hard | Utility-reported |
| Fountain | 140.0 | 8.2 | Hard | County estimate |
| Applewood | 96.2 | 5.6 | Moderately hard | Utility-reported |
| Fairmount | 96.2 | 5.6 | Moderately hard | Utility-reported |
| Windsor | 30.8 | 1.8 | Soft | Utility-reported |
| Niwot | 52.0 | 3.0 | Soft | Utility-reported |
| Louisville | 32.2 | 1.9 | Soft | Utility-reported |
| Paragon Estates | 32.2 | 1.9 | Soft | Utility-reported |
| Wheat Ridge | 130.0 | 7.6 | Hard | County estimate |
| Montrose | 111.0 | 6.5 | Moderately hard | Utility-reported |
| Johnstown | 58.9 | 3.4 | Soft | Utility-reported |
| Woodmoor | 104.0 | 6.1 | Moderately hard | Utility-reported |
| Superior | 32.6 | 1.9 | Soft | Utility-reported |
| Estes Park | 17.3 | 1.0 | Soft | County estimate |
| Ordway | 454.5 | 26.6 | Very hard | County estimate |
| Kittredge | 53.4 | 3.1 | Soft | Utility-reported |
| Frederick | 415.0 | 24.3 | Very hard | County estimate |
| Fort Lupton | 415.0 | 24.3 | Very hard | County estimate |
| Black Hawk | 80.0 | 4.7 | Moderately hard | County estimate |
| Sterling | 640.0 | 37.4 | Very hard | County estimate |
| Acres Green | 92.4 | 5.4 | Moderately hard | Utility-reported |
| Grand View Estates | 92.4 | 5.4 | Moderately hard | Utility-reported |
| Lone Tree | 92.4 | 5.4 | Moderately hard | Utility-reported |
| Meridian | 92.4 | 5.4 | Moderately hard | Utility-reported |
| Lucerne | 415.0 | 24.3 | Very hard | County estimate |
| The Pinery | 113.0 | 6.6 | Moderately hard | Utility-reported |
| Fort Morgan | 540.0 | 31.6 | Very hard | County estimate |
| Wellington | 218.0 | 12.8 | Very hard | Utility-reported |
| Trinidad | 180.0 | 10.5 | Hard | County estimate |
| Alamosa | 68.1 | 4.0 | Moderately hard | County estimate |
| Pagosa Springs | 53.0 | 3.1 | Soft | County estimate |
| Sterling Ranch | 99.8 | 5.8 | Moderately hard | Utility-reported |
| Steamboat Springs | 63.6 | 3.7 | Moderately hard | Utility-reported |
| Indian Hills | 130.0 | 7.6 | Hard | County estimate |
| Morrison | 130.0 | 7.6 | Hard | County estimate |
| Glenwood Springs | 220.0 | 12.9 | Very hard | County estimate |
| Gunnison | 72.2 | 4.2 | Moderately hard | County estimate |
| Rifle | 270.5 | 15.8 | Very hard | County estimate |
| Idaho Springs | 74.0 | 4.3 | Moderately hard | County estimate |
| Cortez | 284.0 | 16.6 | Very hard | County estimate |
| Milliken | 415.0 | 24.3 | Very hard | County estimate |
| Falcon | 88.3 | 5.2 | Moderately hard | Utility-reported |
| Redvale | 200.0 | 11.7 | Very hard | County estimate |
| Peyton | 140.0 | 8.2 | Hard | County estimate |
| Silverthorne | 113.0 | 6.6 | Moderately hard | Utility-reported |
| Severance | 415.0 | 24.3 | Very hard | County estimate |
| Gypsum | 220.0 | 12.9 | Very hard | County estimate |
| Berthoud | 39.2 | 2.3 | Soft | Utility-reported |
| Leadville | 119.0 | 7.0 | Moderately hard | County estimate |
| Sanford | 84.3 | 4.9 | Moderately hard | County estimate |
| Winter Park | 31.7 | 1.9 | Soft | County estimate |
| Eagle | 226.0 | 13.2 | Very hard | Utility-reported |
| Manitou Springs | 140.0 | 8.2 | Hard | County estimate |
| Snowmass Village | 117.0 | 6.8 | Moderately hard | Utility-reported |
| Eaton | 415.0 | 24.3 | Very hard | County estimate |
| Salida | 143.0 | 8.4 | Hard | Utility-reported |
| Dacono | 415.0 | 24.3 | Very hard | County estimate |
| Fraser | 31.7 | 1.9 | Soft | County estimate |
| Brush | 540.0 | 31.6 | Very hard | County estimate |
| New Castle | 220.0 | 12.9 | Very hard | County estimate |
| Monument | 140.0 | 8.2 | Hard | County estimate |
| Monte Vista | 46.0 | 2.7 | Soft | County estimate |
| Frisco | 83.0 | 4.8 | Moderately hard | County estimate |
| Genesee | 80.9 | 4.7 | Moderately hard | Utility-reported |
| Hayden | 113.0 | 6.6 | Moderately hard | County estimate |
| Buena Vista | 60.0 | 3.5 | Soft | County estimate |
| Central City | 80.0 | 4.7 | Moderately hard | County estimate |
| Burlington | 186.0 | 10.9 | Very hard | County estimate |
| Keenesburg | 415.0 | 24.3 | Very hard | County estimate |
| Lyons | 46.0 | 2.7 | Soft | County estimate |
| Silt | 220.0 | 12.9 | Very hard | County estimate |
| Palmer Lake | 140.0 | 8.2 | Hard | County estimate |
| Hudson | 415.0 | 24.3 | Very hard | County estimate |
| Dillon | 83.0 | 4.8 | Moderately hard | County estimate |
| Walsenburg | 175.0 | 10.2 | Hard | County estimate |
| Austin | 410.0 | 24.0 | Very hard | County estimate |
| Platteville | 415.0 | 24.3 | Very hard | County estimate |
| Cripple Creek | 130.0 | 7.6 | Hard | County estimate |
| Meeker | 270.5 | 15.8 | Very hard | County estimate |
| Paonia | 410.0 | 24.0 | Very hard | County estimate |
| Crested Butte | 72.2 | 4.2 | Moderately hard | County estimate |
| Nederland | 46.0 | 2.7 | Soft | County estimate |
| Center | 57.3 | 3.4 | Soft | County estimate |
| Silverton | 138.0 | 8.1 | Hard | County estimate |
| Akron | 402.5 | 23.5 | Very hard | County estimate |
| Basalt | 98.0 | 5.7 | Moderately hard | Utility-reported |
| Wray | 180.0 | 10.5 | Hard | County estimate |
| Rangely | 270.5 | 15.8 | Very hard | County estimate |
| Bayfield | 200.0 | 11.7 | Very hard | County estimate |
| Towaoc | 284.0 | 16.6 | Very hard | County estimate |
| Colorado City | 336.0 | 19.6 | Very hard | County estimate |
| Flagler | 186.0 | 10.9 | Very hard | County estimate |
| Kersey | 415.0 | 24.3 | Very hard | County estimate |
| Cedaredge | 410.0 | 24.0 | Very hard | County estimate |
| Hotchkiss | 410.0 | 24.0 | Very hard | County estimate |
| Strasburg | 242.0 | 14.2 | Very hard | County estimate |
| Grand Lake | 31.7 | 1.9 | Soft | County estimate |
| La Salle | 415.0 | 24.3 | Very hard | County estimate |
| Creede | 30.7 | 1.8 | Soft | County estimate |
| Conifer | 130.0 | 7.6 | Hard | County estimate |
| Kremmling | 31.7 | 1.9 | Soft | County estimate |
| Del Norte | 46.0 | 2.7 | Soft | County estimate |
| Ault | 415.0 | 24.3 | Very hard | County estimate |
| Granby | 31.7 | 1.9 | Soft | County estimate |
| Olathe | 332.0 | 19.4 | Very hard | County estimate |
| Dolores | 114.5 | 6.7 | Moderately hard | County estimate |
| Avondale | 336.0 | 19.6 | Very hard | County estimate |
| Crestone | 57.3 | 3.4 | Soft | County estimate |
| Poncha Springs | 60.0 | 3.5 | Soft | County estimate |
| Georgetown | 74.0 | 4.3 | Moderately hard | County estimate |
| Watkins | 276.0 | 16.1 | Very hard | County estimate |
| Mancos | 81.4 | 4.8 | Moderately hard | Utility-reported |
| Springfield | 270.0 | 15.8 | Very hard | County estimate |
| Parachute | 220.0 | 12.9 | Very hard | County estimate |
| Julesburg | 716.0 | 41.9 | Very hard | County estimate |
| Minturn | 129.0 | 7.5 | Hard | County estimate |
| Fowler | 336.0 | 19.6 | Very hard | County estimate |
| Gilcrest | 415.0 | 24.3 | Very hard | County estimate |
| Log Lane Village | 540.0 | 31.6 | Very hard | County estimate |
| Byers | 242.0 | 14.2 | Very hard | County estimate |
| Ridgway | 228.0 | 13.3 | Very hard | County estimate |
| Manassa | 59.0 | 3.5 | Soft | County estimate |
| Stratton | 186.0 | 10.9 | Very hard | County estimate |
| Oak Creek | 113.0 | 6.6 | Moderately hard | County estimate |
| Wiggins | 540.0 | 31.6 | Very hard | County estimate |
| Fairplay | 110.0 | 6.4 | Moderately hard | County estimate |
| Nucla | 332.0 | 19.4 | Very hard | County estimate |
| Dove Creek | 114.5 | 6.7 | Moderately hard | County estimate |
| La Veta | 175.0 | 10.2 | Hard | County estimate |
| Pierce | 415.0 | 24.3 | Very hard | County estimate |
| La Jara | 59.0 | 3.5 | Soft | County estimate |
| Ignacio | 200.0 | 11.7 | Very hard | County estimate |
| Calhan | 140.0 | 8.2 | Hard | County estimate |
| Rye | 175.0 | 10.2 | Hard | County estimate |
| Collbran | 328.0 | 19.2 | Very hard | County estimate |
| Kiowa | 214.0 | 12.5 | Very hard | County estimate |
| Lake City | 65.3 | 3.8 | Moderately hard | County estimate |
| Naturita | 332.0 | 19.4 | Very hard | County estimate |
| Rockvale | 140.0 | 8.2 | Hard | County estimate |
| Aguilar | 180.0 | 10.5 | Hard | County estimate |
| Victor | 130.0 | 7.6 | Hard | County estimate |
| Blanca | 84.3 | 4.9 | Moderately hard | County estimate |
| Yampa | 113.0 | 6.6 | Moderately hard | County estimate |
| Red Cliff | 129.0 | 7.5 | Hard | County estimate |
| Romeo | 59.0 | 3.5 | Soft | County estimate |
| Woodland Park | 130.0 | 7.6 | Hard | County estimate |
| Fleming | 640.0 | 37.4 | Very hard | County estimate |
| Beulah | 336.0 | 19.6 | Very hard | County estimate |
| Empire | 74.0 | 4.3 | Moderately hard | County estimate |
| Clark | 113.0 | 6.6 | Moderately hard | County estimate |
| Carbondale | 164.0 | 9.6 | Hard | County estimate |
| Hesperus | 200.0 | 11.7 | Very hard | County estimate |
| Boone | 336.0 | 19.6 | Very hard | County estimate |
| Coal Creek | 140.0 | 8.2 | Hard | County estimate |
| Idledale | 130.0 | 7.6 | Hard | County estimate |
| Allenspark | 46.0 | 2.7 | Soft | County estimate |
| Briggsdale | 415.0 | 24.3 | Very hard | County estimate |
| Iliff | 640.0 | 37.4 | Very hard | County estimate |
| Florence | 140.0 | 8.2 | Hard | County estimate |
| Nathrop | 60.0 | 3.5 | Soft | County estimate |
| Elbert | 214.0 | 12.5 | Very hard | County estimate |
| Hillrose | 540.0 | 31.6 | Very hard | County estimate |
| Seibert | 186.0 | 10.9 | Very hard | County estimate |
| Peetz | 640.0 | 37.4 | Very hard | County estimate |
| Eckley | 180.0 | 10.5 | Hard | County estimate |
| Jamestown | 46.0 | 2.7 | Soft | County estimate |
| Larkspur | 124.0 | 7.3 | Hard | County estimate |
| Eldorado Springs | 46.0 | 2.7 | Soft | County estimate |
| Capulin | 59.0 | 3.5 | Soft | County estimate |
| Merino | 640.0 | 37.4 | Very hard | County estimate |
| Ward | 46.0 | 2.7 | Soft | County estimate |
| Ouray | 228.0 | 13.3 | Very hard | County estimate |
| Bethune | 186.0 | 10.9 | Very hard | County estimate |
| Crook | 640.0 | 37.4 | Very hard | County estimate |
| Silver Plume | 74.0 | 4.3 | Moderately hard | County estimate |
| Vona | 186.0 | 10.9 | Very hard | County estimate |
| Sedalia | 124.0 | 7.3 | Hard | County estimate |
| Branson | 180.0 | 10.5 | Hard | County estimate |
| Coaldale | 140.0 | 8.2 | Hard | County estimate |
| South Fork | 46.0 | 2.7 | Soft | County estimate |
| Durango | 200.0 | 11.7 | Very hard | County estimate |
| Telluride | 200.0 | 11.7 | Very hard | County estimate |
| Placerville | 200.0 | 11.7 | Very hard | County estimate |
| Chromo | 53.0 | 3.1 | Soft | County estimate |
| Elizabeth | 214.0 | 12.5 | Very hard | County estimate |
| Antonito | 59.0 | 3.5 | Soft | County estimate |
| Deer Trail | 276.0 | 16.1 | Very hard | County estimate |
| Evergreen | 74.0 | 4.3 | Moderately hard | County estimate |
| Mead | 415.0 | 24.3 | Very hard | County estimate |
| Norwood | 200.0 | 11.7 | Very hard | County estimate |
| Penrose | 140.0 | 8.2 | Hard | County estimate |
| Twin Lakes | 119.0 | 7.0 | Moderately hard | County estimate |
| Wiley | 722.0 | 42.2 | 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 Colorado's Water Hardness
Colorado 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.
Colorado Water Hardness FAQ
Does Colorado have hard water?
On the whole, no — Colorado's statewide median sits below the hard threshold, though some cities run harder. The median is 96.0 mg/L (5.6 gpg) — moderately hard on the USGS scale, where anything above 120 mg/L (7 gpg) counts as hard. 14 of Colorado's 79 measured cities fall in the hard or very hard bands (18%), so check your own city rather than the state average.
How hard is tap water in Colorado?
Across the 79 Colorado cities with measured values in our index, the median hardness is 96.0 mg/L (5.6 gpg) — moderately hard on the USGS scale. Individual cities range from 20.5 to 226.0 mg/L, so check your own city rather than assuming the state number.
Which city in Colorado has the hardest water?
Eagle has the hardest measured tap water in our Colorado index at 226.0 mg/L (13.2 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 Colorado?
14 of Colorado's 79 measured cities (18%) 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 Colorado 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.