Water Hardness in Oklahoma
Across 12 measured cities — with 349 more covered by labeled county-level estimates — Oklahoma's median tap water hardness is 135.0 mg/L (7.9 gpg): 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 Oklahoma water
Water softener cost in Oklahoma at 7.9 gpg prices the equipment and the installation labour against the plumber wages published for Oklahoma, and labels every range as modelled or measured rather than leaving you to guess which it is.
Oklahoma · 7.89 grains per gallon
$938–$1,189
installed, midpoint $1,050 — a 24,000-grain unit, the size 4 people at this hardness need.
Salt and drain water over 10 years: $780–$1,432 — the 8,639,550 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: 16,569 grains of capacity needed, rounded up to the next common residential size. The median of 12 measured Oklahoma 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.
Oklahoma 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 | 0 | 0.0% |
| Moderately hard | 60-120 mg/L | 4 | 33.3% |
| Hard | 120-180 mg/L | 7 | 58.3% |
| Very hard | >180 mg/L | 1 | 8.3% |
Hardest and Softest Water in Oklahoma
Measured values only; labeled county estimates and values under active dispute never rank.
Hardest water in Oklahoma
- Bristow — 231.5 mg/L (13.5 gpg), very hard
- Lake Aluma — 157.0 mg/L (9.2 gpg), hard
- Oklahoma City — 157.0 mg/L (9.2 gpg), hard
- Valley Brook — 157.0 mg/L (9.2 gpg), hard
- Arcadia — 136.0 mg/L (8.0 gpg), hard
Softest water in Oklahoma
- Bartlesville — 88.4 mg/L (5.2 gpg), moderately hard
- Norman — 93.5 mg/L (5.5 gpg), moderately hard
- Oakhurst — 111.0 mg/L (6.5 gpg), moderately hard
- Tulsa — 111.0 mg/L (6.5 gpg), moderately hard
- Nichols Hills — 134.0 mg/L (7.8 gpg), hard
Every Covered City in Oklahoma
All 361 covered Oklahoma 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 |
|---|---|---|---|---|
| Jones | 221.0 | 12.9 | Very hard | County estimate |
| Lake Aluma | 157.0 | 9.2 | Hard | Utility-reported |
| Oklahoma City | 157.0 | 9.2 | Hard | Utility-reported |
| Spencer | 221.0 | 12.9 | Very hard | County estimate |
| Valley Brook | 157.0 | 9.2 | Hard | Utility-reported |
| Tulsa | 111.0 | 6.5 | Moderately hard | Utility-reported |
| Comanche | 290.0 | 17.0 | Very hard | County estimate |
| Norman | 93.5 | 5.5 | Moderately hard | Utility-reported |
| Lawton | 152.5 | 8.9 | Hard | County estimate |
| Broken Arrow | 148.0 | 8.7 | Hard | County estimate |
| Medicine Park | 152.5 | 8.9 | Hard | County estimate |
| Fort Sill | 152.5 | 8.9 | Hard | County estimate |
| Arcadia | 136.0 | 8.0 | Hard | Utility-reported |
| Edmond | 136.0 | 8.0 | Hard | Utility-reported |
| Stillwater | 236.4 | 13.8 | Very hard | County estimate |
| Choctaw | 221.0 | 12.9 | Very hard | County estimate |
| Claremore | 131.0 | 7.7 | Hard | County estimate |
| Jenks | 148.0 | 8.7 | Hard | County estimate |
| Duncan | 290.0 | 17.0 | Very hard | County estimate |
| Mounds | 68.0 | 4.0 | Moderately hard | County estimate |
| Mannford | 183.0 | 10.7 | Very hard | County estimate |
| Bartlesville | 88.4 | 5.2 | Moderately hard | Utility-reported |
| Marlow | 290.0 | 17.0 | Very hard | County estimate |
| Glenpool | 148.0 | 8.7 | Hard | County estimate |
| Ada | 254.0 | 14.8 | Very hard | County estimate |
| Shawnee | 140.0 | 8.2 | Hard | County estimate |
| Durant | 235.0 | 13.7 | Very hard | County estimate |
| Sand Springs | 148.0 | 8.7 | Hard | County estimate |
| Ponca City | 422.0 | 24.7 | Very hard | County estimate |
| Mcalester | 92.0 | 5.4 | Moderately hard | County estimate |
| Sallisaw | 70.0 | 4.1 | Moderately hard | County estimate |
| Owasso | 148.0 | 8.7 | Hard | County estimate |
| Yukon | 463.0 | 27.1 | Very hard | County estimate |
| Chickasha | 700.0 | 40.9 | Very hard | County estimate |
| Wister | 36.7 | 2.1 | Soft | County estimate |
| Kellyville | 183.0 | 10.7 | Very hard | County estimate |
| Bethany | 221.0 | 12.9 | Very hard | County estimate |
| Tahlequah | 95.0 | 5.6 | Moderately hard | County estimate |
| Park Hill | 95.0 | 5.6 | Moderately hard | County estimate |
| Sapulpa | 183.0 | 10.7 | Very hard | County estimate |
| Madill | 313.0 | 18.3 | Very hard | County estimate |
| Bixby | 148.0 | 8.7 | Hard | County estimate |
| Mustang | 463.0 | 27.1 | Very hard | County estimate |
| Moffett | 70.0 | 4.1 | Moderately hard | County estimate |
| Kingston | 313.0 | 18.3 | Very hard | County estimate |
| Mannsville | 250.0 | 14.6 | Very hard | County estimate |
| Welling | 95.0 | 5.6 | Moderately hard | County estimate |
| Vian | 70.0 | 4.1 | Moderately hard | County estimate |
| Commerce | 181.0 | 10.6 | Very hard | County estimate |
| Gore | 70.0 | 4.1 | Moderately hard | County estimate |
| Marble City | 70.0 | 4.1 | Moderately hard | County estimate |
| Pryor | 108.0 | 6.3 | Moderately hard | County estimate |
| Kiefer | 183.0 | 10.7 | Very hard | County estimate |
| Idabel | 19.5 | 1.1 | Soft | County estimate |
| Vinita | 230.5 | 13.5 | Very hard | County estimate |
| Heavener | 36.7 | 2.1 | Soft | County estimate |
| Keota | 132.0 | 7.7 | Hard | County estimate |
| Achille | 235.0 | 13.7 | Very hard | County estimate |
| Broken Bow | 19.5 | 1.1 | Soft | County estimate |
| Guymon | 254.0 | 14.8 | Very hard | County estimate |
| Gene Autry | 242.0 | 14.2 | Very hard | County estimate |
| Marietta | 296.0 | 17.3 | Very hard | County estimate |
| Springer | 242.0 | 14.2 | Very hard | County estimate |
| Calera | 235.0 | 13.7 | Very hard | County estimate |
| Spiro | 36.7 | 2.1 | Soft | County estimate |
| Howe | 36.7 | 2.1 | Soft | County estimate |
| Colbert | 235.0 | 13.7 | Very hard | County estimate |
| Panama | 36.7 | 2.1 | Soft | County estimate |
| Cleveland | 220.0 | 12.9 | Very hard | County estimate |
| Guthrie | 344.0 | 20.1 | Very hard | County estimate |
| Okmulgee | 68.0 | 4.0 | Moderately hard | County estimate |
| Beggs | 68.0 | 4.0 | Moderately hard | County estimate |
| Bokoshe | 36.7 | 2.1 | Soft | County estimate |
| Coweta | 119.0 | 7.0 | Moderately hard | County estimate |
| Cameron | 36.7 | 2.1 | Soft | County estimate |
| Pocola | 36.7 | 2.1 | Soft | County estimate |
| Shady Point | 36.7 | 2.1 | Soft | County estimate |
| Blackwell | 422.0 | 24.7 | Very hard | County estimate |
| Stilwell | 114.0 | 6.7 | Moderately hard | County estimate |
| Tuttle | 700.0 | 40.9 | Very hard | County estimate |
| Bokchito | 235.0 | 13.7 | Very hard | County estimate |
| Addington | 230.0 | 13.4 | Very hard | County estimate |
| Burneyville | 296.0 | 17.3 | Very hard | County estimate |
| Hastings | 443.5 | 25.9 | Very hard | County estimate |
| Healdton | 242.0 | 14.2 | Very hard | County estimate |
| Ringling | 230.0 | 13.4 | Very hard | County estimate |
| Ryan | 230.0 | 13.4 | Very hard | County estimate |
| Waurika | 230.0 | 13.4 | Very hard | County estimate |
| Wilson | 242.0 | 14.2 | Very hard | County estimate |
| Checotah | 150.0 | 8.8 | Hard | County estimate |
| Poteau | 36.7 | 2.1 | Soft | County estimate |
| Blanchard | 700.0 | 40.9 | Very hard | County estimate |
| Newcastle | 402.0 | 23.5 | Very hard | County estimate |
| Ketchum | 230.5 | 13.5 | Very hard | County estimate |
| Oologah | 131.0 | 7.7 | Hard | County estimate |
| Talala | 131.0 | 7.7 | Hard | County estimate |
| Piedmont | 463.0 | 27.1 | Very hard | County estimate |
| Elgin | 152.5 | 8.9 | Hard | County estimate |
| Okemah | 99.0 | 5.8 | Moderately hard | County estimate |
| Skiatook | 170.0 | 9.9 | Hard | County estimate |
| Tishomingo | 250.0 | 14.6 | Very hard | County estimate |
| Walters | 443.5 | 25.9 | Very hard | County estimate |
| Krebs | 92.0 | 5.4 | Moderately hard | County estimate |
| Muldrow | 70.0 | 4.1 | Moderately hard | County estimate |
| Chouteau | 108.0 | 6.3 | Moderately hard | County estimate |
| Inola | 131.0 | 7.7 | Hard | County estimate |
| Mead | 235.0 | 13.7 | Very hard | County estimate |
| Noble | 179.0 | 10.5 | Hard | County estimate |
| Oakhurst | 111.0 | 6.5 | Moderately hard | Utility-reported |
| Wilburton | 38.5 | 2.3 | Soft | County estimate |
| Holdenville | 180.0 | 10.5 | Hard | County estimate |
| Geronimo | 152.5 | 8.9 | Hard | County estimate |
| Tonkawa | 422.0 | 24.7 | Very hard | County estimate |
| Collinsville | 148.0 | 8.7 | Hard | County estimate |
| Cache | 152.5 | 8.9 | Hard | County estimate |
| Salina | 108.0 | 6.3 | Moderately hard | County estimate |
| Porum | 138.0 | 8.1 | Hard | County estimate |
| Warner | 138.0 | 8.1 | Hard | County estimate |
| Westville | 114.0 | 6.7 | Moderately hard | County estimate |
| Francis | 254.0 | 14.8 | Very hard | County estimate |
| Lone Grove | 242.0 | 14.2 | Very hard | County estimate |
| Arkoma | 36.7 | 2.1 | Soft | County estimate |
| Hulbert | 95.0 | 5.6 | Moderately hard | County estimate |
| Watonga | 509.0 | 29.8 | Very hard | County estimate |
| Alderson | 92.0 | 5.4 | Moderately hard | County estimate |
| Eufaula | 150.0 | 8.8 | Hard | County estimate |
| Redbird | 119.0 | 7.0 | Moderately hard | County estimate |
| Dewey | 137.0 | 8.0 | Hard | County estimate |
| Harrah | 221.0 | 12.9 | Very hard | County estimate |
| Amber | 700.0 | 40.9 | Very hard | County estimate |
| Hartshorne | 92.0 | 5.4 | Moderately hard | County estimate |
| Morris | 68.0 | 4.0 | Moderately hard | County estimate |
| Red Oak | 38.5 | 2.3 | Soft | County estimate |
| Fitzhugh | 254.0 | 14.8 | Very hard | County estimate |
| Pocasset | 700.0 | 40.9 | Very hard | County estimate |
| Langley | 108.0 | 6.3 | Moderately hard | County estimate |
| Haworth | 19.5 | 1.1 | Soft | County estimate |
| Roosevelt | 802.5 | 46.9 | Very hard | County estimate |
| Gotebo | 802.5 | 46.9 | Very hard | County estimate |
| Wewoka | 216.0 | 12.6 | Very hard | County estimate |
| Quinton | 92.0 | 5.4 | Moderately hard | County estimate |
| Nichols Hills | 134.0 | 7.8 | Hard | Utility-reported |
| The Village | 134.0 | 7.8 | Hard | Utility-reported |
| Perkins | 236.4 | 13.8 | Very hard | County estimate |
| Minco | 700.0 | 40.9 | Very hard | County estimate |
| Anadarko | 712.5 | 41.7 | Very hard | County estimate |
| Apache | 712.5 | 41.7 | Very hard | County estimate |
| Binger | 712.5 | 41.7 | Very hard | County estimate |
| Carnegie | 712.5 | 41.7 | Very hard | County estimate |
| Fletcher | 152.5 | 8.9 | Hard | County estimate |
| Fort Cobb | 712.5 | 41.7 | Very hard | County estimate |
| Gracemont | 712.5 | 41.7 | Very hard | County estimate |
| Mountain View | 802.5 | 46.9 | Very hard | County estimate |
| Purcell | 402.0 | 23.5 | Very hard | County estimate |
| Fanshawe | 36.7 | 2.1 | Soft | County estimate |
| Pawhuska | 170.0 | 9.9 | Hard | County estimate |
| Spavinaw | 108.0 | 6.3 | Moderately hard | County estimate |
| Strang | 108.0 | 6.3 | Moderately hard | County estimate |
| Bristow | 231.5 | 13.5 | Very hard | Computed from Ca+Mg |
| Adair | 108.0 | 6.3 | Moderately hard | County estimate |
| Chelsea | 131.0 | 7.7 | Hard | County estimate |
| Indiahoma | 152.5 | 8.9 | Hard | County estimate |
| Henryetta | 68.0 | 4.0 | Moderately hard | County estimate |
| Ravia | 250.0 | 14.6 | Very hard | County estimate |
| Perry | 254.0 | 14.8 | Very hard | County estimate |
| Milburn | 250.0 | 14.6 | Very hard | County estimate |
| Mcloud | 140.0 | 8.2 | Hard | County estimate |
| Kinta | 132.0 | 7.7 | Hard | County estimate |
| Mountain Park | 802.5 | 46.9 | Very hard | County estimate |
| Snyder | 802.5 | 46.9 | Very hard | County estimate |
| Stigler | 132.0 | 7.7 | Hard | County estimate |
| Whitefield | 132.0 | 7.7 | Hard | County estimate |
| Atoka | 107.0 | 6.3 | Moderately hard | County estimate |
| Roland | 70.0 | 4.1 | Moderately hard | County estimate |
| Concho | 463.0 | 27.1 | Very hard | County estimate |
| Drumright | 183.0 | 10.7 | Very hard | County estimate |
| Lindsay | 349.0 | 20.4 | Very hard | County estimate |
| Stroud | 246.0 | 14.4 | Very hard | County estimate |
| Mill Creek | 250.0 | 14.6 | Very hard | County estimate |
| Fairview | 747.5 | 43.7 | Very hard | County estimate |
| Catoosa | 131.0 | 7.7 | Hard | County estimate |
| Davis | 263.0 | 15.4 | Very hard | County estimate |
| Grandfield | 730.0 | 42.7 | Very hard | County estimate |
| El Reno | 463.0 | 27.1 | Very hard | County estimate |
| Valliant | 19.5 | 1.1 | Soft | County estimate |
| Hinton | 712.5 | 41.7 | Very hard | County estimate |
| Hominy | 170.0 | 9.9 | Hard | County estimate |
| Muskogee | 138.0 | 8.1 | Hard | County estimate |
| Wainwright | 138.0 | 8.1 | Hard | County estimate |
| Agra | 246.0 | 14.4 | Very hard | County estimate |
| Cushing | 236.4 | 13.8 | Very hard | County estimate |
| Stonewall | 254.0 | 14.8 | Very hard | County estimate |
| Bowlegs | 216.0 | 12.6 | Very hard | County estimate |
| Seminole | 216.0 | 12.6 | Very hard | County estimate |
| Jay | 121.0 | 7.1 | Hard | County estimate |
| Wyandotte | 181.0 | 10.6 | Very hard | County estimate |
| Ninnekah | 700.0 | 40.9 | Very hard | County estimate |
| Disney | 108.0 | 6.3 | Moderately hard | County estimate |
| Porter | 119.0 | 7.0 | Moderately hard | County estimate |
| Goodwell | 254.0 | 14.8 | Very hard | County estimate |
| Prague | 246.0 | 14.4 | Very hard | County estimate |
| Ochelata | 137.0 | 8.0 | Hard | County estimate |
| Grant | 146.0 | 8.5 | Hard | County estimate |
| Oktaha | 138.0 | 8.1 | Hard | County estimate |
| Castle | 99.0 | 5.8 | Moderately hard | County estimate |
| Crowder | 92.0 | 5.4 | Moderately hard | County estimate |
| Chattanooga | 443.5 | 25.9 | Very hard | County estimate |
| Lexington | 179.0 | 10.5 | Hard | County estimate |
| Hennessey | 571.0 | 33.4 | Very hard | County estimate |
| Lone Wolf | 802.5 | 46.9 | Very hard | County estimate |
| Temple | 443.5 | 25.9 | Very hard | County estimate |
| Thackerville | 296.0 | 17.3 | Very hard | County estimate |
| Bison | 400.0 | 23.4 | Very hard | County estimate |
| Waukomis | 400.0 | 23.4 | Very hard | County estimate |
| Peggs | 95.0 | 5.6 | Moderately hard | County estimate |
| Rentiesville | 150.0 | 8.8 | Hard | County estimate |
| Maysville | 349.0 | 20.4 | Very hard | County estimate |
| Paoli | 349.0 | 20.4 | Very hard | County estimate |
| Wayne | 402.0 | 23.5 | Very hard | County estimate |
| Schulter | 68.0 | 4.0 | Moderately hard | County estimate |
| Garvin | 19.5 | 1.1 | Soft | County estimate |
| Randlett | 443.5 | 25.9 | Very hard | County estimate |
| Billings | 254.0 | 14.8 | Very hard | County estimate |
| Monroe | 36.7 | 2.1 | Soft | County estimate |
| Hooker | 254.0 | 14.8 | Very hard | County estimate |
| Jennings | 183.0 | 10.7 | Very hard | County estimate |
| Terlton | 220.0 | 12.9 | Very hard | County estimate |
| Haskell | 138.0 | 8.1 | Hard | County estimate |
| Taft | 138.0 | 8.1 | Hard | County estimate |
| Savanna | 92.0 | 5.4 | Moderately hard | County estimate |
| Fairland | 181.0 | 10.6 | Very hard | County estimate |
| Fort Gibson | 138.0 | 8.1 | Hard | County estimate |
| Union City | 463.0 | 27.1 | Very hard | County estimate |
| Preston | 68.0 | 4.0 | Moderately hard | County estimate |
| Wynnewood | 349.0 | 20.4 | Very hard | County estimate |
| Langston | 344.0 | 20.1 | Very hard | County estimate |
| Whitesboro | 36.7 | 2.1 | Soft | County estimate |
| Cookson | 95.0 | 5.6 | Moderately hard | County estimate |
| Cherokee | 815.0 | 47.7 | Very hard | County estimate |
| Marshall | 400.0 | 23.4 | Very hard | County estimate |
| Mulhall | 344.0 | 20.1 | Very hard | County estimate |
| Orlando | 254.0 | 14.8 | Very hard | County estimate |
| Hobart | 802.5 | 46.9 | Very hard | County estimate |
| Stratford | 349.0 | 20.4 | Very hard | County estimate |
| Beaver | 560.0 | 32.8 | Very hard | County estimate |
| Fairfax | 170.0 | 9.9 | Hard | County estimate |
| Caddo | 235.0 | 13.7 | Very hard | County estimate |
| Caney | 107.0 | 6.3 | Moderately hard | County estimate |
| Devol | 443.5 | 25.9 | Very hard | County estimate |
| Loveland | 730.0 | 42.7 | Very hard | County estimate |
| Shidler | 170.0 | 9.9 | Hard | County estimate |
| Talihina | 38.5 | 2.3 | Soft | County estimate |
| Wagoner | 119.0 | 7.0 | Moderately hard | County estimate |
| Boise City | 260.0 | 15.2 | Very hard | County estimate |
| Konawa | 216.0 | 12.6 | Very hard | County estimate |
| Oilton | 183.0 | 10.7 | Very hard | County estimate |
| Afton | 121.0 | 7.1 | Hard | County estimate |
| Mooreland | 640.0 | 37.4 | Very hard | County estimate |
| Wellston | 246.0 | 14.4 | Very hard | County estimate |
| Allen | 254.0 | 14.8 | Very hard | County estimate |
| Council Hill | 150.0 | 8.8 | Hard | County estimate |
| Rush Springs | 700.0 | 40.9 | Very hard | County estimate |
| Sulphur | 263.0 | 15.4 | Very hard | County estimate |
| Geary | 509.0 | 29.8 | Very hard | County estimate |
| Barnsdall | 170.0 | 9.9 | Hard | County estimate |
| Okeene | 509.0 | 29.8 | Very hard | County estimate |
| Yale | 236.4 | 13.8 | Very hard | County estimate |
| Chandler | 246.0 | 14.4 | Very hard | County estimate |
| Douglas | 400.0 | 23.4 | Very hard | County estimate |
| Enid | 400.0 | 23.4 | Very hard | County estimate |
| Fairmont | 400.0 | 23.4 | Very hard | County estimate |
| Garber | 400.0 | 23.4 | Very hard | County estimate |
| Hunter | 400.0 | 23.4 | Very hard | County estimate |
| Clayton | 22.0 | 1.3 | Soft | County estimate |
| Macomb | 140.0 | 8.2 | Hard | County estimate |
| Shattuck | 385.0 | 22.5 | Very hard | County estimate |
| Webbers Falls | 138.0 | 8.1 | Hard | County estimate |
| Wetumka | 180.0 | 10.5 | Hard | County estimate |
| Cyril | 712.5 | 41.7 | Very hard | County estimate |
| Crescent | 344.0 | 20.1 | Very hard | County estimate |
| Stuart | 180.0 | 10.5 | Hard | County estimate |
| Maud | 140.0 | 8.2 | Hard | County estimate |
| Okarche | 463.0 | 27.1 | Very hard | County estimate |
| Okay | 119.0 | 7.0 | Moderately hard | County estimate |
| Elmore City | 349.0 | 20.4 | Very hard | County estimate |
| Stringtown | 107.0 | 6.3 | Moderately hard | County estimate |
| Welch | 230.5 | 13.5 | Very hard | County estimate |
| Laverne | 560.0 | 32.8 | Very hard | County estimate |
| Hydro | 712.5 | 41.7 | Very hard | County estimate |
| Meeker | 246.0 | 14.4 | Very hard | County estimate |
| Braggs | 138.0 | 8.1 | Hard | County estimate |
| Boley | 99.0 | 5.8 | Moderately hard | County estimate |
| Newkirk | 422.0 | 24.7 | Very hard | County estimate |
| Weleetka | 99.0 | 5.8 | Moderately hard | County estimate |
| Velma | 290.0 | 17.0 | Very hard | County estimate |
| Texhoma | 254.0 | 14.8 | Very hard | County estimate |
| Braman | 422.0 | 24.7 | Very hard | County estimate |
| Woodward | 640.0 | 37.4 | Very hard | County estimate |
| Cashion | 571.0 | 33.4 | Very hard | County estimate |
| Copan | 137.0 | 8.0 | Hard | County estimate |
| Ramona | 137.0 | 8.0 | Hard | County estimate |
| Fittstown | 254.0 | 14.8 | Very hard | County estimate |
| Davenport | 246.0 | 14.4 | Very hard | County estimate |
| Hendrix | 235.0 | 13.7 | Very hard | County estimate |
| Kemp | 235.0 | 13.7 | Very hard | County estimate |
| Atwood | 180.0 | 10.5 | Hard | County estimate |
| Leedey | 706.0 | 41.3 | Very hard | County estimate |
| Wright City | 19.5 | 1.1 | Soft | County estimate |
| Sterling | 152.5 | 8.9 | Hard | County estimate |
| Millerton | 19.5 | 1.1 | Soft | County estimate |
| Mutual | 640.0 | 37.4 | Very hard | County estimate |
| Coalgate | 130.0 | 7.6 | Hard | County estimate |
| Proctor | 95.0 | 5.6 | Moderately hard | County estimate |
| Verden | 700.0 | 40.9 | Very hard | County estimate |
| Luther | 221.0 | 12.9 | Very hard | County estimate |
| Carney | 246.0 | 14.4 | Very hard | County estimate |
| Alex | 700.0 | 40.9 | Very hard | County estimate |
| Gans | 70.0 | 4.1 | Moderately hard | County estimate |
| Hammon | 706.0 | 41.3 | Very hard | County estimate |
| McCurtain | 132.0 | 7.7 | Hard | County estimate |
| Depew | 183.0 | 10.7 | Very hard | County estimate |
| Dibble | 402.0 | 23.5 | Very hard | County estimate |
| Locust Grove | 108.0 | 6.3 | Moderately hard | County estimate |
| Cement | 712.5 | 41.7 | Very hard | County estimate |
| Wann | 207.5 | 12.1 | Very hard | County estimate |
| Marland | 254.0 | 14.8 | Very hard | County estimate |
| Hodgen | 36.7 | 2.1 | Soft | County estimate |
| Pawnee | 220.0 | 12.9 | Very hard | County estimate |
| Nicoma Park | 221.0 | 12.9 | Very hard | County estimate |
| Turpin | 560.0 | 32.8 | Very hard | County estimate |
| Sparks | 246.0 | 14.4 | Very hard | County estimate |
| Deer Creek | 435.0 | 25.4 | Very hard | County estimate |
| Medford | 435.0 | 25.4 | Very hard | County estimate |
| Muse | 36.7 | 2.1 | Soft | County estimate |
| Clarita | 130.0 | 7.6 | Hard | County estimate |
| Osage | 170.0 | 9.9 | Hard | County estimate |
| Cromwell | 216.0 | 12.6 | Very hard | County estimate |
| Fort Supply | 385.0 | 22.5 | Very hard | County estimate |
| Big Cabin | 230.5 | 13.5 | Very hard | County estimate |
| Eakly | 712.5 | 41.7 | Very hard | County estimate |
| Hardesty | 254.0 | 14.8 | Very hard | County estimate |
| Dougherty | 263.0 | 15.4 | Very hard | County estimate |
| Cheyenne | 706.0 | 41.3 | Very hard | County estimate |
| Lamar | 180.0 | 10.5 | Hard | County estimate |
| Buffalo | 490.0 | 28.6 | Very hard | County estimate |
| Sharon | 640.0 | 37.4 | Very hard | County estimate |
| Hallett | 220.0 | 12.9 | Very hard | County estimate |
| Kenefic | 250.0 | 14.6 | Very hard | County estimate |
| Glencoe | 236.4 | 13.8 | Very hard | County estimate |
| Slick | 183.0 | 10.7 | Very hard | County estimate |
| Adams | 254.0 | 14.8 | Very hard | County estimate |
| Ardmore | 242.0 | 14.2 | Very hard | County estimate |
| Faxon | 152.5 | 8.9 | Hard | County estimate |
| Keyes | 260.0 | 15.2 | Very hard | County estimate |
| Miami | 181.0 | 10.6 | Very hard | County estimate |
| Kansas | 121.0 | 7.1 | Hard | County estimate |
| Lehigh | 130.0 | 7.6 | Hard | County estimate |
| Pond Creek | 435.0 | 25.4 | Very hard | County estimate |
| Ratliff City | 242.0 | 14.2 | Very hard | County estimate |
| Sperry | 170.0 | 9.9 | Hard | County estimate |
| Vera | 137.0 | 8.0 | 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 Oklahoma's Water Hardness
Oklahoma sits in the Great Plains and interior lowlands region.
The Great Plains and interior lowlands are underlain by carbonate rock, gypsum, and other evaporite deposits, and the semi-arid climate concentrates dissolved minerals rather than flushing them out. Aquifers like the High Plains (Ogallala) yield water the USGS classifies as hard to very hard across most of the region, from the Dakotas down through Texas. Surface-water systems fed by plains rivers carry much of the same mineral load.
Source: USGS - High Plains aquifer
Oklahoma Water Hardness FAQ
Does Oklahoma have hard water?
Yes — across Oklahoma's measured cities, typical tap water is hard. The median is 135.0 mg/L (7.9 gpg) — hard on the USGS scale, where anything above 120 mg/L (7 gpg) counts as hard. 8 of Oklahoma's 12 measured cities fall in the hard or very hard bands (67%), so check your own city rather than the state average.
How hard is tap water in Oklahoma?
Across the 12 Oklahoma cities with measured values in our index, the median hardness is 135.0 mg/L (7.9 gpg) — hard on the USGS scale. Individual cities range from 88.4 to 231.5 mg/L, so check your own city rather than assuming the state number.
Which city in Oklahoma has the hardest water?
Bristow has the hardest measured tap water in our Oklahoma index at 231.5 mg/L (13.5 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 Oklahoma?
8 of Oklahoma's 12 measured cities (67%) 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 Oklahoma 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.