Water hardness in Illinois
Typical Illinois tap water
139mg/L
8.1gpg
Hard
Population-weighted middle value across 266 Illinois cities in the dataset
- People with hard or very hard water
- 85%
- Hardest
- Lake Barrington 573
- Softest
- West Dundee 14
We have hardness numbers for 192 Illinois cities; 46 of them are county estimates rather than utility figures. Each city page adds the water system's EPA violation record and a softener size for a typical household.
Dot size follows population. Tap a dot for the city page.
5Soft
35Moderately hard
51Hard
101Very hard
Hardest water in Illinois
- Lake Barrington573
- Monee558
- Crete524
- Warrenville474
- Crest Hill465
- Lockport458
- Sugar Grove419
- Belvidere416
Softest water in Illinois
All cities in Illinois
| City | mg/L | gpg | Class | Data | EPA health violations |
|---|---|---|---|---|---|
| Chicago | 139 | 8.1 | Hard | Utility report | 0 |
| Aurora | 287 | 16.8 | Very hard | County estimate | 0 |
| Naperville | 120 | 7.0 | Moderately hard | Utility report | 0 |
| Joliet | 244 | 14.3 | Very hard | Utility report | 1 |
| Rockford | 329 | 19.2 | Very hard | Utility report | 0 |
| Elgin | 111 | 6.5 | Moderately hard | Utility report | 0 |
| Springfield | 120 | 7.0 | Moderately hard | Utility report | 0 |
| Peoria | 272 | 15.9 | Very hard | Utility report | 0 |
| Champaign | 85 | 5.0 | Moderately hard | Utility report | 0 |
| Waukegan | 119 | 7.0 | Moderately hard | Utility report | 0 |
| Cicero | 229 | 13.4 | Very hard | County estimate | 1 |
| Bloomington | 89 | 5.2 | Moderately hard | Utility report | 0 |
| Schaumburg | 130 | 7.6 | Hard | Calculated from utility data | 0 |
| Evanston | 135 | 7.9 | Hard | Utility report | 0 |
| Arlington Heights | 115 | 6.7 | Moderately hard | Utility report | 0 |
| Bolingbrook | 287 | 16.8 | Very hard | County estimate | 0 |
| Decatur | 261 | 15.3 | Very hard | County estimate | 0 |
| Skokie | 132 | 7.7 | Hard | Utility report | 0 |
| Palatine | 350 | 20.4 | Very hard | Calculated from utility data | 0 |
| Des Plaines | 126 | 7.4 | Hard | Utility report | 0 |
| Orland Park | 147 | 8.6 | Hard | Utility report | 0 |
| Oak Lawn | 229 | 13.4 | Very hard | County estimate | 0 |
| Mount Prospect | 112 | 6.5 | Moderately hard | Utility report | 0 |
| Tinley Park | 300 | 17.5 | Very hard | Utility report | 0 |
| Berwyn | 111 | 6.5 | Moderately hard | Utility report | 0 |
| Wheaton | 124 | 7.2 | Hard | Utility report | 0 |
| Normal | 327 | 19.1 | Very hard | County estimate | 0 |
| Oak Park | 229 | 13.4 | Very hard | County estimate | 0 |
| Hoffman Estates | 229 | 13.4 | Very hard | County estimate | 0 |
| Downers Grove | 131 | 7.7 | Hard | Utility report | 0 |
| Glenview | 229 | 13.4 | Very hard | County estimate | 0 |
| Elmhurst | 110 | 6.4 | Moderately hard | Utility report | 0 |
| Lombard | 287 | 16.8 | Very hard | County estimate | 0 |
| Buffalo Grove | 154 | 9.0 | Hard | Utility report | 0 |
| Moline | 110 | 6.4 | Moderately hard | Utility report | 0 |
| Crystal Lake | 388 | 22.7 | Very hard | Utility report | 0 |
| Romeoville | 303 | 17.7 | Very hard | Utility report | 0 |
| Bartlett | 287 | 16.8 | Very hard | County estimate | 0 |
| DeKalb | 340 | 19.9 | Very hard | County estimate | 0 |
| Belleville | 157 | 9.2 | Hard | Utility report | 0 |
| Oswego | 235 | 13.7 | Very hard | Utility report | 1 |
| Urbana | 84 | 4.9 | Moderately hard | Utility report | 0 |
| Carol Stream | 287 | 16.8 | Very hard | County estimate | 0 |
| Wheeling | 132 | 7.7 | Hard | Utility report | 1 |
| Streamwood | 229 | 13.4 | Very hard | County estimate | 0 |
| Carpentersville | 67 | 3.9 | Moderately hard | Calculated from utility data | 0 |
| Hanover Park | 140 | 8.2 | Hard | Utility report | 0 |
| Addison | 287 | 16.8 | Very hard | County estimate | 0 |
| Calumet City | 229 | 13.4 | Very hard | County estimate | 2 |
| Northbrook | 131 | 7.7 | Hard | Utility report | 0 |
| North Chicago | 136 | 8.0 | Hard | Utility report | 0 |
| Woodridge | 134 | 7.8 | Hard | Utility report | 0 |
| St. Charles | 215 | 12.6 | Very hard | Calculated from utility data | 0 |
| Mundelein | 250 | 14.6 | Very hard | County estimate | 0 |
| Glendale Heights | 287 | 16.8 | Very hard | County estimate | 0 |
| Elk Grove Village | 141 | 8.2 | Hard | Utility report | 0 |
| Pekin | 361 | 21.1 | Very hard | Utility report | 0 |
| Algonquin | 378 | 22.1 | Very hard | Utility report | 0 |
| Gurnee | 250 | 14.6 | Very hard | County estimate | 0 |
| McHenry | 384 | 22.5 | Very hard | Utility report | 0 |
| Huntley | 31 | 1.8 | Soft | Utility report | 1 |
| New Lenox | 137 | 8.0 | Hard | Utility report | 0 |
| Glen Ellyn | 136 | 8.0 | Hard | Utility report | 0 |
| Lake in the Hills | 283 | 16.6 | Very hard | Utility report | 0 |
| Galesburg | 331 | 19.4 | Very hard | County estimate | 0 |
| Burbank | 229 | 13.4 | Very hard | County estimate | – |
| Danville | 310 | 18.1 | Very hard | County estimate | 0 |
| Lockport | 458 | 26.8 | Very hard | Utility report | 0 |
| Wilmette | 138 | 8.1 | Hard | Utility report | 0 |
| Vernon Hills | 250 | 14.6 | Very hard | County estimate | 0 |
| Granite City | 276 | 16.1 | Very hard | County estimate | 0 |
| Yorkville | 378 | 22.1 | Very hard | County estimate | 0 |
| Batavia | 358 | 20.9 | Very hard | Utility report | 0 |
| Chicago Heights | 229 | 13.4 | Very hard | County estimate | 0 |
| Edwardsville | 87 | 5.1 | Moderately hard | Calculated from utility data | 0 |
| Woodstock | 343 | 20.1 | Very hard | County estimate | 1 |
| South Elgin | 395 | 23.1 | Very hard | Utility report | 2 |
| Belvidere | 416 | 24.3 | Very hard | Utility report | 0 |
| West Chicago | 287 | 16.8 | Very hard | County estimate | 0 |
| Alton | 190 | 11.1 | Very hard | Utility report | 0 |
| Homer Glen | 287 | 16.8 | Very hard | County estimate | – |
| Morton Grove | 229 | 13.4 | Very hard | County estimate | 0 |
| Zion | 250 | 14.6 | Very hard | County estimate | 0 |
| Westmont | 127 | 7.4 | Hard | Utility report | 0 |
| Melrose Park | 103 | 6.0 | Moderately hard | Utility report | 0 |
| Collinsville | 276 | 16.1 | Very hard | County estimate | 0 |
| Loves Park | 316 | 18.5 | Very hard | Utility report | 0 |
| Rolling Meadows | 229 | 13.4 | Very hard | County estimate | 0 |
| Elmwood Park | 229 | 13.4 | Very hard | County estimate | 0 |
| Lisle | 287 | 16.8 | Very hard | County estimate | 0 |
| Kankakee | 140 | 8.2 | Hard | Utility report | 1 |
| Maywood | 229 | 13.4 | Very hard | County estimate | 1 |
| Freeport | 350 | 20.5 | Very hard | County estimate | 0 |
| Machesney Park | 387 | 22.6 | Very hard | Utility report | 0 |
| Roselle | 287 | 16.8 | Very hard | County estimate | 0 |
| Bloomingdale | 287 | 16.8 | Very hard | County estimate | 0 |
| East Peoria | 361 | 21.1 | Very hard | Utility report | 0 |
| Darien | 287 | 16.8 | Very hard | County estimate | 0 |
| Villa Park | 99 | 5.8 | Moderately hard | Utility report | 0 |
| Carbondale | 36 | 2.1 | Soft | Utility report | 4 |
| Blue Island | 229 | 13.4 | Very hard | County estimate | 0 |
| Frankfort | 287 | 16.8 | Very hard | County estimate | 0 |
| Grayslake | 250 | 14.6 | Very hard | County estimate | 0 |
| Geneva | 320 | 18.7 | Very hard | County estimate | 0 |
| Park Forest | 163 | 9.5 | Hard | Utility report | 1 |
| South Holland | 140 | 8.2 | Hard | Utility report | 2 |
| Libertyville | 250 | 14.6 | Very hard | County estimate | 0 |
| Crest Hill | 465 | 27.2 | Very hard | Utility report | 1 |
| Dolton | 229 | 13.4 | Very hard | County estimate | 0 |
| East Moline | 192 | 11.2 | Very hard | Utility report | 0 |
| Mokena | 91 | 5.3 | Moderately hard | Utility report | 0 |
| Lake Zurich | 84 | 4.9 | Moderately hard | Utility report | 0 |
| Deerfield | 135 | 7.9 | Hard | Utility report | 0 |
| North Aurora | 238 | 13.9 | Very hard | Utility report | 0 |
| Sycamore | 289 | 16.9 | Very hard | Utility report | 0 |
| Homewood | 112 | 6.5 | Moderately hard | Utility report | 0 |
| Bensenville | 104 | 6.1 | Moderately hard | Utility report | 0 |
| Lemont | 228 | 13.3 | Very hard | Utility report | 2 |
| Bellwood | 104 | 6.1 | Moderately hard | Utility report | 1 |
| Franklin Park | 104 | 6.1 | Moderately hard | Utility report | 0 |
| Cary | 378 | 22.1 | Very hard | Utility report | 0 |
| East St. Louis | 157 | 9.2 | Hard | Utility report | 0 |
| Bourbonnais | 138 | 8.1 | Hard | Utility report | 1 |
| Hinsdale | 133 | 7.8 | Hard | Utility report | 0 |
| Morton | 170 | 9.9 | Hard | Utility report | 0 |
| Marion | 47 | 2.8 | Soft | Utility report | 2 |
| Cahokia Heights | 157 | 9.2 | Hard | Utility report | 0 |
| Mattoon | 108 | 6.3 | Moderately hard | Utility report | 0 |
| Fairview Heights | 157 | 9.2 | Hard | Utility report | 0 |
| La Grange | 122 | 7.1 | Hard | Utility report | 0 |
| Washington | 230 | 13.4 | Very hard | Calculated from utility data | 0 |
| Bradley | 138 | 8.0 | Hard | Utility report | 1 |
| Warrenville | 474 | 27.7 | Very hard | Utility report | 0 |
| Morris | 285 | 16.7 | Very hard | Utility report | 0 |
| Shiloh | 157 | 9.2 | Hard | Utility report | 0 |
| Channahon | 193 | 11.3 | Very hard | Utility report | 0 |
| Sterling | 172 | 10.1 | Hard | Utility report | 0 |
| Swansea | 157 | 9.2 | Hard | Utility report | 0 |
| Wauconda | 146 | 8.5 | Hard | Utility report | 0 |
| La Grange Park | 129 | 7.5 | Hard | Utility report | 0 |
| Canton | 401 | 23.4 | Very hard | Utility report | 0 |
| Lincolnwood | 136 | 8.0 | Hard | Utility report | 0 |
| Lincoln | 222 | 13.0 | Very hard | Utility report | 2 |
| Pingree Grove | 65 | 3.8 | Moderately hard | Utility report | 1 |
| Winnetka | 135 | 7.9 | Hard | Utility report | 0 |
| Richton Park | 206 | 12.1 | Very hard | Utility report | 3 |
| Northlake | 104 | 6.1 | Moderately hard | Utility report | 0 |
| Effingham | 108 | 6.3 | Moderately hard | Utility report | 0 |
| Streator | 253 | 14.8 | Very hard | Utility report | 0 |
| Kewanee | 54 | 3.2 | Soft | Utility report | 0 |
| River Forest | 135 | 7.9 | Hard | Utility report | 0 |
| Schiller Park | 104 | 6.1 | Moderately hard | Utility report | 0 |
| Roscoe | 387 | 22.6 | Very hard | Utility report | 0 |
| Manhattan | 372 | 21.8 | Very hard | Utility report | 0 |
| Pontiac | 191 | 11.2 | Very hard | Utility report | 0 |
| Taylorville | 142 | 8.3 | Hard | Utility report | 0 |
| River Grove | 104 | 6.1 | Moderately hard | Utility report | 0 |
| Wood River | 128 | 7.5 | Hard | Calculated from utility data | 0 |
| Hawthorn Woods | 134 | 7.8 | Hard | Utility report | 0 |
| Sugar Grove | 419 | 24.5 | Very hard | Utility report | 0 |
| Flossmoor | 146 | 8.5 | Hard | Utility report | 0 |
| Hampshire | 60 | 3.5 | Moderately hard | Utility report | 2 |
| Mascoutah | 124 | 7.2 | Hard | Utility report | 0 |
| Manteno | 138 | 8.1 | Hard | Utility report | 1 |
| Boulder Hill | 235 | 13.7 | Very hard | Utility report | 1 |
| Savoy | 84 | 4.9 | Moderately hard | Utility report | 0 |
| Gilberts | 328 | 19.2 | Very hard | Utility report | 0 |
| Lake Villa | 205 | 12.0 | Very hard | Utility report | 0 |
| Clarendon Hills | 159 | 9.3 | Hard | Utility report | 0 |
| Monmouth | 175 | 10.2 | Hard | Calculated from utility data | 1 |
| West Dundee | 14 | 0.8 | Soft | Calculated from utility data | 0 |
| Jerseyville | 108 | 6.3 | Moderately hard | Utility report | 0 |
| Crete | 524 | 30.6 | Very hard | Utility report | 0 |
| Silvis | 212 | 12.4 | Very hard | Utility report | 1 |
| Lincolnshire | 380 | 22.2 | Very hard | Utility report | 0 |
| Rockton | 295 | 17.2 | Very hard | Utility report | 1 |
| Robinson | 264 | 15.4 | Very hard | Utility report | 0 |
| Elburn | 232 | 13.6 | Very hard | Utility report | 0 |
| Volo | 146 | 8.5 | Hard | Utility report | 1 |
| Orland Hills | 147 | 8.6 | Hard | Utility report | 0 |
| Lakemoor | 223 | 13.0 | Very hard | Utility report | 0 |
| Johnsburg | 353 | 20.6 | Very hard | Utility report | 0 |
| Mount Zion | 103 | 6.0 | Moderately hard | Utility report | 8 |
| Coal City | 98 | 5.8 | Moderately hard | Utility report | 7 |
| Bartonville | 283 | 16.6 | Very hard | Utility report | 0 |
| East Alton | 190 | 11.1 | Very hard | Utility report | 0 |
| Wonder Lake | 292 | 17.1 | Very hard | Calculated from utility data | 1 |
| Lake Bluff | 128 | 7.5 | Hard | Utility report | 0 |
| Highwood | 120 | 7.0 | Moderately hard | Utility report | 0 |
| Berkeley | 104 | 6.1 | Moderately hard | Utility report | 0 |
| Lake Barrington | 573 | 33.5 | Very hard | Utility report | 0 |
| Monee | 558 | 32.6 | Very hard | Utility report | 0 |
Questions
Is Illinois water hard?
The typical Illinois resident gets about 139 mg/L (8.1 gpg), which is hard. About 85% of people in the cities we track have hard or very hard water.
Which city in Illinois has the hardest water?
Among 192 cities with pages here, Lake Barrington is highest at 573 mg/L.
Which city in Illinois has the softest water?
West Dundee, at 14 mg/L.
Other states
- Alabama73
- Alaska110
- Arizona180
- Arkansas39
- California121
- Colorado97
- Connecticut53
- Delaware87
- District of Columbia117
- Florida120
- Georgia28
- Hawaii55
- Idaho118
- Indiana178
- Iowa183
- Kansas138
- Kentucky134
- Louisiana102
- Maine16
- Maryland105
- Massachusetts38
- Michigan112
- Minnesota160
- Mississippi38
- Missouri121
- Montana116
- Nebraska149
- Nevada232
- New Hampshire20
- New Jersey80
- New Mexico137
- New York31
- North Carolina31
- North Dakota133
- Ohio113
- Oklahoma152
- Oregon24
- Pennsylvania127
- Rhode Island42
- South Carolina32
- South Dakota124
- Tennessee89
- Texas112
- Utah231
- Vermont62
- Virginia65
- Washington36
- West Virginia106
- Wisconsin170
- Wyoming191
Hardness data: TapWaterData US Water Hardness, CC BY 4.0. Population: US Census Bureau. Violations: EPA ECHO. How we use them.