Water hardness in Ohio
Ohio has a median ambient water hardness of 271 mg/L, which is 15.8 grains per gallon and classes as very hard. That is the middle of 93,627 samples across 88 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 Ohio
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 |
|---|---|---|---|---|---|
| Belmont County | 376 | 22 | Very hard | 211 to 850 | 1,218 |
| Clark County | 368 | 21.5 | Very hard | 333 to 390 | 1,015 |
| Champaign County | 367 | 21.4 | Very hard | 333 to 397 | 746 |
| Hardin County | 364 | 21.3 | Very hard | 301 to 447 | 496 |
| Logan County | 361 | 21.1 | Very hard | 327 to 402 | 669 |
| Greene County | 360 | 21 | Very hard | 325 to 382 | 1,448 |
| Wyandot County | 356 | 20.8 | Very hard | 290 to 428 | 937 |
| Mercer County | 355 | 20.7 | Very hard | 252 to 487 | 774 |
| Darke County | 354 | 20.7 | Very hard | 310 to 390 | 1,375 |
| Harrison County | 351 | 20.5 | Very hard | 193 to 624 | 805 |
| Madison County | 351 | 20.5 | Very hard | 311 to 393 | 868 |
| Shelby County | 351 | 20.5 | Very hard | 291 to 414 | 531 |
| Union County | 331 | 19.3 | Very hard | 260 to 388 | 1,315 |
| Auglaize County | 330 | 19.3 | Very hard | 264 to 373 | 859 |
| Huron County | 330 | 19.3 | Very hard | 272 to 380 | 783 |
| Miami County | 330 | 19.3 | Very hard | 291 to 357 | 1,190 |
| Montgomery County | 328 | 19.2 | Very hard | 292 to 357 | 2,905 |
| Preble County | 328 | 19.2 | Very hard | 300 to 355 | 761 |
| Tuscarawas County | 328 | 19.2 | Very hard | 231 to 486 | 1,969 |
| Butler County | 326 | 19 | Very hard | 287 to 360 | 2,204 |
| Fayette County | 320 | 18.7 | Very hard | 280 to 349 | 633 |
| Seneca County | 314 | 18.3 | Very hard | 260 to 370 | 574 |
| Marion County | 313 | 18.3 | Very hard | 264 to 369 | 948 |
| Hancock County | 312 | 18.2 | Very hard | 255 to 380 | 956 |
| Sandusky County | 310 | 18.1 | Very hard | 254 to 378 | 1,147 |
| Fairfield County | 309 | 18.1 | Very hard | 245 to 366 | 1,348 |
| Allen County | 308 | 18 | Very hard | 233 to 382 | 1,491 |
| Perry County | 308 | 18 | Very hard | 170 to 467 | 603 |
| Putnam County | 304 | 17.8 | Very hard | 250 to 355 | 1,311 |
| Pickaway County | 303 | 17.7 | Very hard | 254 to 343 | 1,808 |
| Crawford County | 302 | 17.6 | Very hard | 245 to 352 | 506 |
| Jefferson County | 302 | 17.6 | Very hard | 161 to 711 | 1,287 |
| Hamilton County | 301 | 17.6 | Very hard | 250 to 340 | 1,967 |
| Stark County | 299 | 17.5 | Very hard | 235 to 377 | 1,951 |
| Fulton County | 296 | 17.3 | Very hard | 250 to 329 | 409 |
| Warren County | 295 | 17.2 | Very hard | 225 to 336 | 693 |
| Henry County | 294 | 17.2 | Very hard | 238 to 324 | 366 |
| Noble County | 292 | 17.1 | Very hard | 228 to 364 | 417 |
| Williams County | 292 | 17.1 | Very hard | 241 to 325 | 546 |
| Morrow County | 290 | 16.9 | Very hard | 232 to 349 | 802 |
| Ottawa County | 288 | 16.8 | Very hard | 226 to 360 | 560 |
| Van Wert County | 287 | 16.8 | Very hard | 235 to 355 | 351 |
| Highland County | 283 | 16.5 | Very hard | 232 to 310 | 360 |
| Ross County | 281 | 16.4 | Very hard | 230 to 320 | 1,582 |
| Wood County | 280 | 16.4 | Very hard | 231 to 340 | 1,146 |
| Franklin County | 277 | 16.2 | Very hard | 208 to 361 | 3,340 |
| Morgan County | 276 | 16.1 | Very hard | 210 to 360 | 832 |
| Clinton County | 274 | 16 | Very hard | 211 to 315 | 325 |
| Columbiana County | 273 | 15.9 | Very hard | 220 to 340 | 1,195 |
| Delaware County | 272 | 15.9 | Very hard | 210 to 345 | 1,749 |
| Defiance County | 270 | 15.8 | Very hard | 223 to 319 | 1,153 |
| Licking County | 270 | 15.8 | Very hard | 205 to 315 | 913 |
| Richland County | 269 | 15.7 | Very hard | 221 to 320 | 438 |
| Erie County | 267 | 15.6 | Very hard | 212 to 328 | 907 |
| Paulding County | 267 | 15.6 | Very hard | 225 to 306 | 491 |
| Wayne County | 257 | 15 | Very hard | 225 to 310 | 799 |
| Muskingum County | 250 | 14.6 | Very hard | 176 to 380 | 1,005 |
| Medina County | 246 | 14.4 | Very hard | 200 to 299 | 505 |
| Ashland County | 240 | 14 | Very hard | 200 to 290 | 509 |
| Athens County | 238 | 13.9 | Very hard | 180 to 340 | 1,673 |
| Lucas County | 236 | 13.8 | Very hard | 190 to 280 | 2,697 |
| Lorain County | 230 | 13.4 | Very hard | 186 to 272 | 1,856 |
| Holmes County | 225 | 13.1 | Very hard | 181 to 265 | 605 |
| Summit County | 222 | 13 | Very hard | 174 to 276 | 2,076 |
| Hocking County | 221 | 12.9 | Very hard | 150 to 300 | 810 |
| Knox County | 221 | 12.9 | Very hard | 188 to 250 | 874 |
| Cuyahoga County | 216 | 12.6 | Very hard | 180 to 250 | 3,149 |
| Guernsey County | 214 | 12.5 | Very hard | 150 to 380 | 962 |
| Adams County | 213 | 12.4 | Very hard | 142 to 245 | 228 |
| Clermont County | 212 | 12.4 | Very hard | 160 to 259 | 1,220 |
| Coshocton County | 198 | 11.6 | Very hard | 142 to 288 | 1,359 |
| Jackson County | 196 | 11.4 | Very hard | 115 to 309 | 327 |
| Mahoning County | 192 | 11.2 | Very hard | 155 to 250 | 1,552 |
| Brown County | 190 | 11.1 | Very hard | 149 to 220 | 425 |
| Washington County | 190 | 11.1 | Very hard | 140 to 285 | 1,078 |
| Lake County | 182 | 10.6 | Very hard | 122 to 260 | 1,228 |
| Pike County | 180 | 10.5 | Hard | 90 to 340 | 462 |
| Portage County | 180 | 10.5 | Hard | 137 to 263 | 953 |
| Geauga County | 168 | 9.8 | Hard | 123 to 213 | 801 |
| Gallia County | 160 | 9.3 | Hard | 118 to 216 | 965 |
| Monroe County | 151 | 8.8 | Hard | 110 to 184 | 444 |
| Meigs County | 150 | 8.8 | Hard | 104 to 200 | 306 |
| Scioto County | 150 | 8.8 | Hard | 44 to 270 | 1,283 |
| Trumbull County | 150 | 8.8 | Hard | 123 to 184 | 1,469 |
| Vinton County | 150 | 8.8 | Hard | 97 to 246 | 1,314 |
| Lawrence County | 142 | 8.3 | Hard | 110 to 196 | 569 |
| Ashtabula County | 132 | 7.7 | Hard | 103 to 173 | 1,565 |
| Carroll County | 120 | 7 | Moderately hard | 81 to 185 | 586 |
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 Ohio
At 15.8 grains per gallon, a family of four would need a softener of about 40,000 grains to regenerate roughly weekly, using around 648 lb of salt a year. Size it for your own household.
86 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.