Water hardness in Missouri
Missouri has a median ambient water hardness of 197 mg/L, which is 11.5 grains per gallon and classes as very hard. That is the middle of 36,787 samples across 115 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 Missouri
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 |
|---|---|---|---|---|---|
| Clay County | 513 | 30 | Very hard | 276 to 564 | 136 |
| Henry County | 488 | 28.5 | Very hard | 200 to 1,110 | 479 |
| Randolph County | 463 | 27 | Very hard | 240 to 886 | 552 |
| Boone County | 398 | 23.3 | Very hard | 290 to 474 | 1,993 |
| Gentry County | 380 | 22.2 | Very hard | 300 to 480 | 16 |
| St. Francois County | 322 | 18.8 | Very hard | 221 to 530 | 876 |
| Carroll County | 300 | 17.5 | Very hard | 230 to 920 | 51 |
| Callaway County | 290 | 16.9 | Very hard | 219 to 393 | 202 |
| St. Clair County | 285 | 16.6 | Very hard | 185 to 739 | 95 |
| Saline County | 280 | 16.4 | Very hard | 220 to 410 | 113 |
| Atchison County | 270 | 15.8 | Very hard | 210 to 380 | 38 |
| Audrain County | 270 | 15.8 | Very hard | 205 to 320 | 43 |
| Ray County | 270 | 15.8 | Very hard | 179 to 410 | 49 |
| Scotland County | 270 | 15.8 | Very hard | 240 to 300 | 4 |
| Clinton County | 269 | 15.7 | Very hard | 195 to 350 | 24 |
| Jackson County | 260 | 15.2 | Very hard | 220 to 385 | 1,597 |
| Buchanan County | 255 | 14.9 | Very hard | 233 to 280 | 419 |
| Howard County | 255 | 14.9 | Very hard | 100 to 381 | 16 |
| Caldwell County | 254 | 14.8 | Very hard | 180 to 300 | 45 |
| Clark County | 250 | 14.6 | Very hard | 200 to 298 | 374 |
| St. Charles County | 248 | 14.5 | Very hard | 176 to 330 | 881 |
| Gasconade County | 240 | 14 | Very hard | 169 to 268 | 26 |
| Macon County | 240 | 14 | Very hard | 120 to 1,600 | 241 |
| Washington County | 240 | 14 | Very hard | 190 to 281 | 430 |
| St. Louis County | 233 | 13.6 | Very hard | 178 to 315 | 1,782 |
| Perry County | 231 | 13.5 | Very hard | 200 to 268 | 297 |
| Holt County | 230 | 13.4 | Very hard | 192 to 270 | 421 |
| Lafayette County | 230 | 13.4 | Very hard | 147 to 330 | 37 |
| Benton County | 229 | 13.4 | Very hard | 204 to 285 | 62 |
| Camden County | 227 | 13.3 | Very hard | 197 to 270 | 307 |
| St. Louis city | 225 | 13.1 | Very hard | 190 to 243 | 49 |
| Cass County | 222 | 13 | Very hard | 168 to 263 | 114 |
| Daviess County | 222 | 13 | Very hard | 177 to 276 | 89 |
| Miller County | 222 | 13 | Very hard | 193 to 287 | 104 |
| Montgomery County | 219 | 12.8 | Very hard | 180 to 244 | 674 |
| Worth County | 216 | 12.6 | Very hard | 180 to 243 | 69 |
| Moniteau County | 215 | 12.6 | Very hard | 193 to 239 | 59 |
| DeKalb County | 214 | 12.5 | Very hard | 137 to 300 | 50 |
| Greene County | 214 | 12.5 | Very hard | 185 to 232 | 572 |
| Harrison County | 214 | 12.5 | Very hard | 183 to 255 | 155 |
| Hickory County | 212 | 12.4 | Very hard | 181 to 250 | 83 |
| Jefferson County | 211 | 12.3 | Very hard | 177 to 268 | 741 |
| Warren County | 211 | 12.3 | Very hard | 175 to 246 | 85 |
| Johnson County | 210 | 12.3 | Very hard | 160 to 240 | 92 |
| Nodaway County | 210 | 12.3 | Very hard | 180 to 239 | 83 |
| Mercer County | 208 | 12.2 | Very hard | 176 to 235 | 183 |
| Oregon County | 206 | 12 | Very hard | 175 to 243 | 563 |
| Pike County | 206 | 12 | Very hard | 188 to 230 | 100 |
| Polk County | 206 | 12 | Very hard | 190 to 222 | 210 |
| Pulaski County | 206 | 12 | Very hard | 170 to 276 | 973 |
| Putnam County | 204 | 11.9 | Very hard | 159 to 254 | 321 |
| Morgan County | 203 | 11.9 | Very hard | 154 to 227 | 41 |
| Douglas County | 201 | 11.7 | Very hard | 181 to 221 | 195 |
| Webster County | 201 | 11.7 | Very hard | 181 to 227 | 126 |
| Cape Girardeau County | 200 | 11.7 | Very hard | 150 to 230 | 425 |
| Howell County | 200 | 11.7 | Very hard | 167 to 240 | 59 |
| Laclede County | 200 | 11.7 | Very hard | 178 to 225 | 101 |
| Lewis County | 200 | 11.7 | Very hard | 160 to 236 | 208 |
| Osage County | 200 | 11.7 | Very hard | 177 to 290 | 29 |
| Ozark County | 200 | 11.7 | Very hard | 170 to 220 | 384 |
| Schuyler County | 200 | 11.7 | Very hard | 200 to 630 | 3 |
| Adair County | 199 | 11.6 | Very hard | 86 to 225 | 50 |
| Platte County | 199 | 11.6 | Very hard | 153 to 240 | 333 |
| Pettis County | 195 | 11.4 | Very hard | 146 to 237 | 118 |
| Wright County | 195 | 11.4 | Very hard | 167 to 220 | 28 |
| Andrew County | 191 | 11.2 | Very hard | 149 to 226 | 147 |
| Dallas County | 191 | 11.2 | Very hard | 162 to 219 | 525 |
| Knox County | 190 | 11.1 | Very hard | 138 to 240 | 34 |
| Monroe County | 190 | 11.1 | Very hard | 110 to 280 | 17 |
| Dade County | 187 | 10.9 | Very hard | 155 to 218 | 113 |
| Marion County | 187 | 10.9 | Very hard | 135 to 216 | 262 |
| Jasper County | 186 | 10.9 | Very hard | 157 to 240 | 1,854 |
| Lawrence County | 186 | 10.9 | Very hard | 172 to 200 | 361 |
| Bates County | 185 | 10.8 | Very hard | 143 to 230 | 274 |
| Livingston County | 185 | 10.8 | Very hard | 120 to 221 | 609 |
| Maries County | 184 | 10.7 | Very hard | 157 to 236 | 58 |
| Crawford County | 183 | 10.7 | Very hard | 160 to 209 | 671 |
| Lincoln County | 183 | 10.7 | Very hard | 145 to 220 | 372 |
| Dent County | 180 | 10.5 | Hard | 140 to 215 | 175 |
| Phelps County | 180 | 10.5 | Hard | 153 to 219 | 486 |
| Sullivan County | 180 | 10.5 | Hard | 149 to 209 | 468 |
| Iron County | 177 | 10.3 | Hard | 120 to 280 | 292 |
| Stoddard County | 177 | 10.3 | Hard | 100 to 220 | 172 |
| Grundy County | 176 | 10.3 | Hard | 149 to 250 | 158 |
| Cooper County | 175 | 10.2 | Hard | 140 to 214 | 287 |
| Shelby County | 175 | 10.2 | Hard | 110 to 240 | 18 |
| Christian County | 173 | 10.1 | Hard | 160 to 190 | 628 |
| Carter County | 170 | 9.9 | Hard | 147 to 188 | 189 |
| Shannon County | 170 | 9.9 | Hard | 149 to 199 | 341 |
| Texas County | 169 | 9.9 | Hard | 129 to 214 | 143 |
| Barton County | 161 | 9.4 | Hard | 74 to 476 | 342 |
| Ripley County | 161 | 9.4 | Hard | 140 to 180 | 247 |
| Newton County | 159 | 9.3 | Hard | 139 to 174 | 720 |
| Mississippi County | 156 | 9.1 | Hard | 140 to 190 | 106 |
| Chariton County | 152 | 8.9 | Hard | 110 to 210 | 449 |
| Linn County | 152 | 8.9 | Hard | 94 to 206 | 161 |
| Barry County | 150 | 8.8 | Hard | 119 to 169 | 590 |
| Scott County | 149 | 8.7 | Hard | 100 to 290 | 48 |
| Madison County | 141 | 8.2 | Hard | 99 to 229 | 427 |
| Cedar County | 140 | 8.2 | Hard | 88 to 180 | 180 |
| Cole County | 140 | 8.2 | Hard | 125 to 150 | 272 |
| Franklin County | 140 | 8.2 | Hard | 106 to 180 | 422 |
| McDonald County | 140 | 8.2 | Hard | 128 to 150 | 1,132 |
| Reynolds County | 140 | 8.2 | Hard | 100 to 190 | 992 |
| Dunklin County | 138 | 8.1 | Hard | 64 to 176 | 262 |
| Stone County | 138 | 8.1 | Hard | 105 to 171 | 433 |
| New Madrid County | 130 | 7.6 | Hard | 110 to 158 | 247 |
| Vernon County | 129 | 7.5 | Hard | 91 to 200 | 340 |
| Butler County | 127 | 7.4 | Hard | 81 to 160 | 177 |
| Ralls County | 120 | 7 | Moderately hard | 91 to 167 | 203 |
| Bollinger County | 117 | 6.8 | Moderately hard | 80 to 165 | 107 |
| Taney County | 117 | 6.8 | Moderately hard | 107 to 165 | 728 |
| Wayne County | 113 | 6.6 | Moderately hard | 95 to 133 | 238 |
| Pemiscot County | 71 | 4.1 | Moderately hard | 28 to 200 | 85 |
| Ste. Genevieve County | 67 | 3.9 | Moderately hard | 19 to 208 | 150 |
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 Missouri
At 11.5 grains per gallon, a family of four would need a softener of about 32,000 grains to regenerate roughly weekly, using around 470 lb of salt a year. Size it for your own household.
114 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.