Water hardness in North Dakota
North Dakota has a median ambient water hardness of 314 mg/L, which is 18.3 grains per gallon and classes as very hard. That is the middle of 50,666 samples across 53 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 North Dakota
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 |
|---|---|---|---|---|---|
| Nelson County | 690 | 40.3 | Very hard | 390 to 1,310 | 782 |
| Steele County | 520 | 30.4 | Very hard | 348 to 670 | 408 |
| Ramsey County | 492 | 28.7 | Very hard | 335 to 760 | 2,936 |
| Towner County | 461 | 26.9 | Very hard | 289 to 623 | 646 |
| Golden Valley County | 439 | 25.6 | Very hard | 96 to 750 | 336 |
| Traill County | 430 | 25.1 | Very hard | 305 to 634 | 818 |
| Divide County | 410 | 24 | Very hard | 250 to 580 | 346 |
| McIntosh County | 400 | 23.4 | Very hard | 290 to 560 | 279 |
| Adams County | 395 | 23.1 | Very hard | 70 to 624 | 324 |
| Sargent County | 380 | 22.2 | Very hard | 270 to 550 | 519 |
| Williams County | 380 | 22.2 | Very hard | 219 to 503 | 818 |
| Hettinger County | 370 | 21.6 | Very hard | 160 to 580 | 652 |
| Rolette County | 369 | 21.6 | Very hard | 288 to 498 | 248 |
| Walsh County | 361 | 21.1 | Very hard | 263 to 482 | 1,178 |
| Benson County | 356 | 20.8 | Very hard | 260 to 474 | 1,322 |
| Richland County | 355 | 20.7 | Very hard | 245 to 562 | 940 |
| Barnes County | 342 | 20 | Very hard | 270 to 406 | 891 |
| Grant County | 339 | 19.8 | Very hard | 238 to 482 | 943 |
| Dickey County | 337 | 19.7 | Very hard | 276 to 440 | 2,953 |
| Logan County | 330 | 19.3 | Very hard | 270 to 460 | 278 |
| McHenry County | 330 | 19.3 | Very hard | 244 to 443 | 2,387 |
| Ward County | 330 | 19.3 | Very hard | 250 to 453 | 1,388 |
| Bottineau County | 324 | 18.9 | Very hard | 260 to 438 | 1,191 |
| Grand Forks County | 320 | 18.7 | Very hard | 258 to 436 | 1,692 |
| Griggs County | 320 | 18.7 | Very hard | 260 to 382 | 689 |
| Renville County | 320 | 18.7 | Very hard | 242 to 412 | 570 |
| Sheridan County | 315 | 18.4 | Very hard | 74 to 671 | 156 |
| Oliver County | 310 | 18.1 | Very hard | 210 to 429 | 372 |
| Pembina County | 310 | 18.1 | Very hard | 240 to 380 | 1,760 |
| Ransom County | 301 | 17.6 | Very hard | 240 to 408 | 1,226 |
| Emmons County | 300 | 17.5 | Very hard | 173 to 435 | 502 |
| LaMoure County | 300 | 17.5 | Very hard | 220 to 390 | 670 |
| Foster County | 296 | 17.3 | Very hard | 199 to 381 | 453 |
| Cass County | 290 | 16.9 | Very hard | 240 to 382 | 2,756 |
| Kidder County | 290 | 16.9 | Very hard | 240 to 400 | 161 |
| Stark County | 290 | 16.9 | Very hard | 150 to 440 | 1,109 |
| Mountrail County | 283 | 16.5 | Very hard | 196 to 428 | 722 |
| Burleigh County | 282 | 16.5 | Very hard | 215 to 500 | 1,044 |
| Morton County | 280 | 16.4 | Very hard | 155 to 410 | 1,281 |
| Stutsman County | 280 | 16.4 | Very hard | 220 to 388 | 1,258 |
| Pierce County | 279 | 16.3 | Very hard | 200 to 469 | 172 |
| Eddy County | 260 | 15.2 | Very hard | 210 to 320 | 907 |
| Wells County | 260 | 15.2 | Very hard | 160 to 361 | 465 |
| McLean County | 253 | 14.8 | Very hard | 205 to 360 | 2,003 |
| Slope County | 251 | 14.7 | Very hard | 110 to 614 | 575 |
| Cavalier County | 250 | 14.6 | Very hard | 160 to 350 | 599 |
| Burke County | 245 | 14.3 | Very hard | 100 to 460 | 375 |
| Bowman County | 240 | 14 | Very hard | 44 to 659 | 1,139 |
| Mercer County | 240 | 14 | Very hard | 196 to 370 | 2,037 |
| Billings County | 233 | 13.6 | Very hard | 59 to 374 | 703 |
| Dunn County | 220 | 12.9 | Very hard | 130 to 340 | 969 |
| McKenzie County | 220 | 12.9 | Very hard | 160 to 270 | 1,453 |
| Sioux County | 119 | 7 | Moderately hard | 32 to 210 | 265 |
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 North Dakota
At 18.3 grains per gallon, a family of four would need a softener of about 40,000 grains to regenerate roughly weekly, using around 756 lb of salt a year. Size it for your own household.
53 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.