Water Hardness in Alabama
Across 299 measured cities — with 86 more covered by labeled county-level estimates — Alabama's median tap water hardness is 65.7 mg/L (3.8 gpg): moderately hard on the USGS scale. Below: every covered city, the state's hardest and softest water, and the geology that explains it.
Data updated July 6, 2026. Sources: utility-reported water quality data and USGS/EPA Water Quality Portal samples.
Alabama Cities by Hardness Category
Measured cities only — labeled county estimates never enter the category counts or the median.
| Category | Range | Measured cities | Share |
|---|---|---|---|
| Soft | 0-60 mg/L | 139 | 46.5% |
| Moderately hard | 60-120 mg/L | 103 | 34.4% |
| Hard | 120-180 mg/L | 47 | 15.7% |
| Very hard | >180 mg/L | 10 | 3.3% |
Hardest and Softest Water in Alabama
Measured values only; labeled county estimates and values under active dispute never rank.
Hardest water in Alabama
- Montevallo — 263.0 mg/L (15.4 gpg), very hard
- Harpersville — 242.0 mg/L (14.2 gpg), very hard
- Wilsonville — 215.0 mg/L (12.6 gpg), very hard
- Calera — 196.0 mg/L (11.5 gpg), very hard
- Alabaster — 193.0 mg/L (11.3 gpg), very hard
Softest water in Alabama
- Banks — 0.5 mg/L (0.0 gpg), soft
- Pine Level — 1.2 mg/L (0.1 gpg), soft
- Faunsdale — 1.4 mg/L (0.1 gpg), soft
- Frankville — 1.9 mg/L (0.1 gpg), soft
- Butler — 2.0 mg/L (0.1 gpg), soft
Every Covered City in Alabama
All 385 covered Alabama cities, sorted by population served. "County estimate" rows are labeled context values from USGS/EPA Water Quality Portal county sampling — they never enter the median above. City names link to each city's full water quality page.
| City | Hardness (mg/L) | gpg | Category | Data |
|---|---|---|---|---|
| Lipscomb | 76.7 | 4.5 | Moderately hard | Utility-reported |
| Irondale | 78.7 | 4.6 | Moderately hard | Utility-reported |
| Birmingham | 76.7 | 4.5 | Moderately hard | Utility-reported |
| Center Point | 76.7 | 4.5 | Moderately hard | Utility-reported |
| Forestdale | 76.7 | 4.5 | Moderately hard | Utility-reported |
| Homewood | 76.7 | 4.5 | Moderately hard | Utility-reported |
| McDonald Chapel | 76.7 | 4.5 | Moderately hard | Utility-reported |
| Minor | 76.7 | 4.5 | Moderately hard | Utility-reported |
| Mountain Brook | 76.7 | 4.5 | Moderately hard | Utility-reported |
| Mobile | 30.5 | 1.8 | Soft | Utility-reported |
| Redstone Arsenal | 95.6 | 5.6 | Moderately hard | Utility-reported |
| Triana | 100.0 | 5.8 | Moderately hard | Utility-reported |
| Huntsville | 100.0 | 5.8 | Moderately hard | Utility-reported |
| Montgomery | 37.9 | 2.2 | Soft | Utility-reported |
| Pike Road | 38.3 | 2.2 | Soft | Utility-reported |
| Tuscaloosa | 32.3 | 1.9 | Soft | Utility-reported |
| Cottondale | 32.3 | 1.9 | Soft | Utility-reported |
| Holt | 32.3 | 1.9 | Soft | Utility-reported |
| Bessemer | 113.0 | 6.6 | Moderately hard | Utility-reported |
| Decatur | 74.5 | 4.4 | Moderately hard | Utility-reported |
| Dothan | 98.9 | 5.8 | Moderately hard | Utility-reported |
| Napier Field | 99.9 | 5.8 | Moderately hard | Utility-reported |
| Moores Mill | 67.1 | 3.9 | Moderately hard | Utility-reported |
| Grimes | 99.9 | 5.8 | Moderately hard | Utility-reported |
| Cullman | 40.0 | 2.3 | Soft | County estimate |
| Athens | 111.7 | 6.5 | Moderately hard | Utility-reported |
| Florence | 62.2 | 3.6 | Moderately hard | Utility-reported |
| Hobson City | 83.6 | 4.9 | Moderately hard | Utility-reported |
| St. Florian | 65.7 | 3.8 | Moderately hard | Utility-reported |
| Underwood-Petersville | 65.7 | 3.8 | Moderately hard | Utility-reported |
| Opelika | 29.3 | 1.7 | Soft | Utility-reported |
| Auburn | 73.0 | 4.3 | Moderately hard | Utility-reported |
| Prattville | 19.1 | 1.1 | Soft | Utility-reported |
| Gadsden | 63.2 | 3.7 | Moderately hard | Utility-reported |
| Fairhope | 27.3 | 1.6 | Soft | Utility-reported |
| Point Clear | 27.3 | 1.6 | Soft | Utility-reported |
| Anniston | 62.8 | 3.7 | Moderately hard | Utility-reported |
| Saks | 62.8 | 3.7 | Moderately hard | Utility-reported |
| Northport | 39.6 | 2.3 | Soft | Utility-reported |
| Madison | 112.0 | 6.5 | Moderately hard | Utility-reported |
| Daphne | 28.8 | 1.7 | Soft | Utility-reported |
| Harvest | 77.5 | 4.5 | Moderately hard | Utility-reported |
| Jasper | 51.4 | 3.0 | Soft | Utility-reported |
| Columbiana | 86.2 | 5.0 | Moderately hard | Utility-reported |
| Enterprise | 95.4 | 5.6 | Moderately hard | Utility-reported |
| Lookout Mountain | 72.3 | 4.2 | Moderately hard | Utility-reported |
| Whitesboro | 72.3 | 4.2 | Moderately hard | Utility-reported |
| Eclectic | 23.3 | 1.4 | Soft | Utility-reported |
| Foley | 17.3 | 1.0 | Soft | Utility-reported |
| Muscle Shoals | 70.9 | 4.2 | Moderately hard | Utility-reported |
| Alabaster | 193.0 | 11.3 | Very hard | Utility-reported |
| Theodore | 11.1 | 0.7 | Soft | Utility-reported |
| Tillmans Corner | 11.1 | 0.7 | Soft | Utility-reported |
| Citronelle | 3.4 | 0.2 | Soft | Utility-reported |
| Pelham | 169.0 | 9.9 | Hard | Utility-reported |
| Hueytown | 113.0 | 6.6 | Moderately hard | Utility-reported |
| North Johns | 113.0 | 6.6 | Moderately hard | Utility-reported |
| Tuscumbia | 119.7 | 7.0 | Moderately hard | Utility-reported |
| Gulf Shores | 26.5 | 1.6 | Soft | Utility-reported |
| Trussville | 155.0 | 9.1 | Hard | Utility-reported |
| Shelby | 72.6 | 4.3 | Moderately hard | Utility-reported |
| Prichard | 29.2 | 1.7 | Soft | Utility-reported |
| Rainsville | 68.7 | 4.0 | Moderately hard | Utility-reported |
| Arab | 78.7 | 4.6 | Moderately hard | Utility-reported |
| Troy | 11.6 | 0.7 | Soft | Computed from Ca+Mg |
| Albertville | 34.0 | 2.0 | Soft | Utility-reported |
| Sheffield | 72.8 | 4.3 | Moderately hard | Utility-reported |
| Jemison | 96.4 | 5.6 | Moderately hard | Utility-reported |
| Alexandria | 110.0 | 6.4 | Moderately hard | Utility-reported |
| Thorsby | 88.2 | 5.2 | Moderately hard | Utility-reported |
| Alexander City | 21.1 | 1.2 | Soft | Utility-reported |
| Selma | 74.3 | 4.3 | Moderately hard | Utility-reported |
| Scottsboro | 78.2 | 4.6 | Moderately hard | Utility-reported |
| Sylacauga | 93.6 | 5.5 | Moderately hard | Utility-reported |
| Bay Minette | 17.9 | 1.1 | Soft | Utility-reported |
| Oxford | 125.0 | 7.3 | Hard | Utility-reported |
| Andalusia | 47.4 | 2.8 | Soft | Utility-reported |
| Ozark | 19.4 | 1.1 | Soft | Utility-reported |
| Talladega | 134.0 | 7.8 | Hard | Utility-reported |
| Saraland | 34.1 | 2.0 | Soft | Utility-reported |
| Somerville | 80.0 | 4.7 | Moderately hard | County estimate |
| Fort Payne | 126.0 | 7.4 | Hard | Utility-reported |
| Pine Ridge | 126.0 | 7.4 | Hard | Utility-reported |
| Calera | 196.0 | 11.5 | Very hard | Utility-reported |
| Mignon | 86.8 | 5.1 | Moderately hard | Utility-reported |
| Southside | 112.0 | 6.5 | Moderately hard | Utility-reported |
| Odenville | 124.0 | 7.3 | Hard | Utility-reported |
| Greenville | 7.4 | 0.4 | Soft | Utility-reported |
| Hartselle | 80.0 | 4.7 | Moderately hard | County estimate |
| Russellville | 88.5 | 5.2 | Moderately hard | Utility-reported |
| Leeds | 147.0 | 8.6 | Hard | Utility-reported |
| Cleveland | 121.6 | 7.1 | Hard | Utility-reported |
| Helena | 190.0 | 11.1 | Very hard | Utility-reported |
| Nectar | 126.0 | 7.4 | Hard | Utility-reported |
| Eufaula | 2.1 | 0.1 | Soft | Computed from Ca+Mg |
| Tuskegee | 65.3 | 3.8 | Moderately hard | Utility-reported |
| Pell City | 153.6 | 9.0 | Hard | Utility-reported |
| Boaz | 62.7 | 3.7 | Moderately hard | County estimate |
| Oneonta | 116.0 | 6.8 | Moderately hard | Utility-reported |
| Stevenson | 76.8 | 4.5 | Moderately hard | Utility-reported |
| Rainbow City | 111.0 | 6.5 | Moderately hard | Utility-reported |
| Piedmont | 114.2 | 6.7 | Moderately hard | Utility-reported |
| Orange Beach | 11.7 | 0.7 | Soft | Utility-reported |
| Tallassee | 12.4 | 0.7 | Soft | Utility-reported |
| Grant | 71.6 | 4.2 | Moderately hard | Utility-reported |
| Roanoke | 33.5 | 2.0 | Soft | Utility-reported |
| Dadeville | 11.4 | 0.7 | Soft | County estimate |
| Millbrook | 11.1 | 0.7 | Soft | Utility-reported |
| Jackson | 97.8 | 5.7 | Moderately hard | Utility-reported |
| Vinemont | 40.0 | 2.3 | Soft | County estimate |
| Fort Rucker | 84.5 | 4.9 | Moderately hard | Utility-reported |
| Ft. Rucker | 84.5 | 4.9 | Moderately hard | Utility-reported |
| Douglas | 48.6 | 2.8 | Soft | Utility-reported |
| Robertsdale | 12.4 | 0.7 | Soft | Utility-reported |
| Spanish Fort | 31.1 | 1.8 | Soft | Utility-reported |
| Carrollton | 15.6 | 0.9 | Soft | Utility-reported |
| Livingston | 29.8 | 1.7 | Soft | Utility-reported |
| Rogersville | 41.7 | 2.4 | Soft | Utility-reported |
| Ider | 65.7 | 3.8 | Moderately hard | Utility-reported |
| Atmore | 25.0 | 1.5 | Soft | Utility-reported |
| Moulton | 87.6 | 5.1 | Moderately hard | County estimate |
| Attalla | 133.7 | 7.8 | Hard | Utility-reported |
| River Falls | 53.7 | 3.1 | Soft | Utility-reported |
| Greensboro | 27.3 | 1.6 | Soft | Utility-reported |
| Jacksonville | 120.0 | 7.0 | Moderately hard | Utility-reported |
| Elmore | 34.8 | 2.0 | Soft | Utility-reported |
| Ft Mitchell | 24.2 | 1.4 | Soft | Utility-reported |
| Clanton | 53.2 | 3.1 | Soft | Utility-reported |
| Selmont-West Selmont | 50.4 | 3.0 | Soft | Utility-reported |
| Evergreen | 67.0 | 3.9 | Moderately hard | Utility-reported |
| Satsuma | 29.9 | 1.8 | Soft | Utility-reported |
| Loachapoka | 122.0 | 7.1 | Hard | Utility-reported |
| Guntersville | 69.2 | 4.0 | Moderately hard | Utility-reported |
| Fayette | 53.2 | 3.1 | Soft | Utility-reported |
| Heflin | 24.9 | 1.5 | Soft | Utility-reported |
| Coosada | 10.7 | 0.6 | Soft | Utility-reported |
| Haleyville | 20.0 | 1.2 | Soft | County estimate |
| Ralph | 20.1 | 1.2 | Soft | Utility-reported |
| Brookwood | 134.0 | 7.8 | Hard | Utility-reported |
| Vance | 134.0 | 7.8 | Hard | Utility-reported |
| Grand Bay | 44.6 | 2.6 | Soft | Utility-reported |
| Hokes Bluff | 112.0 | 6.5 | Moderately hard | Utility-reported |
| Elberta | 8.8 | 0.5 | Soft | Utility-reported |
| Demopolis | 4.4 | 0.3 | Soft | Utility-reported |
| Hamilton | 38.2 | 2.2 | Soft | Utility-reported |
| Lincoln | 76.3 | 4.5 | Moderately hard | County estimate |
| Loxley | 24.7 | 1.4 | Soft | Utility-reported |
| Wetumpka | 30.0 | 1.8 | Soft | County estimate |
| Daleville | 43.3 | 2.5 | Soft | Utility-reported |
| Opp | 111.0 | 6.5 | Moderately hard | Utility-reported |
| Fayetteville | 128.0 | 7.5 | Hard | Utility-reported |
| Monroeville | 7.1 | 0.4 | Soft | Utility-reported |
| Vernon | 40.7 | 2.4 | Soft | Utility-reported |
| Brewton | 85.1 | 5.0 | Moderately hard | Utility-reported |
| Childersburg | 157.0 | 9.2 | Hard | Utility-reported |
| Montevallo | 263.0 | 15.4 | Very hard | Utility-reported |
| Linden | 71.5 | 4.2 | Moderately hard | County estimate |
| Taylor | 62.1 | 3.6 | Moderately hard | Utility-reported |
| Graysville | 150.0 | 8.8 | Hard | County estimate |
| Deatsville | 30.0 | 1.8 | Soft | County estimate |
| Valley Grande | 39.5 | 2.3 | Soft | Utility-reported |
| Eutaw | 13.4 | 0.8 | Soft | Utility-reported |
| Guin | 38.3 | 2.2 | Soft | Utility-reported |
| Geneva | 62.1 | 3.6 | Moderately hard | Utility-reported |
| Marbury | 36.4 | 2.1 | Soft | Utility-reported |
| Green Pond | 146.0 | 8.5 | Hard | Utility-reported |
| Winfield | 34.8 | 2.0 | Soft | Utility-reported |
| Woodstock | 146.0 | 8.5 | Hard | Utility-reported |
| Pollard | 67.4 | 3.9 | Moderately hard | Utility-reported |
| Sardis City | 20.4 | 1.2 | Soft | Utility-reported |
| Highland Home | 33.2 | 1.9 | Soft | Utility-reported |
| Lapine | 35.4 | 2.1 | Soft | County estimate |
| Ramer | 70.0 | 4.1 | Moderately hard | County estimate |
| Gilbertown | 25.6 | 1.5 | Soft | Utility-reported |
| Bayou La Batre | 46.8 | 2.7 | Soft | Utility-reported |
| Ashville | 185.0 | 10.8 | Very hard | Utility-reported |
| Wedowee | 35.7 | 2.1 | Soft | Utility-reported |
| Tallassees | 12.4 | 0.7 | Soft | Utility-reported |
| Hanceville | 141.0 | 8.3 | Hard | Utility-reported |
| Phil Campbell | 101.0 | 5.9 | Moderately hard | County estimate |
| Lanett | 30.1 | 1.8 | Soft | County estimate |
| Valley | 30.1 | 1.8 | Soft | County estimate |
| Bakerhill | 36.3 | 2.1 | Soft | Utility-reported |
| Centre | 59.0 | 3.5 | Soft | Utility-reported |
| Marion | 87.5 | 5.1 | Moderately hard | Utility-reported |
| Brent | 150.0 | 8.8 | Hard | Utility-reported |
| Wilsonville | 215.0 | 12.6 | Very hard | Utility-reported |
| Hayneville | 5.3 | 0.3 | Soft | Utility-reported |
| Weaver | 183.0 | 10.7 | Very hard | Utility-reported |
| Cropwell | 106.0 | 6.2 | Moderately hard | Utility-reported |
| Glencoe | 168.0 | 9.8 | Hard | Utility-reported |
| Eight Mile | 3.3 | 0.2 | Soft | Utility-reported |
| Locust Fork | 90.0 | 5.3 | Moderately hard | County estimate |
| Autaugaville | 7.9 | 0.5 | Soft | Utility-reported |
| Mulga | 150.0 | 8.8 | Hard | County estimate |
| Lineville | 45.3 | 2.6 | Soft | Utility-reported |
| Margaret | 70.0 | 4.1 | Moderately hard | County estimate |
| Double Springs | 20.0 | 1.2 | Soft | County estimate |
| New Hope | 103.0 | 6.0 | Moderately hard | County estimate |
| Owens Cross Roads | 103.0 | 6.0 | Moderately hard | County estimate |
| Springville | 149.0 | 8.7 | Hard | Utility-reported |
| New Brockton | 128.0 | 7.5 | Hard | Utility-reported |
| Sumiton | 84.8 | 5.0 | Moderately hard | County estimate |
| Centreville | 132.0 | 7.7 | Hard | Utility-reported |
| Snead | 73.8 | 4.3 | Moderately hard | Utility-reported |
| Parrish | 84.8 | 5.0 | Moderately hard | County estimate |
| Dauphin Island | 46.0 | 2.7 | Soft | Utility-reported |
| Headland | 173.0 | 10.1 | Hard | Utility-reported |
| Aliceville | 11.3 | 0.7 | Soft | Utility-reported |
| Bridgeport | 72.6 | 4.3 | Moderately hard | Utility-reported |
| Brantley | 126.0 | 7.4 | Hard | Utility-reported |
| Elba | 105.0 | 6.1 | Moderately hard | Utility-reported |
| Hope Hull | 3.1 | 0.2 | Soft | Utility-reported |
| Grove Hill | 9.5 | 0.6 | Soft | Utility-reported |
| Peterman | 10.1 | 0.6 | Soft | Utility-reported |
| Chatom | 70.7 | 4.1 | Moderately hard | Utility-reported |
| Joppa | 40.0 | 2.3 | Soft | County estimate |
| Oakman | 84.8 | 5.0 | Moderately hard | County estimate |
| Coker | 68.1 | 4.0 | Moderately hard | Utility-reported |
| Berry | 27.7 | 1.6 | Soft | Utility-reported |
| Riverside | 110.0 | 6.4 | Moderately hard | Utility-reported |
| Butler | 2.0 | 0.1 | Soft | Utility-reported |
| Munford | 124.0 | 7.3 | Hard | Utility-reported |
| Moundville | 31.5 | 1.8 | Soft | Utility-reported |
| Abbeville | 127.0 | 7.4 | Hard | Utility-reported |
| Hartford | 121.0 | 7.1 | Hard | Utility-reported |
| Blountsville | 127.0 | 7.4 | Hard | Utility-reported |
| Cedar Bluff | 60.0 | 3.5 | Soft | County estimate |
| West Blocton | 141.0 | 8.3 | Hard | Utility-reported |
| Samson | 94.0 | 5.5 | Moderately hard | Utility-reported |
| Dora | 150.0 | 8.8 | Hard | County estimate |
| Myrtlewood | 40.6 | 2.4 | Soft | Utility-reported |
| Mytrlewood | 40.6 | 2.4 | Soft | Utility-reported |
| Rockford | 50.0 | 2.9 | Soft | County estimate |
| Union Springs | 6.3 | 0.4 | Soft | Utility-reported |
| Cordova | 84.8 | 5.0 | Moderately hard | County estimate |
| Luverne | 24.9 | 1.5 | Soft | Utility-reported |
| Axis | 10.8 | 0.6 | Soft | Utility-reported |
| Level Plains | 94.9 | 5.5 | Moderately hard | Utility-reported |
| Ashford | 86.9 | 5.1 | Moderately hard | Utility-reported |
| Collinsville | 50.0 | 2.9 | Soft | County estimate |
| Sardis | 40.7 | 2.4 | Soft | Utility-reported |
| Brundidge | 7.0 | 0.4 | Soft | Utility-reported |
| Brundige | 7.0 | 0.4 | Soft | Utility-reported |
| Buhl | 57.1 | 3.3 | Soft | Utility-reported |
| Gordo | 6.9 | 0.4 | Soft | Utility-reported |
| Excel | 24.8 | 1.4 | Soft | Utility-reported |
| Slocomb | 40.6 | 2.4 | Soft | Utility-reported |
| Cottonwood | 139.0 | 8.1 | Hard | Utility-reported |
| Lisman | 6.5 | 0.4 | Soft | Utility-reported |
| Steele | 70.0 | 4.1 | Moderately hard | County estimate |
| Uniontown | 2.9 | 0.2 | Soft | Utility-reported |
| York | 10.6 | 0.6 | Soft | Utility-reported |
| Uriah | 7.7 | 0.5 | Soft | Utility-reported |
| Alpine | 127.0 | 7.4 | Hard | Utility-reported |
| Quinton | 84.8 | 5.0 | Moderately hard | County estimate |
| Ragland | 150.0 | 8.8 | Hard | Utility-reported |
| Reece City | 115.8 | 6.8 | Moderately hard | Utility-reported |
| Bear Creek | 12.9 | 0.8 | Soft | County estimate |
| Carbon Hill | 30.0 | 1.8 | Soft | County estimate |
| Sterrett | 80.0 | 4.7 | Moderately hard | County estimate |
| Valley Head | 138.0 | 8.1 | Hard | Utility-reported |
| Wilton | 133.0 | 7.8 | Hard | Utility-reported |
| Florala | 159.0 | 9.3 | Hard | Utility-reported |
| East Brewton | 109.0 | 6.4 | Moderately hard | Utility-reported |
| Union Grove | 60.0 | 3.5 | Soft | County estimate |
| Lexington | 59.2 | 3.5 | Soft | County estimate |
| Ashland | 21.1 | 1.2 | Soft | County estimate |
| Georgiana | 7.0 | 0.4 | Soft | Utility-reported |
| Midland City | 56.9 | 3.3 | Soft | Utility-reported |
| Fulton | 128.0 | 7.5 | Hard | Utility-reported |
| Notasulga | 34.0 | 2.0 | Soft | County estimate |
| Avon | 106.0 | 6.2 | Moderately hard | Utility-reported |
| Vincent | 111.0 | 6.5 | Moderately hard | Utility-reported |
| Coffeeville | 103.0 | 6.0 | Moderately hard | Utility-reported |
| Trinity | 87.6 | 5.1 | Moderately hard | County estimate |
| Pine Level | 1.2 | 0.1 | Soft | Utility-reported |
| Sulligent | 6.4 | 0.4 | Soft | Utility-reported |
| Remlap | 90.0 | 5.3 | Moderately hard | County estimate |
| Addison | 20.0 | 1.2 | Soft | County estimate |
| Hayden | 90.0 | 5.3 | Moderately hard | County estimate |
| Brookside | 150.0 | 8.8 | Hard | County estimate |
| Goodwater | 50.0 | 2.9 | Soft | County estimate |
| Mexia | 77.6 | 4.5 | Moderately hard | Utility-reported |
| Hackleburg | 12.9 | 0.8 | Soft | County estimate |
| Leighton | 60.5 | 3.5 | Moderately hard | Utility-reported |
| Townley | 84.8 | 5.0 | Moderately hard | County estimate |
| Flomaton | 35.5 | 2.1 | Soft | Utility-reported |
| Hodges | 10.3 | 0.6 | Soft | Utility-reported |
| Reform | 7.3 | 0.4 | Soft | Utility-reported |
| Pine Hill | 50.7 | 3.0 | Soft | County estimate |
| Dickinson | 50.0 | 2.9 | Soft | County estimate |
| Harpersville | 242.0 | 14.2 | Very hard | Utility-reported |
| Cowarts | 106.0 | 6.2 | Moderately hard | Utility-reported |
| Fort Deposit | 139.0 | 8.1 | Hard | Utility-reported |
| Newton | 109.0 | 6.4 | Moderately hard | Utility-reported |
| Millry | 7.6 | 0.4 | Soft | County estimate |
| Kinston | 99.0 | 5.8 | Moderately hard | Utility-reported |
| Frisco City | 38.8 | 2.3 | Soft | Utility-reported |
| Nauvoo | 84.8 | 5.0 | Moderately hard | County estimate |
| Clayton | 34.2 | 2.0 | Soft | Utility-reported |
| Kinsey | 130.0 | 7.6 | Hard | Utility-reported |
| Mosses | 39.1 | 2.3 | Soft | Utility-reported |
| Crossville | 73.3 | 4.3 | Moderately hard | Utility-reported |
| Cherokee | 86.0 | 5.0 | Moderately hard | County estimate |
| Ranburne | 15.6 | 0.9 | Soft | County estimate |
| Kellyton | 50.0 | 2.9 | Soft | County estimate |
| Pennington | 2.7 | 0.2 | Soft | Utility-reported |
| Lynn | 20.0 | 1.2 | Soft | County estimate |
| Mount Vernon | 32.5 | 1.9 | Soft | Utility-reported |
| Mt. Vernon | 32.5 | 1.9 | Soft | Utility-reported |
| Summerdale | 27.3 | 1.6 | Soft | Utility-reported |
| Webb | 129.0 | 7.5 | Hard | Utility-reported |
| Fruitdale | 7.6 | 0.4 | Soft | County estimate |
| Leroy | 16.6 | 1.0 | Soft | Utility-reported |
| Midway | 4.3 | 0.3 | Soft | Utility-reported |
| Malvern | 109.0 | 6.4 | Moderately hard | Utility-reported |
| Eldridge | 4.7 | 0.3 | Soft | Utility-reported |
| Ohatchee | 90.0 | 5.3 | Moderately hard | County estimate |
| Brilliant | 46.3 | 2.7 | Soft | Utility-reported |
| Silverhill | 14.5 | 0.8 | Soft | Utility-reported |
| Town Creek | 87.6 | 5.1 | Moderately hard | County estimate |
| Millerville | 21.1 | 1.2 | Soft | County estimate |
| Tibbie | 7.6 | 0.4 | Soft | County estimate |
| Camp Hill | 11.4 | 0.7 | Soft | County estimate |
| Glen Allen | 8.2 | 0.5 | Soft | Utility-reported |
| Ardmore | 67.5 | 4.0 | Moderately hard | County estimate |
| Auturgaville | 5.6 | 0.3 | Soft | Utility-reported |
| Billingsley | 54.6 | 3.2 | Soft | Utility-reported |
| Woodland | 15.0 | 0.9 | Soft | Computed from Ca+Mg |
| Falkville | 80.0 | 4.7 | Moderately hard | County estimate |
| Millport | 13.4 | 0.8 | Soft | Utility-reported |
| Louisville | 20.0 | 1.2 | Soft | County estimate |
| Pisgah | 54.6 | 3.2 | Soft | Utility-reported |
| Pinckard | 8.2 | 0.5 | Soft | Utility-reported |
| Vina | 101.0 | 5.9 | Moderately hard | County estimate |
| Jack | 181.0 | 10.6 | Very hard | Utility-reported |
| Hollins | 21.1 | 1.2 | Soft | County estimate |
| Banks | 0.5 | 0.0 | Soft | Computed from Ca+Mg |
| Ariton | 172.0 | 10.1 | Hard | Utility-reported |
| Walnut Grove | 96.9 | 5.7 | Moderately hard | Utility-reported |
| White Hall | 8.3 | 0.5 | Soft | Utility-reported |
| Hurtsboro | 30.0 | 1.8 | Soft | County estimate |
| Columbia | 19.4 | 1.1 | Soft | County estimate |
| McKenzie | 39.9 | 2.3 | Soft | Utility-reported |
| Wadley | 20.0 | 1.2 | Soft | County estimate |
| Altoona | 118.0 | 6.9 | Moderately hard | Utility-reported |
| Gurley | 103.0 | 6.0 | Moderately hard | County estimate |
| Forkland | 2.9 | 0.2 | Soft | Utility-reported |
| Maplesville | 50.0 | 2.9 | Soft | County estimate |
| Randolph | 69.3 | 4.0 | Moderately hard | County estimate |
| Lowndesboro | 7.9 | 0.5 | Soft | Utility-reported |
| Castleberry | 116.0 | 6.8 | Moderately hard | Utility-reported |
| Thomaston | 14.2 | 0.8 | Soft | Utility-reported |
| Frankville | 1.9 | 0.1 | Soft | Utility-reported |
| Newville | 193.0 | 11.3 | Very hard | Utility-reported |
| Riverview | 74.5 | 4.4 | Moderately hard | Utility-reported |
| Rutledge | 81.6 | 4.8 | Moderately hard | Utility-reported |
| Belk | 30.0 | 1.8 | Soft | County estimate |
| Red Level | 65.9 | 3.9 | Moderately hard | Utility-reported |
| Allgood | 106.8 | 6.3 | Moderately hard | Computed from Ca+Mg |
| Gantt | 22.9 | 1.3 | Soft | County estimate |
| Garden City | 40.0 | 2.3 | Soft | County estimate |
| St. Stephens | 95.6 | 5.6 | Moderately hard | Utility-reported |
| Kennedy | 48.0 | 2.8 | Soft | Utility-reported |
| Lockhart | 127.0 | 7.4 | Hard | Utility-reported |
| Daviston | 11.4 | 0.7 | Soft | County estimate |
| Clio | 20.0 | 1.2 | Soft | County estimate |
| Dozier | 166.0 | 9.7 | Hard | Utility-reported |
| Beatrice | 10.2 | 0.6 | Soft | Utility-reported |
| Cuba | 54.3 | 3.2 | Soft | County estimate |
| Shorterville | 19.4 | 1.1 | Soft | County estimate |
| Akron | 49.0 | 2.9 | Soft | County estimate |
| Goshen | 83.2 | 4.9 | Moderately hard | Utility-reported |
| Repton | 123.0 | 7.2 | Hard | Utility-reported |
| Detroit | 5.3 | 0.3 | Soft | Utility-reported |
| Orrville | 4.3 | 0.3 | Soft | Utility-reported |
| Orville | 4.3 | 0.3 | Soft | Utility-reported |
| Faunsdale | 1.4 | 0.1 | Soft | Utility-reported |
| Gordon | 154.0 | 9.0 | Hard | Utility-reported |
| Black | 107.0 | 6.3 | Moderately hard | Utility-reported |
| Kansas | 84.8 | 5.0 | Moderately hard | County estimate |
| Tanner | 71.4 | 4.2 | Moderately hard | Utility-reported |
| Glenwood | 20.0 | 1.2 | Soft | County estimate |
| Franklin | 45.5 | 2.7 | Soft | County estimate |
Above 120 mg/L (7 gpg), scale is usually worth treating — see our water softener guide, or size a system with the hardness calculator & converter.
The Geology Behind Alabama's Water Hardness
Alabama sits in the Southeastern Coastal Plain and Piedmont region.
Much of the Southeast draws its water from sandy Coastal Plain aquifers and from rivers draining crystalline Piedmont rock - neither contributes much dissolved calcium or magnesium. As a result the USGS maps most of the region as soft to moderately hard. Hardness climbs where supplies tap deeper limestone units near the Gulf and Atlantic coasts.
Alabama Water Hardness FAQ
Does Alabama have hard water?
On the whole, no — Alabama's statewide median sits below the hard threshold, though some cities run harder. The median is 65.7 mg/L (3.8 gpg) — moderately hard on the USGS scale, where anything above 120 mg/L (7 gpg) counts as hard. 57 of Alabama's 299 measured cities fall in the hard or very hard bands (19%), so check your own city rather than the state average.
How hard is tap water in Alabama?
Across the 299 Alabama cities with measured values in our index, the median hardness is 65.7 mg/L (3.8 gpg) — moderately hard on the USGS scale. Individual cities range from 0.5 to 263.0 mg/L, so check your own city rather than assuming the state number.
Which city in Alabama has the hardest water?
Montevallo has the hardest measured tap water in our Alabama index at 263.0 mg/L (15.4 gpg) — very hard on the USGS scale. Rankings use measured utility values only; labeled county estimates and values under active dispute are excluded.
Do I need a water softener in Alabama?
57 of Alabama's 299 measured cities (19%) fall in the hard or very hard bands — above 120 mg/L (7 gpg), the level where most water treatment professionals suggest considering an ion-exchange softener. Hardness varies utility to utility, so look up your own city's value before sizing equipment.
How do I find my city's exact water hardness?
Enter your ZIP code in our free lookup at tapwaterdata.com/zip to see the value we hold for your Alabama city from utility-reported water quality data, check your water utility's annual Consumer Confidence Report (CCR), or use a home test-strip kit.
Stay Informed About Your Water Quality
Get EPA reports, filter recommendations, and safety alerts for your area.
Join 10,000+ people protecting their families. Unsubscribe anytime.