Alabama Water Quality Rankings
351 cities ranked · Data from EPA SDWIS
Alabama water quality overview
Alabama's drinking water quality is good overall, with a state average score of 83.3 out of 100 — 8.8 points above the national average of 74.5. The median city score is 86.7, reflecting how water quality is distributed across the state's 351 ranked cities. 88% of Alabama cities earned an A or B grade, indicating broadly strong water quality infrastructure. Only 2 cities received a failing grade. PFAS "forever chemicals" were detected in 126 of 351 cities (36%). Of those, 62 cities exceed the 2024 EPA maximum contaminant levels — a health concern requiring action. 2 cities have lead levels exceeding the EPA action level of 15 ppb, typically a sign of aging lead service lines or lead solder in older plumbing. Residents in these areas should use an NSF 53-certified filter. 249 cities have recorded health-based violations with the EPA — meaning contaminant levels exceeded safe limits or required testing was missed. Use the table below to find your city's specific record.
How Alabama cities scored
Score distribution by range
State vs national average
Water quality across Alabama
Each dot is a city, colored by grade. Size reflects population served. Click any city to view its full report.
Top & bottom cities in Alabama
Best 10 cities
All 351 cities in Alabama
| # | City | Grade | Score | Score | Population | Violations | Issues |
|---|---|---|---|---|---|---|---|
| 1 | Buhl | A+ | 99.9 | 4K | 1 | Health | |
| 2 | Fayette | A+ | 98.9 | 13K | 1 | ||
| 3 | Brent | A+ | 98.6 | 7K | 4 | Health | |
| 4 | Tallapoosa County | A+ | 98.6 | 6K | 3 | Health | |
| 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 | Health | |
| 9 | Graysville | A+ | 97.2 | 9K | 5 | Health | |
| 10 | Randolph | A+ | 97 | 1K | 0 | Zero violations | |
| 11 | Maplesville | A+ | 96.9 | 1K | 3 | ||
| 12 | Arab | A+ | 96.8 | 35K | 2 | ||
| 13 | Alexandria | A+ | 96.8 | 33K | 24 | Health Unresolved | |
| 14 | Valley Head | A+ | 96.7 | 3K | 3 | Health | |
| 15 | Ft. Rucker | A+ | 96.6 | 17K | 10 | Health Unresolved | |
| 16 | Glencoe | A+ | 96 | 6K | 26 | Unresolved | |
| 17 | Gordo | A+ | 96 | 4K | 6 | Unresolved | |
| 18 | Trinity | A+ | 95.9 | 3K | 2 | ||
| 19 | Newsite | A+ | 95.9 | 2K | 1 | Health | |
| 20 | Jemison | A+ | 95.8 | 4K | 32 | Health Unresolved | |
| 21 | Ft Mitchell | A+ | 95.7 | 14K | 29 | ||
| 22 | Centreville | A+ | 95.7 | 6K | 25 | Unresolved | |
| 23 | Brookside | A+ | 95.7 | 3K | 3 | Health | |
| 24 | Notasulga | A+ | 95.5 | 3K | 10 | ||
| 25 | West Blocton | A+ | 95 | 5K | 7 | Health Unresolved | |
| 26 | Samson | A | 94.8 | 4K | 3 | Unresolved | |
| 27 | Harpersville | A | 94.7 | 3K | 6 | ||
| 28 | Allgood | A | 94.7 | 861 | 5 | Health Unresolved | |
| 29 | Berry | A | 94.5 | 5K | 22 | Health Unresolved | |
| 30 | Banks | A | 94.4 | 1K | 8 | Health | |
| 31 | Riverside | A | 94.3 | 4K | 36 | Health Unresolved | |
| 32 | Ohatchee | A | 94.3 | 2K | 5 | Unresolved | |
| 33 | Brookwood | A | 94.2 | 15K | 9 | Health Unresolved | |
| 34 | Fayetteville | A | 94.1 | 6K | 3 | Unresolved | |
| 35 | Gulf Shores | A | 94 | 37K | 3 | Health Unresolved | |
| 36 | Roanoke | A | 93.9 | 8K | 23 | Health Unresolved | |
| 37 | Cuba | A | 93.9 | 570 | 8 | Health Unresolved | |
| 38 | Oakman | A | 93.8 | 5K | 18 | Health Unresolved | |
| 39 | Munford | A | 93.8 | 4K | 39 | Unresolved | |
| 40 | Addison | A | 93.7 | 3K | 45 | Health | |
| 41 | Wilton | A | 93.6 | 3K | 23 | Unresolved | |
| 42 | Silverhill | A | 93.6 | 2K | 62 | Unresolved | |
| 43 | Elberta | A | 93.3 | 13K | 9 | Health | |
| 44 | Parrish | A | 93.2 | 6K | 4 | Health Unresolved | |
| 45 | Lapine | A | 93.2 | 2K | 11 | Health Unresolved | |
| 46 | Eldridge | A | 93.1 | 2K | 29 | Health Unresolved | |
| 47 | Hartselle | A | 93 | 22K | 21 | Health Unresolved | |
| 48 | Monroeville | A | 93 | 10K | 3 | Health Unresolved | |
| 49 | Geneva | A | 93 | 10K | 9 | Unresolved | |
| 50 | Tibbie | A | 93 | 2K | 5 | Unresolved | |
| 51 | Carbon Hill | A | 92.9 | 3K | 13 | Health | |
| 52 | Nauvoo | A | 92.9 | 2K | 7 | Health Unresolved | |
| 53 | Sardis | A | 92.5 | 7K | 10 | Unresolved | |
| 54 | Locust Fork | A | 92.5 | 6K | 5 | Unresolved | |
| 55 | Mcintosh | A | 92.5 | 3K | 26 | Unresolved | |
| 56 | Somerville | A | 92.4 | 26K | 7 | Health Unresolved | |
| 57 | Dennis | A | 92.4 | 3K | 67 | Health Unresolved | |
| 58 | Florala | A | 92.3 | 4K | 48 | Health Unresolved | |
| 59 | Akron | A | 92.3 | 513 | 30 | Unresolved | |
| 60 | Crossville | A | 92.1 | 2K | 48 | Health | |
| 61 | Oneonta | A | 92 | 20K | 10 | Health Unresolved | |
| 62 | New Hope | A | 91.9 | 6K | 4 | Health Unresolved | |
| 63 | Walnut Grove | A | 91.9 | 1K | 59 | Health Unresolved | |
| 64 | Piedmont | A | 91.8 | 14K | 34 | Health Unresolved | |
| 65 | Ashville | A | 91.7 | 5K | 34 | Health Unresolved | |
| 66 | Deer Park | A | 91.7 | 1K | 4 | Health Unresolved | |
| 67 | Altoona | A | 91.6 | 1K | 4 | Unresolved | |
| 68 | Garden City | A | 91.6 | 780 | 8 | Health Unresolved | |
| 69 | Lockhart | A | 91.6 | 720 | 3 | Unresolved | |
| 70 | Townley | A | 91.5 | 2K | 4 | Health Unresolved | |
| 71 | Millport | A | 91.5 | 1K | 29 | Unresolved | |
| 72 | Cedar Bluff | A | 91.4 | 5K | 5 | Health Unresolved | |
| 73 | Billingsley | A | 91.4 | 1K | 4 | Health Unresolved | |
| 74 | Rainbow City | A | 91.3 | 12K | 5 | Health Unresolved | |
| 75 | Moundville | A | 91.3 | 4K | 8 | Health Unresolved | |
| 76 | Ralph | A | 91.2 | 6K | 2 | Unresolved | |
| 77 | Myrtlewood | A | 91.2 | 4K | 3 | Health Unresolved | |
| 78 | Snowdoun | A | 91.2 | 3K | 2 | Unresolved | |
| 79 | Phil Campbell | A | 91.1 | 7K | 2 | Health Unresolved | |
| 80 | Pinckard | A | 91.1 | 1K | 3 | Unresolved | |
| 81 | Highland Home | A | 91 | 8K | 2 | Unresolved | |
| 82 | Sycamore | A | 91 | 2K | 11 | Health Unresolved | |
| 83 | Rutledge | A | 91 | 789 | 31 | Health Unresolved | |
| 84 | Rockford | A | 90.9 | 4K | 42 | Unresolved | |
| 85 | Thorsby | A | 90.8 | 31K | 24 | Unresolved | |
| 86 | Vernon | A | 90.8 | 10K | 9 | Health Unresolved | |
| 87 | Bakerhill | A | 90.8 | 7K | 28 | Health Unresolved | |
| 88 | Huguley | A | 90.8 | 7K | 7 | Health PFAS Unresolved | |
| 89 | Sumiton | A | 90.8 | 6K | 7 | Health Unresolved | |
| 90 | Uniontown | A | 90.7 | 3K | 42 | Health Unresolved | |
| 91 | Dauphin Island | A | 90.6 | 6K | 108 | Health Unresolved | |
| 92 | Pisgah | A | 90.6 | 1K | 4 | Unresolved | |
| 93 | Thomaston | A | 90.6 | 960 | 9 | Health Unresolved | |
| 94 | Fort Deposit | A | 90.5 | 2K | 4 | Health Unresolved | |
| 95 | Ramer | A | 90.5 | 2K | 74 | Unresolved | |
| 96 | Hope Hull | A | 90.4 | 5K | 15 | Health Unresolved | |
| 97 | Jack | A | 90.4 | 1K | 10 | Health Unresolved | |
| 98 | Helena | A | 90.3 | 21K | 22 | PFAS Unresolved | |
| 99 | Vinemont | A | 90.2 | 17K | 4 | Health Unresolved | |
| 100 | Union Springs | A | 90.2 | 4K | 21 | Health PFAS Unresolved | |
| 101 | Calera | A | 90.1 | 27K | 26 | Unresolved | |
| 102 | Moulton | A | 90 | 9K | 6 | Health Unresolved | |
| 103 | Snead | A- | 90 | 6K | 12 | Health Unresolved | |
| 104 | Millry | A | 90 | 2K | 44 | Health Unresolved | |
| 105 | Blountsville | A- | 89.9 | 4K | 8 | Health Unresolved | |
| 106 | Opp | A- | 89.8 | 10K | 9 | Health Unresolved | |
| 107 | Pennington | A- | 89.8 | 2K | 23 | Health Unresolved | |
| 108 | Trussville | A- | 89.7 | 36K | 4 | Unresolved | |
| 109 | Cropwell | A- | 89.7 | 7K | 1 | Unresolved | |
| 110 | Cherokee | A- | 89.7 | 2K | 21 | Health Unresolved | |
| 111 | St. Stephens | A- | 89.7 | 735 | 2 | Unresolved | |
| 112 | Friendship | A- | 89.6 | 4K | 38 | Health PFAS Unresolved | |
| 113 | Lowndesboro | A- | 89.6 | 1K | 8 | Health Unresolved | |
| 114 | Jacksonville | A- | 89.5 | 14K | 123 | Health Unresolved | |
| 115 | Headland | A- | 89.5 | 6K | 4 | Unresolved | |
| 116 | Millerville | A- | 89.5 | 2K | 24 | Health Unresolved | |
| 117 | Hobson City | A- | 89.4 | 633 | 22 | Unresolved | |
| 118 | Owens Cross Roads | A- | 89.3 | 12K | 11 | Unresolved | |
| 119 | Union Grove | A- | 89.3 | 3K | 28 | Health Unresolved | |
| 120 | Pine Level | A- | 89.3 | 3K | 11 | Health Unresolved | |
| 121 | Summerdale | A- | 89.3 | 2K | 5 | Health Unresolved | |
| 122 | Birmingham | A- | 89.2 | 585K | 12 | Health Unresolved | |
| 123 | Town Creek | A- | 89.2 | 2K | 5 | Health Unresolved | |
| 124 | Goodsprings | A- | 89.2 | 1K | 17 | Health Unresolved | |
| 125 | Wattsville | A- | 89.1 | 5K | 8 | Unresolved | |
| 126 | Cowarts | A- | 89.1 | 2K | 2 | Health Unresolved | |
| 127 | Sylacauga | A- | 89 | 29K | 55 | Health Unresolved | |
| 128 | Gurley | A- | 88.9 | 1K | 12 | Health Unresolved | |
| 129 | Marbury | A- | 88.8 | 9K | 7 | Health PFAS Unresolved | |
| 130 | Dora | A- | 88.8 | 4K | 29 | Unresolved | |
| 131 | Leroy | A- | 88.8 | 2K | 5 | Health Unresolved | |
| 132 | Millers Ferry | A- | 88.8 | 2K | 12 | Unresolved | |
| 133 | Montgomery | A- | 88.7 | 280K | 51 | Health Unresolved | |
| 134 | Pelham | A- | 88.7 | 39K | 15 | Health PFAS Unresolved | |
| 135 | Cordova | A- | 88.7 | 4K | 1 | Unresolved | |
| 136 | Bear Creek | A- | 88.7 | 3K | 2 | Unresolved | |
| 137 | Winfield | A- | 88.6 | 9K | 14 | Health Unresolved | |
| 138 | Douglas | A- | 88.5 | 17K | 49 | Health Unresolved | |
| 139 | Hanceville | A- | 88.5 | 7K | 8 | Health Unresolved | |
| 140 | Coker | A- | 88.5 | 5K | 2 | Unresolved | |
| 141 | Lincoln | A- | 88.4 | 14K | 95 | Health Unresolved | |
| 142 | Sulligent | A- | 88.4 | 3K | 18 | Health Unresolved | |
| 143 | Wedowee | A- | 88.3 | 8K | 63 | Health Unresolved | |
| 144 | Coaling | A- | 88.3 | 4K | 3 | Unresolved | |
| 145 | Hollins | A- | 88.2 | 1K | 30 | Health Unresolved | |
| 146 | Leeds | A- | 88.1 | 21K | 68 | Health Unresolved | |
| 147 | Auburn | A- | 88 | 65K | 68 | Health PFAS Unresolved | |
| 148 | York | A- | 88 | 3K | 67 | Health Unresolved | |
| 149 | Hayden | A- | 88 | 3K | 20 | Unresolved | |
| 150 | Kennedy | A- | 88 | 723 | 1 | Unresolved | |
| 151 | Mobile | A- | 87.9 | 279K | 49 | Health | |
| 152 | Wilsonville | A- | 87.9 | 7K | 5 | Health Unresolved | |
| 153 | White Hall | A- | 87.9 | 1K | 29 | Health Unresolved | |
| 154 | Frankville | A- | 87.9 | 945 | 11 | Health Unresolved | |
| 155 | Eufaula | A- | 87.8 | 20K | 74 | Health Unresolved | |
| 156 | Red Level | A- | 87.8 | 846 | 23 | Health | |
| 157 | Wetumpka | A- | 87.7 | 50K | 28 | Health PFAS Unresolved | |
| 158 | Elmore | A- | 87.7 | 14K | 6 | Health Unresolved | |
| 159 | Lynn | A- | 87.7 | 2K | 8 | Health Unresolved | |
| 160 | Falkville | A- | 87.7 | 1K | 13 | Unresolved | |
| 161 | Castleberry | A- | 87.7 | 1K | 75 | Unresolved | |
| 162 | Tuscaloosa | A- | 87.6 | 182K | 17 | Health Unresolved | |
| 163 | Hodges | A- | 87.5 | 2K | 3 | Unresolved | |
| 164 | Loachapoka | A- | 87.4 | 14K | 27 | Health PFAS Unresolved | |
| 165 | Arley - 3600 | A- | 87.4 | 9K | 5 | Health Unresolved | |
| 166 | River Falls | A- | 87.4 | 1K | 38 | Unresolved | |
| 167 | St Elmo | A- | 87.3 | 10K | 74 | Health Unresolved | |
| 168 | Springville | A- | 87.2 | 6K | 7 | PFAS Unresolved | |
| 169 | Grant | A- | 87 | 18K | 9 | Health Unresolved | |
| 170 | Livingston | A- | 87 | 16K | 16 | Health Unresolved | |
| 171 | Alabaster | A- | 86.9 | 41K | 54 | Health PFAS Unresolved | |
| 172 | Tallassee | A- | 86.9 | 8K | 11 | Health PFAS Unresolved | |
| 173 | Ranburne | A- | 86.9 | 2K | 15 | Health Unresolved | |
| 174 | Hamilton | A- | 86.8 | 11K | 18 | Health Unresolved | |
| 175 | Childersburg | A- | 86.8 | 10K | 24 | PFAS Unresolved | |
| 176 | Taylor | A- | 86.7 | 9K | 5 | Unresolved | |
| 177 | Remlap | A- | 86.7 | 3K | 13 | Unresolved | |
| 178 | Beatrice | A- | 86.7 | 1K | 13 | Health Unresolved | |
| 179 | Haleyville | A- | 86.6 | 12K | 17 | Health Unresolved | |
| 180 | Montevallo | A- | 86.6 | 10K | 28 | Health PFAS Unresolved | |
| 181 | Ragland | A- | 86.6 | 3K | 2 | Unresolved | |
| 182 | Gantt | A- | 86.6 | 801 | 3 | Unresolved | |
| 183 | Edwardsville | A- | 86.6 | 585 | 17 | Health Unresolved | |
| 184 | Clanton | A- | 86.5 | 14K | 35 | Health PFAS Unresolved | |
| 185 | Lineville | A- | 86.5 | 6K | 32 | Health Unresolved | |
| 186 | Muscle Shoals | A- | 86.2 | 22K | 21 | Health PFAS Unresolved | |
| 187 | Ashford | A- | 86.2 | 4K | 79 | Unresolved | |
| 188 | Collinsville | A- | 86.2 | 4K | 6 | PFAS Unresolved | |
| 189 | Double Springs | A- | 86.1 | 6K | 36 | Health Unresolved | |
| 190 | Camp Hill | A- | 86.1 | 2K | 24 | Unresolved | |
| 191 | Linden | A- | 85.9 | 10K | 17 | Health PFAS Unresolved | |
| 192 | Daviston | A- | 85.9 | 693 | 13 | Health Unresolved | |
| 193 | Northport | A- | 85.8 | 57K | 8 | Health Unresolved | |
| 194 | Joppa | A- | 85.8 | 5K | 3 | Unresolved | |
| 195 | Lafayette | A- | 85.8 | 4K | 54 | Health Unresolved | |
| 196 | Jackson | A- | 85.7 | 17K | 29 | Health PFAS Unresolved | |
| 197 | Napier Field | A- | 85.7 | 2K | 4 | Unresolved | |
| 198 | Forkland | A- | 85.7 | 1K | 76 | Health Unresolved | |
| 199 | Margaret | A- | 85.5 | 6K | 3 | Health Unresolved | |
| 200 | Bridgeport | A- | 85.5 | 6K | 37 | Unresolved | |
| 201 | Belk | A- | 85.5 | 894 | 3 | Health Unresolved | |
| 202 | Malvern | A- | 85.1 | 2K | 25 | Unresolved | |
| 203 | Axis | B+ | 84.9 | 4K | 127 | Unresolved | |
| 204 | Southside | B+ | 84.8 | 12K | 24 | PFAS Unresolved | |
| 205 | Eclectic | B+ | 84.8 | 5K | 24 | Health PFAS Unresolved | |
| 206 | Quinton | B+ | 84.8 | 3K | 3 | Unresolved | |
| 207 | Mt Hope | B+ | 84.7 | 16K | 8 | Health Unresolved | |
| 208 | Vina | B+ | 84.7 | 1K | 2 | Unresolved | |
| 209 | Repton | B+ | 84.6 | 510 | 87 | Health Unresolved | |
| 210 | Decatur | B+ | 84.5 | 107K | 20 | Health Unresolved | |
| 211 | Odenville | B+ | 84.5 | 26K | 55 | PFAS Unresolved | |
| 212 | Irondale | B+ | 84.4 | 10K | 23 | PFAS Unresolved | |
| 213 | Webb | B+ | 84.4 | 2K | 27 | Health Unresolved | |
| 214 | Hurtsboro | B+ | 84.4 | 1K | 28 | Unresolved | |
| 215 | Marion | B+ | 84.3 | 7K | 101 | Health Unresolved | |
| 216 | Guntersville | B+ | 84.2 | 13K | 6 | Health PFAS Unresolved | |
| 217 | Bayou La Batre | B+ | 84 | 8K | 69 | Unresolved | |
| 218 | Madison | B+ | 83.9 | 54K | 66 | Unresolved | |
| 219 | Jacksons Gap | B+ | 83.7 | 7K | 18 | Unresolved | |
| 220 | Oxford | B+ | 83.5 | 30K | 6 | Health PFAS Unresolved | |
| 221 | Woodland | B+ | 83.5 | 2K | 71 | Health Unresolved | |
| 222 | Wadley | B+ | 83.5 | 1K | 16 | Health Unresolved | |
| 223 | Boaz | B+ | 83.2 | 20K | 12 | Health PFAS Unresolved | |
| 224 | Sterrett | B+ | 83 | 3K | 10 | Health PFAS Unresolved | |
| 225 | Pine Hill | B+ | 83 | 2K | 4 | Health PFAS Unresolved | |
| 226 | Glen Allen | B+ | 83 | 2K | 14 | Health Unresolved | |
| 227 | Demopolis | B+ | 82.7 | 11K | 65 | Health Unresolved | |
| 228 | Hackleburg | B+ | 82.6 | 3K | 8 | Health Unresolved | |
| 229 | Reform | B+ | 82.6 | 2K | 62 | Health Unresolved | |
| 230 | Weaver | B+ | 82.3 | 7K | 25 | PFAS Unresolved | |
| 231 | Georgiana | B+ | 82.3 | 3K | 21 | Health Unresolved | |
| 232 | Newville | B+ | 82.1 | 900 | 8 | Unresolved | |
| 233 | Huxford | B+ | 81.9 | 2K | 10 | Health Unresolved | |
| 234 | Hayneville | B+ | 81.8 | 8K | 78 | Health Unresolved | |
| 235 | Goshen | B+ | 81.8 | 546 | 35 | Unresolved | |
| 236 | Red Bay | B+ | 81.6 | 6K | 102 | Health Unresolved | |
| 237 | Brundidge | B+ | 81.6 | 4K | 55 | Health Unresolved | |
| 238 | Fulton | B+ | 81.6 | 3K | 21 | Health Unresolved | |
| 239 | Newton | B+ | 81.6 | 2K | 7 | Unresolved | |
| 240 | Frisco City | B+ | 81.6 | 2K | 164 | Health Unresolved | |
| 241 | Grand Bay | B+ | 81.5 | 11K | 16 | PFAS | |
| 242 | Alpine | B+ | 81.5 | 4K | 30 | Health Unresolved | |
| 243 | Jasper | B+ | 81.3 | 52K | 22 | Health Unresolved | |
| 244 | Alexander City | B+ | 81.2 | 32K | 61 | Health Unresolved | |
| 245 | Russellville | B+ | 81.2 | 25K | 7 | Health PFAS Unresolved | |
| 246 | Pell City | B+ | 81 | 22K | 30 | Health PFAS Unresolved | |
| 247 | Mckenzie | B+ | 81 | 1K | 6 | Unresolved | |
| 248 | Butler | B+ | 80.8 | 5K | 14 | Health Unresolved | |
| 249 | Goodwater | B+ | 80.8 | 3K | 48 | Health Unresolved | |
| 250 | Rogersville | B+ | 80.6 | 16K | 9 | PFAS Unresolved | |
| 251 | Autaugaville | B+ | 80.4 | 7K | 144 | Unresolved | |
| 252 | Kellyton | B+ | 80.4 | 2K | 3 | Health Unresolved | |
| 253 | Sheffield | B+ | 80.3 | 14K | 4 | Health PFAS Unresolved | |
| 254 | Cullman | B+ | 80.2 | 108K | 59 | Health Unresolved | |
| 255 | Smiths | B+ | 80.2 | 32K | 16 | PFAS Unresolved | |
| 256 | Brantley | B+ | 80.2 | 8K | 53 | Health Unresolved | |
| 257 | Lanett | B+ | 80.2 | 7K | 55 | Health Unresolved | |
| 258 | Vincent | B+ | 80.2 | 3K | 39 | Health Unresolved | |
| 259 | Rainsville | B | 80 | 35K | 19 | Health Unresolved | |
| 260 | Redstone Arsenal | B | 79.9 | 44K | 109 | Health Unresolved | |
| 261 | Centre | B | 79.9 | 7K | 19 | Health PFAS Unresolved | |
| 262 | Opelika | B | 79.7 | 58K | 36 | Health PFAS Unresolved | |
| 263 | Triana | B | 79.3 | 7K | 47 | Health Unresolved | |
| 264 | Luverne | B | 79.1 | 4K | 21 | Health Unresolved | |
| 265 | Troy | B | 79 | 36K | 122 | Health Unresolved | |
| 266 | Mulga | B | 78.9 | 6K | 6 | Health Lead Unresolved | |
| 267 | Albertville | B | 78.8 | 33K | 27 | PFAS Unresolved | |
| 268 | Slocomb | B | 78.6 | 4K | 49 | Lead Unresolved | |
| 269 | Stevenson | B | 78.4 | 4K | 44 | Health PFAS Unresolved | |
| 270 | Columbiana | B | 78.3 | 13K | 63 | Health PFAS Unresolved | |
| 271 | Deatsville | B | 78.2 | 13K | 15 | Health PFAS Unresolved | |
| 272 | Eutaw | B | 78.2 | 9K | 50 | Health Unresolved | |
| 273 | Grove Hill | B | 78.2 | 5K | 91 | Health PFAS Unresolved | |
| 274 | Fairhope | B | 78 | 59K | 145 | Health PFAS Unresolved | |
| 275 | Foley | B | 78 | 51K | 36 | Health Unresolved | |
| 276 | Cleveland | B | 77.9 | 26K | 186 | Health Unresolved | |
| 277 | Steele | B | 77.9 | 3K | 21 | Health Unresolved | |
| 278 | Athens | B | 77.7 | 106K | 72 | Health PFAS Unresolved | |
| 279 | Clio | B | 77.7 | 3K | 30 | Health Unresolved | |
| 280 | Brilliant | B | 77.6 | 2K | 6 | Health Unresolved | |
| 281 | Valley | B | 77.5 | 28K | 25 | Health PFAS Unresolved | |
| 282 | Daleville | B | 77.5 | 14K | 34 | Health Unresolved | |
| 283 | Lexington | B | 77.3 | 3K | 31 | Health Unresolved | |
| 284 | Enterprise | B | 77 | 48K | 146 | Health Unresolved | |
| 285 | Attalla | B | 77 | 18K | 95 | Health PFAS Unresolved | |
| 286 | Ariton | B | 77 | 1K | 13 | Health Unresolved | |
| 287 | Ozark | B | 76.6 | 28K | 88 | Health Unresolved | |
| 288 | Camden | B | 76.5 | 10K | 46 | Health PFAS Unresolved | |
| 289 | Excel | B | 76.5 | 4K | 88 | Health Unresolved | |
| 290 | Dadeville | B | 76.2 | 17K | 56 | Health Unresolved | |
| 291 | Mt. Vernon | B | 76 | 2K | 98 | Health Unresolved | |
| 292 | Dothan | B | 75.9 | 102K | 146 | Health Unresolved | |
| 293 | East Brewton | B | 75.5 | 4K | 216 | Health Unresolved | |
| 294 | Eight Mile | B | 75.4 | 6K | 35 | Unresolved | |
| 295 | Leighton | B | 75 | 2K | 41 | Health Unresolved | |
| 296 | Carrollton | B- | 74.9 | 16K | 65 | Health Unresolved | |
| 297 | Coffeeville | B- | 74.6 | 3K | 10 | Health Unresolved | |
| 298 | Flomaton | B- | 74 | 2K | 75 | Health Unresolved | |
| 299 | Kinston | B- | 74 | 2K | 58 | Unresolved | |
| 300 | Mexia | B- | 73.7 | 3K | 34 | Unresolved | |
| 301 | Evergreen | B- | 73 | 13K | 188 | Health Unresolved | |
| 302 | Midland City | B- | 72.8 | 3K | 25 | Unresolved | |
| 303 | Aliceville | B- | 72.7 | 6K | 52 | Health Unresolved | |
| 304 | Clayton | B- | 72.7 | 2K | 60 | Health Unresolved | |
| 305 | Bessemer | B- | 72.5 | 125K | 17 | Health PFAS Unresolved | |
| 306 | Atmore | B- | 72 | 18K | 61 | Health Unresolved | |
| 307 | Millbrook | B- | 71.4 | 17K | 58 | PFAS Unresolved | |
| 308 | Thomasville | B- | 70.7 | 8K | 46 | Health PFAS Unresolved | |
| 309 | Midway | C+ | 69.9 | 2K | 34 | Health Unresolved | |
| 310 | Huntsville | C+ | 69.8 | 381K | 31 | PFAS | |
| 311 | Fort Payne | C+ | 69.2 | 72K | 136 | Health PFAS Unresolved | |
| 312 | Scottsboro | C+ | 69 | 36K | 18 | Health Unresolved | |
| 313 | Phenix City | C+ | 68.5 | 59K | 105 | Health PFAS Unresolved | |
| 314 | New Brockton | C+ | 68.5 | 4K | 87 | Health Unresolved | |
| 315 | Prichard | C+ | 68.2 | 29K | 50 | Health Unresolved | |
| 316 | Gadsden | C+ | 67.9 | 57K | 108 | Health PFAS Unresolved | |
| 317 | Greenville | C+ | 67.7 | 23K | 49 | Health Unresolved | |
| 318 | Elba | C+ | 67.5 | 5K | 35 | Health Unresolved | |
| 319 | Satsuma | C+ | 66.4 | 7K | 70 | Unresolved | |
| 320 | Chatom | C+ | 66.3 | 5K | 106 | Health Unresolved | |
| 321 | Spanish Fort | C+ | 66 | 10K | 77 | Unresolved | |
| 322 | Cottonwood | C+ | 65.8 | 4K | 62 | Health Unresolved | |
| 323 | Uriah | C+ | 65.7 | 3K | 133 | Health Unresolved | |
| 324 | Andalusia | C+ | 65.5 | 29K | 75 | Health Unresolved | |
| 325 | Columbia | C+ | 65.2 | 1K | 88 | Health Unresolved | |
| 326 | Peterman | C | 64.2 | 5K | 65 | Health Unresolved | |
| 327 | Talladega | C | 64 | 25K | 95 | Health PFAS Unresolved | |
| 328 | Theodore | C | 63.1 | 40K | 141 | Health Unresolved | |
| 329 | Orange Beach | C- | 57.2 | 18K | 122 | Health | |
| 330 | Saraland | C- | 57 | 20K | 59 | Health PFAS Unresolved | |
| 331 | Hartford | C- | 55.9 | 4K | 103 | Health Unresolved | |
| 332 | Guin | C- | 55.5 | 5K | 114 | Health Unresolved | |
| 333 | Green Pond | C- | 55 | 9K | 55 | Unresolved | |
| 334 | Ider | D+ | 53.4 | 16K | 45 | Health | |
| 335 | Tuscumbia | D+ | 53.3 | 37K | 99 | Health PFAS Unresolved | |
| 336 | Abbeville | D+ | 53 | 16K | 360 | Health Unresolved | |
| 337 | Lisman | D+ | 52.1 | 3K | 83 | Health Unresolved | |
| 338 | Louisville | D+ | 52 | 1K | 77 | Unresolved | |
| 339 | Selma | D+ | 51.3 | 26K | 97 | Health Unresolved | |
| 340 | Robertsdale | D+ | 51 | 19K | 403 | Health Unresolved | |
| 341 | Heflin | D+ | 51 | 13K | 75 | Health Unresolved | |
| 342 | Gilbertown | D+ | 50.8 | 8K | 44 | Health Unresolved | |
| 343 | Bay Minette | D | 49.8 | 29K | 221 | Health PFAS Unresolved | |
| 344 | Dickinson | D | 49 | 2K | 139 | Health Unresolved | |
| 345 | Citronelle | D | 48.9 | 39K | 120 | Health | |
| 346 | Daphne | D | 46.6 | 52K | 249 | Health PFAS Unresolved | |
| 347 | Brewton | D | 45.8 | 20K | 109 | Health Unresolved | |
| 348 | Florence | D | 45.3 | 107K | 77 | Health PFAS Unresolved | |
| 349 | Greensboro | D | 45.2 | 14K | 410 | Health Unresolved | |
| 350 | Prattville | F | 42.2 | 54K | 174 | Health PFAS Unresolved | |
| 351 | Tuskegee | F | 38.4 | 22K | 171 | Health PFAS Unresolved |