Alabama Water Quality Report
353 cities tested · Average grade: B+ · 6.1M people served
Live Water Alerts for Alabama →Latest water news in Alabama
Recent reporting on Alabama drinking water — boil-water advisories, regulatory action, and infrastructure events.
Alabama water quality overview
Alabama's drinking water quality is good overall, with an average score of 83.2 out of 100 across 353 cities tested. The median score is 86.7, serving a total population of 6,124,077 residents. 88% of cities earned an A or B grade, indicating broadly strong water quality infrastructure across the state. PFAS "forever chemicals" were detected in 126 of 353 cities tested (36%). 62 cities exceed the 2024 EPA maximum contaminant levels. 2 cities have lead levels exceeding the EPA action level of 15 ppb, often indicating aging infrastructure with lead service lines or lead solder. The state relies on a mix of water sources: 196 cities use groundwater while 156 draw from surface water such as rivers, lakes, and reservoirs.
Issues to watch in Alabama
Explore contaminants in Alabama
More contaminants tested in Alabama
Private-well water in Alabama
Based on USGS Powell Domestic-Well Database — 252 private wells sampled across Alabama. These wells are not regulated by the EPA; if you draw your tap from a private well, the public-system grade above does not apply to you.
Top industrial water polluters in Alabama
Industrial polluters nearby
The 10 facilities reporting the most pounds released to surface water in Alabama, 2023.
Total reported releases to surface water: 8,551,923 lbs
| Facility | Top chemical | To surface water (lbs/yr) |
|---|---|---|
KOCH FOODS OF GADSDEN GADSDEN, AL35903 | Nitrate compounds (water dissociable; reportable only when in aqueous solution) | 1,393,343 |
GEORGIA-PACIFIC NAHEOLA LLC PENNINGTON, AL36916 | Nitrate compounds (water dissociable; reportable only when in aqueous solution) | 1,256,033 |
PILGRIM'S PRIDE ENTERPRISE PROCESSING PLANT ENTERPRISE, AL36330 | Nitrate compounds (water dissociable; reportable only when in aqueous solution) | 998,013 |
TYSON FARMS INC. - BLOUNTSVILLE PROCESSING PLANT BLOUNTSVILLE, AL35031 | Nitrate compounds (water dissociable; reportable only when in aqueous solution) | 871,017 |
WAYNE-SANDERSON FARMS LLC - ENTERPRISE FRESH PLANT JACK, AL36346 | Nitrate compounds (water dissociable; reportable only when in aqueous solution) | 851,316 |
+ 5 more facilities
Source: EPA Toxic Release Inventory (TRI) 2023
How Alabama cities scored
Best Cities
Worst Cities
Water quality across Alabama
Each dot is a city, colored by its water quality grade. Size reflects population served. Click any city to view its full water report.
353 cities in Alabama
| # | City | Grade | Score | Population | Violations |
|---|---|---|---|---|---|
| 1 | Buhl | A+ | 99.9 | 4K | 1 |
| 2 | Fayette | A+ | 98.9 | 13K | 1 |
| 3 | Brent | A+ | 98.6 | 7K | 4 |
| 4 | Tallapoosa County | A+ | 98.6 | 6K | 3 |
| 5 | Loxley | A+ | 97.9 | 10K | 2 |
| 6 | Anniston | A+ | 97.6 | 57K | 1 |
| 7 | Hokes Bluff | A+ | 97.5 | 6K | 1 |
| 8 | Ashland | A+ | 97.3 | 3K | 17 |
| 9 | Graysville | A+ | 97.2 | 9K | 5 |
| 10 | Randolph | A+ | 97 | 1K | 0 |
| 11 | Maplesville | A+ | 96.9 | 1K | 3 |
| 12 | Arab | A+ | 96.8 | 35K | 2 |
| 13 | Alexandria | A+ | 96.8 | 33K | 24 |
| 14 | Valley Head | A+ | 96.7 | 3K | 3 |
| 15 | Ft. Rucker | A+ | 96.6 | 17K | 10 |
| 16 | Glencoe | A+ | 96 | 6K | 26 |
| 17 | Gordo | A+ | 96 | 4K | 6 |
| 18 | Trinity | A+ | 95.9 | 3K | 2 |
| 19 | Newsite | A+ | 95.9 | 2K | 1 |
| 20 | Jemison | A+ | 95.8 | 4K | 32 |
| 21 | Ft Mitchell | A+ | 95.7 | 14K | 29 |
| 22 | Centreville | A+ | 95.7 | 6K | 25 |
| 23 | Brookside | A+ | 95.7 | 3K | 3 |
| 24 | Notasulga | A+ | 95.5 | 3K | 10 |
| 25 | West Blocton | A+ | 95 | 5K | 7 |
| 26 | Samson | A | 94.8 | 4K | 3 |
| 27 | Harpersville | A | 94.7 | 3K | 6 |
| 28 | Allgood | A | 94.7 | 861 | 5 |
| 29 | Berry | A | 94.5 | 5K | 22 |
| 30 | Banks | A | 94.4 | 1K | 8 |
| 31 | Riverside | A | 94.3 | 5K | 36 |
| 32 | Ohatchee | A | 94.3 | 2K | 5 |
| 33 | Brookwood | A | 94.2 | 15K | 9 |
| 34 | Fayetteville | A | 94.1 | 6K | 3 |
| 35 | Gulf Shores | A | 94 | 37K | 3 |
| 36 | Roanoke | A | 93.9 | 18K | 23 |
| 37 | Cuba | A | 93.9 | 570 | 8 |
| 38 | Oakman | A | 93.8 | 5K | 18 |
| 39 | Munford | A | 93.8 | 4K | 39 |
| 40 | Addison | A | 93.7 | 3K | 45 |
| 41 | Wilton | A | 93.6 | 3K | 23 |
| 42 | Silverhill | A | 93.6 | 2K | 62 |
| 43 | Elberta | A | 93.3 | 13K | 9 |
| 44 | Parrish | A | 93.2 | 6K | 4 |
| 45 | Lapine | A | 93.2 | 2K | 11 |
| 46 | Eldridge | A | 93.1 | 2K | 29 |
| 47 | Hartselle | A | 93 | 22K | 21 |
| 48 | Monroeville | A | 93 | 10K | 3 |
| 49 | Geneva | A | 93 | 10K | 9 |
| 50 | Tibbie | A | 93 | 2K | 5 |
| 51 | Carbon Hill | A | 92.9 | 3K | 13 |
| 52 | Nauvoo | A | 92.9 | 2K | 7 |
| 53 | Piedmont | A | 92.8 | 25K | 34 |
| 54 | Sardis | A | 92.5 | 7K | 10 |
| 55 | Locust Fork | A | 92.5 | 6K | 5 |
| 56 | Mcintosh | A | 92.5 | 3K | 26 |
| 57 | Somerville | A | 92.4 | 26K | 7 |
| 58 | Dennis | A | 92.4 | 3K | 67 |
| 59 | Florala | A | 92.3 | 4K | 48 |
| 60 | Akron | A | 92.3 | 513 | 30 |
| 61 | Crossville | A | 92.1 | 2K | 48 |
| 62 | Oneonta | A | 92 | 20K | 10 |
| 63 | New Hope | A | 91.9 | 6K | 4 |
| 64 | Walnut Grove | A | 91.9 | 1K | 59 |
| 65 | Ashville | A | 91.7 | 8K | 34 |
| 66 | Deer Park | A | 91.7 | 1K | 4 |
| 67 | Altoona | A | 91.6 | 1K | 4 |
| 68 | Garden City | A | 91.6 | 780 | 8 |
| 69 | Lockhart | A | 91.6 | 720 | 3 |
| 70 | Townley | A | 91.5 | 2K | 4 |
| 71 | Millport | A | 91.5 | 1K | 29 |
| 72 | Cedar Bluff | A | 91.4 | 5K | 5 |
| 73 | Billingsley | A | 91.4 | 1K | 4 |
| 74 | Rainbow City | A | 91.3 | 12K | 5 |
| 75 | Moundville | A | 91.3 | 4K | 8 |
| 76 | Ralph | A | 91.2 | 6K | 2 |
| 77 | Myrtlewood | A | 91.2 | 4K | 3 |
| 78 | Snowdoun | A | 91.2 | 3K | 2 |
| 79 | Phil Campbell | A | 91.1 | 7K | 2 |
| 80 | Pinckard | A | 91.1 | 1K | 3 |
| 81 | Highland Home | A | 91 | 8K | 2 |
| 82 | Sycamore | A | 91 | 2K | 11 |
| 83 | Rutledge | A | 91 | 789 | 31 |
| 84 | Rockford | A | 90.9 | 4K | 42 |
| 85 | Thorsby | A | 90.8 | 31K | 24 |
| 86 | Vernon | A | 90.8 | 10K | 9 |
| 87 | Bakerhill | A | 90.8 | 7K | 28 |
| 88 | Huguley | A | 90.8 | 7K | 7 |
| 89 | Sumiton | A | 90.8 | 6K | 7 |
| 90 | Uniontown | A | 90.7 | 3K | 42 |
| 91 | Dauphin Island | A | 90.6 | 6K | 108 |
| 92 | Pisgah | A | 90.6 | 1K | 4 |
| 93 | Thomaston | A | 90.6 | 960 | 9 |
| 94 | Fort Deposit | A | 90.5 | 2K | 4 |
| 95 | Ramer | A | 90.5 | 2K | 74 |
| 96 | Hope Hull | A | 90.4 | 5K | 15 |
| 97 | Jack | A | 90.4 | 1K | 10 |
| 98 | Helena | A | 90.3 | 21K | 22 |
| 99 | Vinemont | A | 90.2 | 17K | 4 |
| 100 | Union Springs | A | 90.2 | 13K | 21 |
| 101 | Calera | A | 90.1 | 27K | 26 |
| 102 | Moulton | A | 90 | 9K | 6 |
| 103 | Snead | A- | 90 | 6K | 12 |
| 104 | Millry | A | 90 | 2K | 44 |
| 105 | Blountsville | A- | 89.9 | 4K | 8 |
| 106 | Opp | A- | 89.8 | 10K | 9 |
| 107 | Pennington | A- | 89.8 | 2K | 23 |
| 108 | Trussville | A- | 89.7 | 36K | 4 |
| 109 | Cropwell | A- | 89.7 | 7K | 1 |
| 110 | Cherokee | A- | 89.7 | 2K | 21 |
| 111 | St. Stephens | A- | 89.7 | 735 | 2 |
| 112 | Friendship | A- | 89.6 | 4K | 38 |
| 113 | Lowndesboro | A- | 89.6 | 1K | 8 |
| 114 | Jacksonville | A- | 89.5 | 14K | 123 |
| 115 | Headland | A- | 89.5 | 6K | 4 |
| 116 | Millerville | A- | 89.5 | 2K | 24 |
| 117 | Hobson City | A- | 89.4 | 633 | 22 |
| 118 | Owens Cross Roads | A- | 89.3 | 12K | 11 |
| 119 | Union Grove | A- | 89.3 | 3K | 28 |
| 120 | Pine Level | A- | 89.3 | 3K | 11 |
| 121 | Summerdale | A- | 89.3 | 2K | 5 |
| 122 | Birmingham | A- | 89.2 | 585K | 12 |
| 123 | Town Creek | A- | 89.2 | 2K | 5 |
| 124 | Goodsprings | A- | 89.2 | 1K | 17 |
| 125 | Wattsville | A- | 89.1 | 5K | 8 |
| 126 | Cowarts | A- | 89.1 | 2K | 2 |
| 127 | Sylacauga | A- | 89 | 29K | 55 |
| 128 | Gurley | A- | 88.9 | 1K | 12 |
| 129 | Marbury | A- | 88.8 | 9K | 7 |
| 130 | Dora | A- | 88.8 | 4K | 29 |
| 131 | Leroy | A- | 88.8 | 2K | 5 |
| 132 | Millers Ferry | A- | 88.8 | 2K | 12 |
| 133 | Montgomery | A- | 88.7 | 280K | 51 |
| 134 | Pelham | A- | 88.7 | 40K | 15 |
| 135 | Cordova | A- | 88.7 | 4K | 1 |
| 136 | Bear Creek | A- | 88.7 | 3K | 2 |
| 137 | Winfield | A- | 88.6 | 9K | 14 |
| 138 | Douglas | A- | 88.5 | 17K | 49 |
| 139 | Hanceville | A- | 88.5 | 7K | 8 |
| 140 | Coker | A- | 88.5 | 5K | 2 |
| 141 | Lincoln | A- | 88.4 | 14K | 95 |
| 142 | Sulligent | A- | 88.4 | 3K | 18 |
| 143 | Wedowee | A- | 88.3 | 8K | 63 |
| 144 | Coaling | A- | 88.3 | 4K | 3 |
| 145 | Hollins | A- | 88.2 | 1K | 30 |
| 146 | Leeds | A- | 88.1 | 21K | 68 |
| 147 | Auburn | A- | 88 | 65K | 68 |
| 148 | York | A- | 88 | 3K | 67 |
| 149 | Hayden | A- | 88 | 3K | 20 |
| 150 | Kennedy | A- | 88 | 723 | 1 |
| 151 | Mobile | A- | 87.9 | 279K | 49 |
| 152 | Wilsonville | A- | 87.9 | 7K | 5 |
| 153 | White Hall | A- | 87.9 | 1K | 29 |
| 154 | Frankville | A- | 87.9 | 945 | 11 |
| 155 | Eufaula | A- | 87.8 | 20K | 74 |
| 156 | Red Level | A- | 87.8 | 846 | 23 |
| 157 | Wetumpka | A- | 87.7 | 50K | 28 |
| 158 | Elmore | A- | 87.7 | 14K | 6 |
| 159 | Lynn | A- | 87.7 | 2K | 8 |
| 160 | Falkville | A- | 87.7 | 1K | 13 |
| 161 | Castleberry | A- | 87.7 | 1K | 75 |
| 162 | Tuscaloosa | A- | 87.6 | 182K | 17 |
| 163 | Hodges | A- | 87.5 | 2K | 3 |
| 164 | Loachapoka | A- | 87.4 | 14K | 27 |
| 165 | Arley - 3600 | A- | 87.4 | 9K | 5 |
| 166 | River Falls | A- | 87.4 | 1K | 38 |
| 167 | St Elmo | A- | 87.3 | 10K | 74 |
| 168 | Springville | A- | 87.2 | 6K | 7 |
| 169 | Grant | A- | 87 | 18K | 9 |
| 170 | Livingston | A- | 87 | 16K | 16 |
| 171 | Alabaster | A- | 86.9 | 41K | 54 |
| 172 | Tallassee | A- | 86.9 | 8K | 11 |
| 173 | Ranburne | A- | 86.9 | 2K | 15 |
| 174 | Hamilton | A- | 86.8 | 11K | 18 |
| 175 | Childersburg | A- | 86.8 | 10K | 24 |
| 176 | Taylor | A- | 86.7 | 9K | 5 |
| 177 | Remlap | A- | 86.7 | 3K | 13 |
| 178 | Beatrice | A- | 86.7 | 1K | 13 |
| 179 | Haleyville | A- | 86.6 | 12K | 17 |
| 180 | Montevallo | A- | 86.6 | 10K | 28 |
| 181 | Ragland | A- | 86.6 | 3K | 2 |
| 182 | Gantt | A- | 86.6 | 801 | 3 |
| 183 | Edwardsville | A- | 86.6 | 585 | 17 |
| 184 | Clanton | A- | 86.5 | 14K | 35 |
| 185 | Lineville | A- | 86.5 | 6K | 32 |
| 186 | Muscle Shoals | A- | 86.2 | 22K | 21 |
| 187 | Ashford | A- | 86.2 | 4K | 79 |
| 188 | Collinsville | A- | 86.2 | 4K | 6 |
| 189 | Double Springs | A- | 86.1 | 6K | 36 |
| 190 | Camp Hill | A- | 86.1 | 2K | 24 |
| 191 | Linden | A- | 85.9 | 10K | 17 |
| 192 | Daviston | A- | 85.9 | 693 | 13 |
| 193 | Northport | A- | 85.8 | 57K | 8 |
| 194 | Joppa | A- | 85.8 | 5K | 3 |
| 195 | Lafayette | A- | 85.8 | 4K | 54 |
| 196 | Jackson | A- | 85.7 | 17K | 29 |
| 197 | Napier Field | A- | 85.7 | 2K | 4 |
| 198 | Forkland | A- | 85.7 | 1K | 76 |
| 199 | Margaret | A- | 85.5 | 6K | 3 |
| 200 | Bridgeport | A- | 85.5 | 6K | 37 |
| 201 | Belk | A- | 85.5 | 894 | 3 |
| 202 | Malvern | A- | 85.1 | 2K | 25 |
| 203 | Axis | B+ | 84.9 | 4K | 127 |
| 204 | Southside | B+ | 84.8 | 12K | 24 |
| 205 | Eclectic | B+ | 84.8 | 5K | 24 |
| 206 | Quinton | B+ | 84.8 | 3K | 3 |
| 207 | Wake Forest | B+ | 84.8 | 512 | 4 |
| 208 | Mt Hope | B+ | 84.7 | 16K | 8 |
| 209 | Vina | B+ | 84.7 | 1K | 2 |
| 210 | Repton | B+ | 84.6 | 510 | 87 |
| 211 | Decatur | B+ | 84.5 | 107K | 20 |
| 212 | Odenville | B+ | 84.5 | 26K | 55 |
| 213 | Irondale | B+ | 84.4 | 10K | 23 |
| 214 | Webb | B+ | 84.4 | 2K | 27 |
| 215 | Hurtsboro | B+ | 84.4 | 1K | 28 |
| 216 | Marion | B+ | 84.3 | 7K | 101 |
| 217 | Guntersville | B+ | 84.2 | 13K | 6 |
| 218 | Bayou La Batre | B+ | 84 | 8K | 69 |
| 219 | Madison | B+ | 83.9 | 54K | 66 |
| 220 | Jacksons Gap | B+ | 83.7 | 7K | 18 |
| 221 | Oxford | B+ | 83.5 | 30K | 6 |
| 222 | Woodland | B+ | 83.5 | 2K | 71 |
| 223 | Wadley | B+ | 83.5 | 1K | 16 |
| 224 | Boaz | B+ | 83.2 | 20K | 12 |
| 225 | Sterrett | B+ | 83 | 3K | 10 |
| 226 | Pine Hill | B+ | 83 | 2K | 4 |
| 227 | Glen Allen | B+ | 83 | 2K | 14 |
| 228 | Demopolis | B+ | 82.7 | 11K | 65 |
| 229 | Hackleburg | B+ | 82.6 | 3K | 8 |
| 230 | Reform | B+ | 82.6 | 2K | 62 |
| 231 | Weaver | B+ | 82.3 | 7K | 25 |
| 232 | Georgiana | B+ | 82.3 | 3K | 21 |
| 233 | Newville | B+ | 82.1 | 900 | 8 |
| 234 | Huxford | B+ | 81.9 | 2K | 10 |
| 235 | Hayneville | B+ | 81.8 | 8K | 78 |
| 236 | Goshen | B+ | 81.8 | 546 | 35 |
| 237 | Red Bay | B+ | 81.6 | 6K | 102 |
| 238 | Brundidge | B+ | 81.6 | 4K | 55 |
| 239 | Fulton | B+ | 81.6 | 3K | 21 |
| 240 | Newton | B+ | 81.6 | 2K | 7 |
| 241 | Frisco City | B+ | 81.6 | 2K | 164 |
| 242 | Grand Bay | B+ | 81.5 | 11K | 16 |
| 243 | Alpine | B+ | 81.5 | 4K | 30 |
| 244 | Jasper | B+ | 81.3 | 52K | 22 |
| 245 | Alexander City | B+ | 81.2 | 32K | 61 |
| 246 | Russellville | B+ | 81.2 | 25K | 7 |
| 247 | Pell City | B+ | 81 | 22K | 30 |
| 248 | Mckenzie | B+ | 81 | 1K | 6 |
| 249 | Butler | B+ | 80.8 | 5K | 14 |
| 250 | Goodwater | B+ | 80.8 | 3K | 48 |
| 251 | Rogersville | B+ | 80.6 | 16K | 9 |
| 252 | Autaugaville | B+ | 80.4 | 7K | 144 |
| 253 | Kellyton | B+ | 80.4 | 2K | 3 |
| 254 | Sheffield | B+ | 80.3 | 14K | 4 |
| 255 | Cullman | B+ | 80.2 | 108K | 59 |
| 256 | Smiths | B+ | 80.2 | 32K | 16 |
| 257 | Brantley | B+ | 80.2 | 8K | 53 |
| 258 | Lanett | B+ | 80.2 | 7K | 55 |
| 259 | Vincent | B+ | 80.2 | 3K | 39 |
| 260 | Rainsville | B | 80 | 35K | 19 |
| 261 | Redstone Arsenal | B | 79.9 | 44K | 109 |
| 262 | Centre | B | 79.9 | 7K | 19 |
| 263 | Opelika | B | 79.7 | 58K | 36 |
| 264 | Triana | B | 79.3 | 7K | 47 |
| 265 | Luverne | B | 79.1 | 4K | 21 |
| 266 | Troy | B | 79 | 36K | 122 |
| 267 | Mulga | B | 78.9 | 6K | 6 |
| 268 | Albertville | B | 78.8 | 33K | 27 |
| 269 | Slocomb | B | 78.6 | 4K | 49 |
| 270 | Stevenson | B | 78.4 | 4K | 44 |
| 271 | Deatsville | B | 78.2 | 13K | 15 |
| 272 | Eutaw | B | 78.2 | 9K | 50 |
| 273 | Grove Hill | B | 78.2 | 5K | 91 |
| 274 | Fairhope | B | 78 | 59K | 145 |
| 275 | Foley | B | 78 | 51K | 36 |
| 276 | Cleveland | B | 77.9 | 26K | 186 |
| 277 | Steele | B | 77.9 | 3K | 21 |
| 278 | Athens | B | 77.7 | 106K | 72 |
| 279 | Clio | B | 77.7 | 3K | 30 |
| 280 | Brilliant | B | 77.6 | 2K | 6 |
| 281 | Valley | B | 77.5 | 28K | 25 |
| 282 | Daleville | B | 77.5 | 14K | 34 |
| 283 | Columbiana | B | 77.3 | 53K | 63 |
| 284 | Lexington | B | 77.3 | 3K | 31 |
| 285 | Enterprise | B | 77 | 48K | 146 |
| 286 | Attalla | B | 77 | 18K | 95 |
| 287 | Ariton | B | 77 | 1K | 13 |
| 288 | Ozark | B | 76.6 | 28K | 88 |
| 289 | Camden | B | 76.5 | 10K | 46 |
| 290 | Excel | B | 76.5 | 4K | 88 |
| 291 | Dadeville | B | 76.2 | 17K | 56 |
| 292 | Mt. Vernon | B | 76 | 2K | 98 |
| 293 | Dothan | B | 75.9 | 104K | 146 |
| 294 | East Brewton | B | 75.5 | 4K | 216 |
| 295 | Eight Mile | B | 75.4 | 6K | 35 |
| 296 | Leighton | B | 75 | 2K | 41 |
| 297 | Carrollton | B- | 74.9 | 16K | 65 |
| 298 | Coffeeville | B- | 74.6 | 3K | 10 |
| 299 | Flomaton | B- | 74 | 2K | 75 |
| 300 | Kinston | B- | 74 | 2K | 58 |
| 301 | Mexia | B- | 73.7 | 3K | 34 |
| 302 | Evergreen | B- | 73 | 13K | 188 |
| 303 | Midland City | B- | 72.8 | 3K | 25 |
| 304 | Aliceville | B- | 72.7 | 6K | 52 |
| 305 | Clayton | B- | 72.7 | 4K | 60 |
| 306 | Bessemer | B- | 72.5 | 125K | 17 |
| 307 | Atmore | B- | 72 | 21K | 61 |
| 308 | Millbrook | B- | 71.4 | 17K | 58 |
| 309 | Thomasville | B- | 70.7 | 8K | 46 |
| 310 | Midway | C+ | 69.9 | 2K | 34 |
| 311 | Huntsville | C+ | 69.8 | 381K | 31 |
| 312 | Fort Payne | C+ | 69.2 | 72K | 136 |
| 313 | Scottsboro | C+ | 69 | 36K | 18 |
| 314 | Phenix City | C+ | 68.5 | 59K | 105 |
| 315 | New Brockton | C+ | 68.5 | 10K | 87 |
| 316 | Prichard | C+ | 68.2 | 29K | 50 |
| 317 | Gadsden | C+ | 67.9 | 57K | 108 |
| 318 | Greenville | C+ | 67.7 | 23K | 49 |
| 319 | Elba | C+ | 67.5 | 5K | 35 |
| 320 | Satsuma | C+ | 66.4 | 7K | 70 |
| 321 | Chatom | C+ | 66.3 | 7K | 106 |
| 322 | Spanish Fort | C+ | 66 | 10K | 77 |
| 323 | Cottonwood | C+ | 65.8 | 4K | 62 |
| 324 | Uriah | C+ | 65.7 | 3K | 133 |
| 325 | Andalusia | C+ | 65.5 | 29K | 75 |
| 326 | Columbia | C+ | 65.2 | 1K | 88 |
| 327 | Peterman | C | 64.2 | 5K | 65 |
| 328 | Talladega | C | 64 | 26K | 95 |
| 329 | Theodore | C | 63.1 | 40K | 141 |
| 330 | Orange Beach | C- | 57.2 | 18K | 122 |
| 331 | Saraland | C- | 57 | 20K | 59 |
| 332 | Hartford | C- | 55.9 | 4K | 103 |
| 333 | Guin | C- | 55.5 | 9K | 114 |
| 334 | Green Pond | C- | 55 | 9K | 55 |
| 335 | Ider | D+ | 53.4 | 16K | 45 |
| 336 | Tuscumbia | D+ | 53.3 | 37K | 99 |
| 337 | Abbeville | D+ | 53 | 16K | 360 |
| 338 | Lisman | D+ | 52.1 | 3K | 83 |
| 339 | Louisville | D+ | 52 | 1K | 77 |
| 340 | Selma | D+ | 51.3 | 35K | 97 |
| 341 | Robertsdale | D+ | 51 | 19K | 403 |
| 342 | Heflin | D+ | 51 | 13K | 75 |
| 343 | Gilbertown | D+ | 50.8 | 8K | 44 |
| 344 | Raleigh | D+ | 50 | 1K | 124 |
| 345 | Bay Minette | D | 49.8 | 29K | 221 |
| 346 | Dickinson | D | 49 | 2K | 139 |
| 347 | Citronelle | D | 48.9 | 39K | 120 |
| 348 | Daphne | D | 46.6 | 52K | 249 |
| 349 | Brewton | D | 45.8 | 20K | 109 |
| 350 | Florence | D | 45.3 | 107K | 77 |
| 351 | Greensboro | D | 45.2 | 14K | 410 |
| 352 | Prattville | F | 42.2 | 54K | 174 |
| 353 | Tuskegee | F | 38.4 | 22K | 171 |
Browse Alabama counties
Browse Alabama by ZIP code
Look up water quality by ZIP code to find the systems serving your area.
View all Alabama ZIP codes →Frequently asked questions about Alabama's water
Is Alabama's tap water safe to drink?
Alabama's water quality varies by city. The statewide average grade is B+ (83.2/100). 88% of cities scored an A or B, while 5% received a D or F. Check your specific city for detailed results.
Which Alabama cities have the best water quality?
The top-rated cities are Buhl (A+), Fayette (A+), Brent (A+). These cities scored highest based on violation history, lead levels, PFAS contamination, and regulatory compliance.
Which Alabama cities have the worst water quality?
The lowest-rated cities are Tuskegee (F), Prattville (F), Greensboro (D). We recommend residents in these areas consider water filtration and review their city's specific contaminant data.
How many Alabama cities have PFAS in their water?
126 out of 353 cities tested positive for PFAS "forever chemicals" (36%). 62 cities exceed the 2024 EPA maximum contaminant levels. Reverse osmosis or activated carbon filters can help reduce PFAS exposure.
Do any Alabama cities have dangerous lead levels?
2 cities exceed the EPA lead action level of 15 ppb. Lead contamination typically comes from aging pipes and lead service lines rather than the water source itself. An NSF 53-certified filter can effectively remove lead from tap water.