Water hardness in Kansas
Kansas has a median ambient water hardness of 260 mg/L, which is 15.2 grains per gallon and classes as very hard. That is the middle of 104,519 samples across 105 counties.
This is ambient water, not tap water. These figures come from samples taken from wells, streams and springs by USGS, EPA and state agencies. Municipal utilities treat, blend and sometimes soften water before it reaches a tap, so a city supply can be considerably softer than the ground beneath it. Treat this as a good guide for a private well and an approximate one for city water. Your utility's annual water quality report gives the real number for a municipal tap, and a test strip gives it for yours.
Every monitored county in Kansas
Ranked hardest first. The middle 50% column shows how much the samples within a county vary, which matters more than the median where a county spans two geologies.
| County | mg/L | gpg | Class | Middle 50% | Samples |
|---|---|---|---|---|---|
| Hamilton County | 1,504 | 87.9 | Very hard | 930 to 1,700 | 876 |
| Gove County | 555 | 32.4 | Very hard | 230 to 990 | 214 |
| Russell County | 550 | 32.1 | Very hard | 410 to 680 | 2,390 |
| Lincoln County | 520 | 30.4 | Very hard | 440 to 580 | 657 |
| Edwards County | 510 | 29.8 | Very hard | 248 to 590 | 269 |
| Clark County | 500 | 29.2 | Very hard | 220 to 790 | 198 |
| Kearny County | 491 | 28.7 | Very hard | 220 to 1,300 | 293 |
| Ford County | 485 | 28.3 | Very hard | 230 to 660 | 646 |
| Barber County | 450 | 26.3 | Very hard | 330 to 630 | 1,026 |
| Ellis County | 440 | 25.7 | Very hard | 330 to 590 | 1,734 |
| Finney County | 440 | 25.7 | Very hard | 250 to 1,200 | 297 |
| Rooks County | 440 | 25.7 | Very hard | 350 to 550 | 773 |
| Osborne County | 430 | 25.1 | Very hard | 360 to 510 | 1,419 |
| Dickinson County | 420 | 24.5 | Very hard | 280 to 520 | 1,589 |
| Ness County | 420 | 24.5 | Very hard | 320 to 480 | 302 |
| Smith County | 420 | 24.5 | Very hard | 370 to 500 | 192 |
| Logan County | 415 | 24.2 | Very hard | 240 to 800 | 280 |
| Comanche County | 410 | 24 | Very hard | 300 to 620 | 787 |
| Trego County | 405 | 23.7 | Very hard | 265 to 550 | 1,050 |
| Meade County | 390 | 22.8 | Very hard | 304 to 435 | 697 |
| Rice County | 390 | 22.8 | Very hard | 300 to 530 | 1,120 |
| Barton County | 380 | 22.2 | Very hard | 270 to 460 | 1,137 |
| Butler County | 370 | 21.6 | Very hard | 230 to 630 | 3,130 |
| Ellsworth County | 370 | 21.6 | Very hard | 280 to 480 | 1,145 |
| Marion County | 370 | 21.6 | Very hard | 260 to 720 | 874 |
| Phillips County | 370 | 21.6 | Very hard | 290 to 460 | 836 |
| Rush County | 360 | 21 | Very hard | 250 to 480 | 339 |
| Saline County | 350 | 20.4 | Very hard | 280 to 430 | 1,609 |
| Jewell County | 345 | 20.2 | Very hard | 250 to 470 | 434 |
| Mitchell County | 340 | 19.9 | Very hard | 280 to 450 | 865 |
| Ottawa County | 340 | 19.9 | Very hard | 220 to 410 | 1,815 |
| Cloud County | 330 | 19.3 | Very hard | 260 to 400 | 1,181 |
| McPherson County | 330 | 19.3 | Very hard | 260 to 420 | 370 |
| Graham County | 320 | 18.7 | Very hard | 220 to 440 | 100 |
| Jackson County | 320 | 18.7 | Very hard | 280 to 370 | 778 |
| Chase County | 310 | 18.1 | Very hard | 250 to 400 | 1,430 |
| Clay County | 310 | 18.1 | Very hard | 230 to 380 | 774 |
| Cowley County | 300 | 17.5 | Very hard | 220 to 370 | 3,409 |
| Nemaha County | 290 | 16.9 | Very hard | 240 to 350 | 1,319 |
| Republic County | 290 | 16.9 | Very hard | 250 to 350 | 812 |
| Wabaunsee County | 290 | 16.9 | Very hard | 230 to 330 | 1,044 |
| Decatur County | 280 | 16.4 | Very hard | 188 to 370 | 349 |
| Morton County | 280 | 16.4 | Very hard | 250 to 380 | 140 |
| Hodgeman County | 270 | 15.8 | Very hard | 190 to 380 | 202 |
| Lyon County | 270 | 15.8 | Very hard | 200 to 350 | 1,442 |
| Norton County | 270 | 15.8 | Very hard | 210 to 340 | 562 |
| Pottawatomie County | 270 | 15.8 | Very hard | 200 to 333 | 1,255 |
| Reno County | 270 | 15.8 | Very hard | 189 to 370 | 3,278 |
| Riley County | 270 | 15.8 | Very hard | 180 to 360 | 1,777 |
| Geary County | 260 | 15.2 | Very hard | 210 to 370 | 1,435 |
| Lane County | 260 | 15.2 | Very hard | 220 to 320 | 92 |
| Seward County | 260 | 15.2 | Very hard | 230 to 280 | 138 |
| Brown County | 250 | 14.6 | Very hard | 180 to 320 | 995 |
| Marshall County | 250 | 14.6 | Very hard | 200 to 290 | 1,606 |
| Sedgwick County | 250 | 14.6 | Very hard | 190 to 320 | 6,095 |
| Shawnee County | 250 | 14.6 | Very hard | 170 to 310 | 2,929 |
| Stevens County | 250 | 14.6 | Very hard | 230 to 310 | 135 |
| Sumner County | 250 | 14.6 | Very hard | 210 to 320 | 1,898 |
| Wyandotte County | 250 | 14.6 | Very hard | 200 to 320 | 964 |
| Grant County | 240 | 14 | Very hard | 190 to 300 | 222 |
| Harper County | 240 | 14 | Very hard | 210 to 281 | 446 |
| Johnson County | 240 | 14 | Very hard | 186 to 280 | 2,630 |
| Kiowa County | 240 | 14 | Very hard | 210 to 310 | 384 |
| Rawlins County | 235 | 13.7 | Very hard | 170 to 380 | 120 |
| Harvey County | 231 | 13.5 | Very hard | 146 to 326 | 5,606 |
| Atchison County | 230 | 13.4 | Very hard | 180 to 270 | 859 |
| Doniphan County | 230 | 13.4 | Very hard | 190 to 270 | 557 |
| Greenwood County | 230 | 13.4 | Very hard | 180 to 270 | 1,525 |
| Leavenworth County | 230 | 13.4 | Very hard | 180 to 280 | 905 |
| Pawnee County | 230 | 13.4 | Very hard | 150 to 360 | 460 |
| Stafford County | 230 | 13.4 | Very hard | 190 to 283 | 336 |
| Douglas County | 220 | 12.9 | Very hard | 160 to 280 | 1,803 |
| Kingman County | 220 | 12.9 | Very hard | 190 to 240 | 1,003 |
| Stanton County | 220 | 12.9 | Very hard | 190 to 240 | 206 |
| Bourbon County | 210 | 12.3 | Very hard | 160 to 250 | 1,206 |
| Coffey County | 210 | 12.3 | Very hard | 160 to 250 | 862 |
| Jefferson County | 210 | 12.3 | Very hard | 160 to 290 | 1,110 |
| Wichita County | 210 | 12.3 | Very hard | 180 to 250 | 131 |
| Chautauqua County | 200 | 11.7 | Very hard | 160 to 240 | 733 |
| Cheyenne County | 200 | 11.7 | Very hard | 180 to 220 | 414 |
| Gray County | 200 | 11.7 | Very hard | 180 to 330 | 163 |
| Sheridan County | 200 | 11.7 | Very hard | 180 to 250 | 164 |
| Washington County | 200 | 11.7 | Very hard | 130 to 240 | 812 |
| Cherokee County | 190 | 11.1 | Very hard | 150 to 370 | 2,528 |
| Greeley County | 190 | 11.1 | Very hard | 170 to 220 | 87 |
| Thomas County | 190 | 11.1 | Very hard | 170 to 200 | 129 |
| Allen County | 180 | 10.5 | Hard | 150 to 250 | 175 |
| Anderson County | 180 | 10.5 | Hard | 110 to 240 | 184 |
| Elk County | 180 | 10.5 | Hard | 130 to 240 | 176 |
| Franklin County | 180 | 10.5 | Hard | 150 to 220 | 964 |
| Montgomery County | 180 | 10.5 | Hard | 140 to 220 | 1,898 |
| Neosho County | 180 | 10.5 | Hard | 130 to 230 | 664 |
| Wilson County | 180 | 10.5 | Hard | 150 to 220 | 951 |
| Haskell County | 170 | 9.9 | Hard | 160 to 270 | 94 |
| Labette County | 170 | 9.9 | Hard | 130 to 220 | 1,155 |
| Linn County | 170 | 9.9 | Hard | 130 to 220 | 887 |
| Morris County | 170 | 9.9 | Hard | 150 to 250 | 557 |
| Osage County | 170 | 9.9 | Hard | 150 to 240 | 1,200 |
| Pratt County | 170 | 9.9 | Hard | 140 to 190 | 475 |
| Wallace County | 170 | 9.9 | Hard | 155 to 190 | 209 |
| Miami County | 150 | 8.8 | Hard | 130 to 200 | 722 |
| Sherman County | 150 | 8.8 | Hard | 130 to 170 | 147 |
| Woodson County | 88 | 5.1 | Moderately hard | 60 to 140 | 188 |
| Crawford County | 2 | 0.1 | Soft | 1 to 120 | 1,772 |
| Scott County | 1 | 0.1 | Soft | 0 to 3 | 1,198 |
Source: Water Quality Portal (USGS, EPA and state agencies), waterqualitydata.us, retrieved 2026-09-19. 2,904,346 samples across 3,110 counties.
What this means for a household in Kansas
At 15.2 grains per gallon, a family of four would need a softener of about 32,000 grains to regenerate roughly weekly, using around 624 lb of salt a year. Size it for your own household.
105 of these counties include well samples, so the figures are a reasonable guide for private well water there. Municipal supplies in the same counties may be softer, because utilities often blend or treat.
Hardness follows geology rather than borders. Where a county sits on limestone or dolomite the water is hard; on granite, basalt or sandstone it is soft. That is why neighbouring counties in this table can differ by a factor of several.