Water Hardness in Kansas
Across 118 measured cities — with 208 more covered by labeled county-level estimates — Kansas's median tap water hardness is 247.0 mg/L (14.4 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 Kansas water
Water softener cost in Kansas at 14.4 gpg prices the equipment and the installation labour against the plumber wages published for Kansas, and labels every range as modelled or measured rather than leaving you to guess which it is.
Kansas · 14.44 grains per gallon
$1,033–$1,315
installed, midpoint $1,158 — a 32,000-grain unit, the size 4 people at this hardness need.
Salt and drain water over 10 years: $1,173–$1,893 — the 15,811,800 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: 30,324 grains of capacity needed, rounded up to the next common residential size. The median of 118 measured Kansas 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.
Kansas 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 | 9 | 7.6% |
| Hard | 120-180 mg/L | 27 | 22.9% |
| Very hard | >180 mg/L | 82 | 69.5% |
Hardest and Softest Water in Kansas
Measured values only; labeled county estimates and values under active dispute never rank.
Hardest water in Kansas
Every Covered City in Kansas
All 326 covered Kansas 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 |
|---|---|---|---|---|
| Wichita | 138.0 | 8.1 | Hard | Utility-reported |
| Kansas City | 303.0 | 17.7 | Very hard | Utility-reported |
| Olathe | 158.0 | 9.2 | Hard | Utility-reported |
| Topeka | 149.0 | 8.7 | Hard | Utility-reported |
| Lawrence | 141.0 | 8.3 | Hard | Utility-reported |
| Manhattan | 99.8 | 5.8 | Moderately hard | Utility-reported |
| South Hutchinson | 270.0 | 15.8 | Very hard | County estimate |
| Leavenworth | 128.0 | 7.5 | Hard | Utility-reported |
| Fort Riley | 140.0 | 8.2 | Hard | Utility-reported |
| Garden City | 367.0 | 21.5 | Very hard | Utility-reported |
| Derby | 242.0 | 14.2 | Very hard | County estimate |
| Emporia | 76.1 | 4.5 | Moderately hard | Utility-reported |
| Gardner | 144.0 | 8.4 | Hard | Utility-reported |
| Hays | 153.0 | 8.9 | Hard | Utility-reported |
| Pittsburg | 115.0 | 6.7 | Moderately hard | Utility-reported |
| Liberal | 233.0 | 13.6 | Very hard | Utility-reported |
| Junction City | 168.0 | 9.8 | Hard | Utility-reported |
| Newton | 230.0 | 13.4 | Very hard | County estimate |
| Great Bend | 383.0 | 22.4 | Very hard | Utility-reported |
| Mcpherson | 363.0 | 21.2 | Very hard | Utility-reported |
| Lansing | 230.0 | 13.4 | Very hard | County estimate |
| El Dorado | 117.0 | 6.8 | Moderately hard | Utility-reported |
| Ottawa | 132.0 | 7.7 | Hard | Utility-reported |
| Arkansas City | 137.0 | 8.0 | Hard | Utility-reported |
| Winfield | 136.0 | 8.0 | Hard | Utility-reported |
| Haysville | 225.0 | 13.2 | Very hard | Utility-reported |
| Atchison | 282.0 | 16.5 | Very hard | Utility-reported |
| Parsons | 129.0 | 7.5 | Hard | Utility-reported |
| Augusta | 120.0 | 7.0 | Moderately hard | Utility-reported |
| Coffeyville | 183.0 | 10.7 | Very hard | Utility-reported |
| Hillsdale | 133.0 | 7.8 | Hard | Utility-reported |
| Park City | 1000.0 | 58.5 | Very hard | County estimate |
| Towanda | 260.0 | 15.2 | Very hard | County estimate |
| Edgerton | 220.0 | 12.9 | Very hard | County estimate |
| Basehor | 230.0 | 13.4 | Very hard | County estimate |
| Bonner Springs | 439.0 | 25.7 | Very hard | Utility-reported |
| Valley Center | 133.0 | 7.8 | Hard | Utility-reported |
| Mulvane | 123.0 | 7.2 | Hard | Utility-reported |
| Ulysses | 323.0 | 18.9 | Very hard | Utility-reported |
| Auburn | 260.0 | 15.2 | Very hard | County estimate |
| Benton | 260.0 | 15.2 | Very hard | County estimate |
| Tecumseh | 260.0 | 15.2 | Very hard | County estimate |
| Paola | 150.0 | 8.8 | Hard | County estimate |
| Tonganoxie | 230.0 | 13.4 | Very hard | County estimate |
| Spring Hill | 150.0 | 8.8 | Hard | County estimate |
| Andover | 260.0 | 15.2 | Very hard | County estimate |
| Goddard | 242.0 | 14.2 | Very hard | County estimate |
| Concordia | 355.0 | 20.8 | Very hard | County estimate |
| Louisburg | 150.0 | 8.8 | Hard | County estimate |
| Wamego | 270.0 | 15.8 | Very hard | County estimate |
| Berryton | 156.0 | 9.1 | Hard | Utility-reported |
| De Soto | 125.0 | 7.3 | Hard | Utility-reported |
| Desoto | 125.0 | 7.3 | Hard | Utility-reported |
| Russell | 610.0 | 35.7 | Very hard | County estimate |
| Osawatomie | 198.0 | 11.6 | Very hard | Utility-reported |
| Rose Hill | 260.0 | 15.2 | Very hard | County estimate |
| Hiawatha | 260.0 | 15.2 | Very hard | County estimate |
| Baxter Springs | 196.0 | 11.5 | Very hard | Utility-reported |
| Hugoton | 294.0 | 17.2 | Very hard | Utility-reported |
| Scott City | 381.0 | 22.3 | Very hard | Utility-reported |
| Larned | 498.0 | 29.1 | Very hard | Utility-reported |
| Lyons | 341.0 | 19.9 | Very hard | Utility-reported |
| Altamont | 140.0 | 8.2 | Hard | County estimate |
| Lindsborg | 280.0 | 16.4 | Very hard | Utility-reported |
| Hesston | 223.0 | 13.0 | Very hard | Utility-reported |
| Marysville | 250.0 | 14.6 | Very hard | County estimate |
| Beloit | 121.0 | 7.1 | Hard | Utility-reported |
| Frontenac | 293.0 | 17.1 | Very hard | Utility-reported |
| Holton | 310.0 | 18.1 | Very hard | County estimate |
| Garnett | 128.0 | 7.5 | Hard | Utility-reported |
| Kingman | 173.0 | 10.1 | Hard | Utility-reported |
| Baldwin City | 190.0 | 11.1 | Very hard | County estimate |
| Eudora | 190.0 | 11.1 | Very hard | County estimate |
| Ellsworth | 140.0 | 8.2 | Hard | Utility-reported |
| Columbus | 190.0 | 11.1 | Very hard | County estimate |
| Seneca | 310.0 | 18.1 | Very hard | County estimate |
| Independence | 170.0 | 9.9 | Hard | County estimate |
| Norton | 320.0 | 18.7 | Very hard | County estimate |
| Galena | 210.0 | 12.3 | Very hard | Utility-reported |
| Hillsboro | 585.0 | 34.2 | Very hard | County estimate |
| Kechi | 242.0 | 14.2 | Very hard | County estimate |
| Hoisington | 320.0 | 18.7 | Very hard | Utility-reported |
| Leon | 260.0 | 15.2 | Very hard | County estimate |
| Fontana | 150.0 | 8.8 | Hard | County estimate |
| Clearwater | 204.0 | 11.9 | Very hard | Utility-reported |
| Hoyt | 310.0 | 18.1 | Very hard | County estimate |
| Girard | 1.5 | 0.1 | Soft | County estimate |
| Caney | 170.0 | 9.9 | Hard | County estimate |
| Havana | 170.0 | 9.9 | Hard | County estimate |
| Niotaze | 190.0 | 11.1 | Very hard | County estimate |
| Tyro | 170.0 | 9.9 | Hard | County estimate |
| Jewell | 330.0 | 19.3 | Very hard | County estimate |
| Greeley | 105.0 | 6.1 | Moderately hard | County estimate |
| Lane | 170.0 | 9.9 | Hard | County estimate |
| Herington | 240.0 | 14.0 | Very hard | County estimate |
| Sterling | 402.0 | 23.5 | Very hard | Utility-reported |
| Meriden | 328.0 | 19.2 | Very hard | Utility-reported |
| Eureka | 230.0 | 13.4 | Very hard | County estimate |
| Phillipsburg | 450.0 | 26.3 | Very hard | County estimate |
| Neodesha | 170.0 | 9.9 | Hard | County estimate |
| Galesburg | 170.0 | 9.9 | Hard | County estimate |
| Burlingame | 210.0 | 12.3 | Very hard | County estimate |
| Harveyville | 290.0 | 17.0 | Very hard | County estimate |
| Holcomb | 751.0 | 43.9 | Very hard | Utility-reported |
| Cimarron | 290.0 | 17.0 | Very hard | County estimate |
| Cheney | 130.0 | 7.6 | Hard | Utility-reported |
| Halstead | 230.0 | 13.4 | Very hard | County estimate |
| Randall | 330.0 | 19.3 | Very hard | County estimate |
| Mound City | 160.0 | 9.4 | Hard | County estimate |
| Westphalia | 105.0 | 6.1 | Moderately hard | County estimate |
| Council Grove | 240.0 | 14.0 | Very hard | County estimate |
| Fredonia | 170.0 | 9.9 | Hard | County estimate |
| Erie | 170.0 | 9.9 | Hard | County estimate |
| Colony | 105.0 | 6.1 | Moderately hard | County estimate |
| Kincaid | 105.0 | 6.1 | Moderately hard | County estimate |
| Barnard | 535.0 | 31.3 | Very hard | County estimate |
| Glasco | 355.0 | 20.8 | Very hard | County estimate |
| Anthony | 240.0 | 14.0 | Very hard | County estimate |
| Oakley | 1000.0 | 58.5 | Very hard | County estimate |
| Belleville | 300.0 | 17.5 | Very hard | County estimate |
| Ellis | 500.0 | 29.2 | Very hard | County estimate |
| Burden | 250.0 | 14.6 | Very hard | County estimate |
| Cambridge | 250.0 | 14.6 | Very hard | County estimate |
| Dexter | 250.0 | 14.6 | Very hard | County estimate |
| Ellinwood | 401.0 | 23.4 | Very hard | Utility-reported |
| Pleasanton | 160.0 | 9.4 | Hard | County estimate |
| Moundridge | 256.0 | 15.0 | Very hard | Utility-reported |
| Minneapolis | 370.0 | 21.6 | Very hard | County estimate |
| Marion | 585.0 | 34.2 | Very hard | County estimate |
| Elkhart | 270.0 | 15.8 | Very hard | Utility-reported |
| Humboldt | 170.0 | 9.9 | Hard | County estimate |
| North Newton | 249.0 | 14.6 | Very hard | Utility-reported |
| Solomon | 370.0 | 21.6 | Very hard | County estimate |
| Wakeeney | 610.0 | 35.7 | Very hard | County estimate |
| Piqua | 94.5 | 5.5 | Moderately hard | County estimate |
| Yates Center | 94.5 | 5.5 | Moderately hard | County estimate |
| Plainville | 520.0 | 30.4 | Very hard | County estimate |
| Medicine Lodge | 500.0 | 29.2 | Very hard | County estimate |
| Ogden | 546.0 | 31.9 | Very hard | Utility-reported |
| Oswego | 140.0 | 8.2 | Hard | County estimate |
| Oberlin | 420.0 | 24.6 | Very hard | County estimate |
| Sedgwick | 230.0 | 13.4 | Very hard | County estimate |
| Allen | 240.0 | 14.0 | Very hard | County estimate |
| Americus | 240.0 | 14.0 | Very hard | County estimate |
| Smith Center | 555.0 | 32.5 | Very hard | County estimate |
| Douglass | 260.0 | 15.2 | Very hard | County estimate |
| Horton | 280.0 | 16.4 | Very hard | Utility-reported |
| Meade | 182.0 | 10.6 | Very hard | Utility-reported |
| Cassoday | 260.0 | 15.2 | Very hard | County estimate |
| Rosalia | 260.0 | 15.2 | Very hard | County estimate |
| Belle Plaine | 260.0 | 15.2 | Very hard | County estimate |
| Colwich | 242.0 | 14.2 | Very hard | County estimate |
| Troy | 230.0 | 13.4 | Very hard | County estimate |
| Wathena | 230.0 | 13.4 | Very hard | County estimate |
| Potwin | 260.0 | 15.2 | Very hard | County estimate |
| Leoti | 256.0 | 15.0 | Very hard | Utility-reported |
| Osage City | 210.0 | 12.3 | Very hard | County estimate |
| Arma | 175.0 | 10.2 | Hard | Utility-reported |
| Kinsley | 550.0 | 32.2 | Very hard | County estimate |
| Hill City | 235.0 | 13.7 | Very hard | County estimate |
| Stockton | 520.0 | 30.4 | Very hard | County estimate |
| Chapman | 510.0 | 29.8 | Very hard | County estimate |
| Sublette | 214.0 | 12.5 | Very hard | Utility-reported |
| Carbondale | 119.0 | 7.0 | Moderately hard | Utility-reported |
| Johnson City | 253.0 | 14.8 | Very hard | Utility-reported |
| Silver Lake | 260.0 | 15.2 | Very hard | County estimate |
| Osborne | 530.0 | 31.0 | Very hard | County estimate |
| Inman | 340.0 | 19.9 | Very hard | Utility-reported |
| Reading | 240.0 | 14.0 | Very hard | County estimate |
| Ness City | 470.0 | 27.5 | Very hard | County estimate |
| Onaga | 270.0 | 15.8 | Very hard | County estimate |
| Atwood | 205.5 | 12.0 | Very hard | County estimate |
| Buhler | 270.0 | 15.8 | Very hard | County estimate |
| Elwood | 230.0 | 13.4 | Very hard | County estimate |
| Riverton | 390.0 | 22.8 | Very hard | Utility-reported |
| Hoxie | 180.0 | 10.5 | Hard | County estimate |
| Stark | 170.0 | 9.9 | Hard | County estimate |
| Richmond | 170.0 | 9.9 | Hard | County estimate |
| Lincoln | 535.0 | 31.3 | Very hard | County estimate |
| Bronson | 190.0 | 11.1 | Very hard | County estimate |
| South Haven | 260.0 | 15.2 | Very hard | County estimate |
| Haven | 270.0 | 15.8 | Very hard | County estimate |
| Victoria | 308.0 | 18.0 | Very hard | Utility-reported |
| Burlington | 190.0 | 11.1 | Very hard | County estimate |
| Gridley | 190.0 | 11.1 | Very hard | County estimate |
| Belvue | 270.0 | 15.8 | Very hard | County estimate |
| La Crosse | 490.0 | 28.6 | Very hard | County estimate |
| Conway Springs | 260.0 | 15.2 | Very hard | County estimate |
| Rossville | 260.0 | 15.2 | Very hard | County estimate |
| Liberty | 170.0 | 9.9 | Hard | County estimate |
| Oskaloosa | 240.0 | 14.0 | Very hard | County estimate |
| Valley Falls | 240.0 | 14.0 | Very hard | County estimate |
| Washington | 210.0 | 12.3 | Very hard | County estimate |
| Bartlett | 140.0 | 8.2 | Hard | County estimate |
| Edna | 140.0 | 8.2 | Hard | County estimate |
| Nickerson | 347.0 | 20.3 | Very hard | Utility-reported |
| Lyndon | 210.0 | 12.3 | Very hard | County estimate |
| Satanta | 323.0 | 18.9 | Very hard | Utility-reported |
| Plains | 194.0 | 11.3 | Very hard | Utility-reported |
| Caldwell | 260.0 | 15.2 | Very hard | County estimate |
| Sedan | 190.0 | 11.1 | Very hard | County estimate |
| Overbrook | 128.0 | 7.5 | Hard | Utility-reported |
| St. George | 270.0 | 15.8 | Very hard | County estimate |
| Olpe | 240.0 | 14.0 | Very hard | County estimate |
| Neosho Rapids | 240.0 | 14.0 | Very hard | County estimate |
| Dighton | 356.0 | 20.8 | Very hard | Utility-reported |
| Morrill | 260.0 | 15.2 | Very hard | County estimate |
| Peabody | 585.0 | 34.2 | Very hard | County estimate |
| Blue Rapids | 377.0 | 22.1 | Very hard | Utility-reported |
| Robinson | 260.0 | 15.2 | Very hard | County estimate |
| Vassar | 156.0 | 9.1 | Hard | Utility-reported |
| Windom | 290.0 | 17.0 | Very hard | County estimate |
| Galva | 638.0 | 37.3 | Very hard | Utility-reported |
| McLouth | 325.0 | 19.0 | Very hard | Utility-reported |
| Mankato | 330.0 | 19.3 | Very hard | County estimate |
| Salina | 330.0 | 19.3 | Very hard | County estimate |
| Wilson | 450.0 | 26.3 | Very hard | County estimate |
| Alma | 290.0 | 17.0 | Very hard | County estimate |
| Powhattan | 260.0 | 15.2 | Very hard | County estimate |
| Mound Valley | 140.0 | 8.2 | Hard | County estimate |
| Sabetha | 310.0 | 18.1 | Very hard | County estimate |
| Frankfort | 286.0 | 16.7 | Very hard | Utility-reported |
| Westmoreland | 270.0 | 15.8 | Very hard | County estimate |
| Fairview | 513.0 | 30.0 | Very hard | Utility-reported |
| Hanover | 210.0 | 12.3 | Very hard | County estimate |
| Whitewater | 260.0 | 15.2 | Very hard | County estimate |
| Wellsville | 170.0 | 9.9 | Hard | County estimate |
| Waterville | 445.0 | 26.0 | Very hard | Utility-reported |
| Pretty Prairie | 96.5 | 5.6 | Moderately hard | Utility-reported |
| Nortonville | 355.0 | 20.8 | Very hard | Utility-reported |
| Lecompton | 190.0 | 11.1 | Very hard | County estimate |
| White City | 240.0 | 14.0 | Very hard | County estimate |
| Weir | 190.0 | 11.1 | Very hard | County estimate |
| Goessel | 298.0 | 17.4 | Very hard | Utility-reported |
| Cherryvale | 170.0 | 9.9 | Hard | County estimate |
| Crestline | 241.0 | 14.1 | Very hard | Utility-reported |
| Effingham | 195.0 | 11.4 | Very hard | Utility-reported |
| Cherokee | 1.5 | 0.1 | Soft | County estimate |
| Little River | 310.0 | 18.1 | Very hard | Utility-reported |
| Macksville | 186.0 | 10.9 | Very hard | Utility-reported |
| Cunningham | 209.0 | 12.2 | Very hard | Utility-reported |
| Kanopolis | 272.0 | 15.9 | Very hard | Utility-reported |
| Winchester | 240.0 | 14.0 | Very hard | County estimate |
| Cawker City | 330.0 | 19.3 | Very hard | County estimate |
| Denton | 230.0 | 13.4 | Very hard | County estimate |
| Norwich | 230.0 | 13.4 | Very hard | County estimate |
| Arlington | 210.0 | 12.3 | Very hard | Utility-reported |
| Alta Vista | 290.0 | 17.0 | Very hard | County estimate |
| Linwood | 230.0 | 13.4 | Very hard | County estimate |
| Mulberry | 1.5 | 0.1 | Soft | County estimate |
| Holyrood | 341.0 | 19.9 | Very hard | Utility-reported |
| Assaria | 390.0 | 22.8 | Very hard | Utility-reported |
| Milford | 290.0 | 17.0 | Very hard | County estimate |
| Chase | 333.0 | 19.5 | Very hard | Utility-reported |
| Lewis | 262.0 | 15.3 | Very hard | Utility-reported |
| Williamsburg | 170.0 | 9.9 | Hard | County estimate |
| Gorham | 500.0 | 29.2 | Very hard | County estimate |
| Rolla | 359.0 | 21.0 | Very hard | Utility-reported |
| Dearing | 170.0 | 9.9 | Hard | County estimate |
| Scammon | 190.0 | 11.1 | Very hard | County estimate |
| Glen Elder | 475.0 | 27.8 | Very hard | Utility-reported |
| Mayetta | 310.0 | 18.1 | Very hard | County estimate |
| Kismet | 267.0 | 15.6 | Very hard | Utility-reported |
| Lucas | 610.0 | 35.7 | Very hard | County estimate |
| Princeton | 170.0 | 9.9 | Hard | County estimate |
| Udall | 250.0 | 14.6 | Very hard | County estimate |
| Sylvan Grove | 535.0 | 31.3 | Very hard | County estimate |
| Murdock | 230.0 | 13.4 | Very hard | County estimate |
| Moscow | 224.0 | 13.1 | Very hard | Utility-reported |
| Tescott | 370.0 | 21.6 | Very hard | County estimate |
| Everest | 67.0 | 3.9 | Moderately hard | Utility-reported |
| Healy | 343.0 | 20.1 | Very hard | Utility-reported |
| Copeland | 235.0 | 13.7 | Very hard | Utility-reported |
| Lancaster | 210.0 | 12.3 | Very hard | County estimate |
| Brookville | 330.0 | 19.3 | Very hard | County estimate |
| Jamestown | 355.0 | 20.8 | Very hard | County estimate |
| Geneseo | 479.0 | 28.0 | Very hard | Utility-reported |
| Elbing | 260.0 | 15.2 | Very hard | County estimate |
| Olsburg | 270.0 | 15.8 | Very hard | County estimate |
| Walton | 230.0 | 13.4 | Very hard | County estimate |
| Dwight | 240.0 | 14.0 | Very hard | County estimate |
| Paxico | 290.0 | 17.0 | Very hard | County estimate |
| Easton | 230.0 | 13.4 | Very hard | County estimate |
| Harper | 240.0 | 14.0 | Very hard | County estimate |
| Beattie | 250.0 | 14.6 | Very hard | County estimate |
| Bushton | 328.0 | 19.2 | Very hard | Utility-reported |
| Pawnee Rock | 245.0 | 14.3 | Very hard | Utility-reported |
| Tipton | 530.0 | 31.0 | Very hard | County estimate |
| Schoenchen | 400.0 | 23.4 | Very hard | Utility-reported |
| Rantoul | 405.0 | 23.7 | Very hard | Utility-reported |
| Luray | 610.0 | 35.7 | Very hard | County estimate |
| Albert | 420.0 | 24.6 | Very hard | Utility-reported |
| Lehigh | 585.0 | 34.2 | Very hard | County estimate |
| Geuda Springs | 263.0 | 15.4 | Very hard | Utility-reported |
| West Mineral | 190.0 | 11.1 | Very hard | County estimate |
| Dorrance | 610.0 | 35.7 | Very hard | County estimate |
| Oxford | 260.0 | 15.2 | Very hard | County estimate |
| Burr Oak | 330.0 | 19.3 | Very hard | County estimate |
| Lorraine | 87.8 | 5.1 | Moderately hard | Utility-reported |
| Beverly | 535.0 | 31.3 | Very hard | County estimate |
| Bunker Hill | 610.0 | 35.7 | Very hard | County estimate |
| Belpre | 233.0 | 13.6 | Very hard | Utility-reported |
| Rozel | 695.0 | 40.6 | Very hard | Utility-reported |
| Olmitz | 243.0 | 14.2 | Very hard | Utility-reported |
| Raymond | 213.0 | 12.5 | Very hard | Utility-reported |
| Simpson | 513.0 | 30.0 | Very hard | Utility-reported |
| Zenda | 228.0 | 13.3 | Very hard | Utility-reported |
| Esbon | 330.0 | 19.3 | Very hard | County estimate |
| Oketo | 588.0 | 34.4 | Very hard | Utility-reported |
| Spivey | 230.0 | 13.4 | Very hard | County estimate |
| Hunter | 415.0 | 24.3 | Very hard | County estimate |
| Timken | 569.0 | 33.3 | Very hard | Utility-reported |
| Paradise | 610.0 | 35.7 | Very hard | County estimate |
| Waldo | 530.0 | 31.0 | Very hard | County estimate |
| Brownell | 470.0 | 27.5 | Very hard | County estimate |
| Falun | 330.0 | 19.3 | Very hard | County estimate |
| Hollenberg | 210.0 | 12.3 | Very hard | County estimate |
| Leawood | 220.0 | 12.9 | Very hard | County estimate |
| Lenexa | 220.0 | 12.9 | Very hard | County estimate |
| McConnell AFB | 242.0 | 14.2 | Very hard | County estimate |
| Mission | 220.0 | 12.9 | Very hard | County estimate |
| Overland Park | 220.0 | 12.9 | Very hard | County estimate |
| Prairie Village | 220.0 | 12.9 | Very hard | County estimate |
| Saint George | 270.0 | 15.8 | Very hard | County estimate |
| Shawnee | 220.0 | 12.9 | Very hard | County estimate |
| Webber | 330.0 | 19.3 | 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 Kansas's Water Hardness
Kansas 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
Kansas Water Hardness FAQ
Does Kansas have hard water?
Yes — across Kansas's measured cities, typical tap water is hard. The median is 247.0 mg/L (14.4 gpg) — very hard on the USGS scale, where anything above 120 mg/L (7 gpg) counts as hard. 109 of Kansas's 118 measured cities fall in the hard or very hard bands (92%), so check your own city rather than the state average.
How hard is tap water in Kansas?
Across the 118 Kansas cities with measured values in our index, the median hardness is 247.0 mg/L (14.4 gpg) — very hard on the USGS scale. Individual cities range from 67.0 to 751.0 mg/L, so check your own city rather than assuming the state number.
Which city in Kansas has the hardest water?
Holcomb has the hardest measured tap water in our Kansas index at 751.0 mg/L (43.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 Kansas?
109 of Kansas's 118 measured cities (92%) 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 Kansas 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.