Water Hardness in Oklahoma
Across 40 measured cities — with 328 more covered by labeled county-level estimates — Oklahoma's median tap water hardness is 142.2 mg/L (8.3 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 July 6, 2026. Sources: utility-reported water quality data and USGS/EPA Water Quality Portal samples.
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 | 1 | 2.5% |
| Moderately hard | 60-120 mg/L | 13 | 32.5% |
| Hard | 120-180 mg/L | 24 | 60.0% |
| Very hard | >180 mg/L | 2 | 5.0% |
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
- Atoka — 157.0 mg/L (9.2 gpg), hard
- Byng — 157.0 mg/L (9.2 gpg), hard
- Konawa — 157.0 mg/L (9.2 gpg), hard
- Lake Aluma — 157.0 mg/L (9.2 gpg), hard
Softest water in Oklahoma
- Poteau — 45.9 mg/L (2.7 gpg), soft
- Bartlesville — 88.4 mg/L (5.2 gpg), moderately hard
- Bixby — 92.2 mg/L (5.4 gpg), moderately hard
- Broken Arrow — 92.2 mg/L (5.4 gpg), moderately hard
- Catoosa — 92.2 mg/L (5.4 gpg), moderately hard
Every Covered City in Oklahoma
All 368 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 |
|---|---|---|---|---|
| Norman | 148.4 | 8.7 | Hard | Utility-reported |
| Oklahoma City | 156.6 | 9.2 | Hard | Utility-reported |
| Byng | 157.0 | 9.2 | Hard | Utility-reported |
| Yukon | 157.0 | 9.2 | Hard | Utility-reported |
| Newcastle | 157.0 | 9.2 | Hard | Utility-reported |
| Atoka | 157.0 | 9.2 | Hard | Utility-reported |
| Pink | 157.0 | 9.2 | Hard | Utility-reported |
| Stringtown | 157.0 | 9.2 | Hard | Utility-reported |
| Phillips | 157.0 | 9.2 | Hard | Utility-reported |
| Jones | 221.0 | 12.9 | Very hard | County estimate |
| Konawa | 157.0 | 9.2 | Hard | Utility-reported |
| Lake Aluma | 157.0 | 9.2 | Hard | Utility-reported |
| Lehigh | 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 | 110.0 | 6.4 | Moderately hard | Utility-reported |
| Moore | 93.5 | 5.5 | Moderately hard | Utility-reported |
| Broken Arrow | 92.2 | 5.4 | Moderately hard | Utility-reported |
| Comanche | 290.0 | 17.0 | Very hard | County estimate |
| Lawton | 152.5 | 8.9 | Hard | County estimate |
| Medicine Park | 152.5 | 8.9 | Hard | County estimate |
| Fort Sill | 152.5 | 8.9 | Hard | County estimate |
| Edmond | 135.2 | 7.9 | Hard | Utility-reported |
| Arcadia | 136.0 | 8.0 | Hard | Utility-reported |
| Stillwater | 236.4 | 13.8 | Very hard | County estimate |
| Bixby | 92.2 | 5.4 | Moderately hard | Utility-reported |
| Choctaw | 221.0 | 12.9 | Very hard | County estimate |
| Owasso | 153.0 | 8.9 | Hard | Utility-reported |
| Claremore | 131.0 | 7.7 | Hard | County estimate |
| Sperry | 153.0 | 8.9 | Hard | Utility-reported |
| Jenks | 148.0 | 8.7 | Hard | County estimate |
| Sapulpa | 111.0 | 6.5 | Moderately hard | Utility-reported |
| Bartlesville | 88.4 | 5.2 | Moderately hard | Utility-reported |
| Catoosa | 92.2 | 5.4 | Moderately hard | Utility-reported |
| Duncan | 290.0 | 17.0 | Very hard | County estimate |
| Fair Oaks | 92.2 | 5.4 | Moderately hard | Utility-reported |
| Mounds | 68.0 | 4.0 | Moderately hard | County estimate |
| Mannford | 183.0 | 10.7 | Very hard | County estimate |
| Sand Springs | 111.0 | 6.5 | Moderately hard | Utility-reported |
| Marlow | 290.0 | 17.0 | Very hard | County estimate |
| Glenpool | 148.0 | 8.7 | Hard | County estimate |
| Vera | 153.0 | 8.9 | Hard | Utility-reported |
| Ada | 254.0 | 14.8 | Very hard | County estimate |
| Skiatook | 153.0 | 8.9 | Hard | Utility-reported |
| Shawnee | 140.0 | 8.2 | Hard | County estimate |
| Collinsville | 153.0 | 8.9 | Hard | Utility-reported |
| Durant | 235.0 | 13.7 | Very hard | County estimate |
| Coweta | 92.2 | 5.4 | Moderately hard | Utility-reported |
| Ponca City | 422.0 | 24.7 | Very hard | County estimate |
| Haskell | 92.2 | 5.4 | Moderately hard | Utility-reported |
| Mcalester | 92.0 | 5.4 | Moderately hard | County estimate |
| Sallisaw | 70.0 | 4.1 | Moderately 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 |
| Poteau | 45.9 | 2.7 | Soft | Utility-reported |
| 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 |
| Madill | 313.0 | 18.3 | Very hard | County estimate |
| Mustang | 463.0 | 27.1 | Very hard | County estimate |
| West Siloam Springs | 112.8 | 6.6 | Moderately hard | Computed from Ca+Mg |
| 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 |
| Piedmont | 123.0 | 7.2 | Hard | Utility-reported |
| 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 |
| 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 |
| Blanchard | 700.0 | 40.9 | 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 |
| Elgin | 152.5 | 8.9 | Hard | County estimate |
| Okemah | 99.0 | 5.8 | Moderately 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 |
| Cashion | 123.0 | 7.2 | Hard | Utility-reported |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| Foss | 361.0 | 21.1 | Very hard | Utility-reported |
| Kansas | 121.0 | 7.1 | Hard | County estimate |
| Pond Creek | 435.0 | 25.4 | Very hard | County estimate |
| Ratliff City | 242.0 | 14.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 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 142.2 mg/L (8.3 gpg) — hard on the USGS scale, where anything above 120 mg/L (7 gpg) counts as hard. 26 of Oklahoma's 40 measured cities fall in the hard or very hard bands (65%), so check your own city rather than the state average.
How hard is tap water in Oklahoma?
Across the 40 Oklahoma cities with measured values in our index, the median hardness is 142.2 mg/L (8.3 gpg) — hard on the USGS scale. Individual cities range from 45.9 to 361.0 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?
26 of Oklahoma's 40 measured cities (65%) 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.
Stay Informed About Your Water Quality
Get EPA reports, filter recommendations, and safety alerts for your area.
Join 10,000+ people protecting their families. Unsubscribe anytime.