Nebraska Water Quality Rankings
200 cities ranked · Data from EPA SDWIS
Nebraska water quality overview
Nebraska's drinking water quality is excellent overall, with a state average score of 85.8 out of 100 — 11.6 points above the national average of 74.2. The median city score is 87.9, reflecting how water quality is distributed across the state's 200 ranked cities. 93% of Nebraska cities earned an A or B grade, indicating broadly strong water quality infrastructure. Only 1 city received a failing grade. PFAS "forever chemicals" were detected in 47 of 200 cities (24%). Of those, 4 cities exceed the 2024 EPA maximum contaminant levels — a health concern requiring action. 4 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. 195 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 Nebraska cities scored
Score distribution by range
State vs national average
Water quality across Nebraska
Each dot is a city, colored by grade. Size reflects population served. Click any city to view its full report.
Top & bottom cities in Nebraska
All 200 cities in Nebraska
| # | City | Grade | Score | Score | Population | Violations | Issues |
|---|---|---|---|---|---|---|---|
| 1 | Kimball | A+ | 97 | 3K | 0 | Zero violations | |
| 2 | David City | A+ | 96.9 | 3K | 1 | ||
| 3 | Geneva | A+ | 96.8 | 2K | 2 | Health | |
| 4 | St Paul | A+ | 96.6 | 2K | 3 | Health | |
| 5 | Madison | A+ | 96.6 | 2K | 3 | Health | |
| 6 | Grant | A+ | 96.5 | 1K | 5 | Health | |
| 7 | Crete | A+ | 96.2 | 8K | 5 | Health | |
| 8 | Utica | A+ | 96.1 | 840 | 4 | Health | |
| 9 | Burwell | A+ | 95.9 | 1K | 8 | Health | |
| 10 | Yutan | A+ | 95.8 | 1K | 8 | Health | |
| 11 | Fort Calhoun | A+ | 95.6 | 1K | 4 | Health | |
| 12 | Imperial | A+ | 95.3 | 2K | 6 | Health Unresolved | |
| 13 | Bellevue | A+ | 95.3 | 740 | 1 | ||
| 14 | Overton | A+ | 95.3 | 600 | 15 | Health | |
| 15 | Cozad | A+ | 95.1 | 4K | 6 | Health Unresolved | |
| 16 | Gordon | A | 94.7 | 2K | 9 | Health Unresolved | |
| 17 | Callaway | A | 94.6 | 563 | 16 | Health | |
| 18 | Homer | A | 94.6 | 532 | 11 | Health | |
| 19 | Pawnee City (Rr Name Pawnee) | A | 94.4 | 830 | 4 | Health | |
| 20 | Ogallala | A | 94.2 | 5K | 23 | Health Unresolved | |
| 21 | Broken Bow | A | 94.2 | 4K | 7 | Health Unresolved | |
| 22 | Hartington | A | 94.2 | 1K | 9 | Health Unresolved | |
| 23 | Elm Creek | A | 94.2 | 901 | 5 | Health Unresolved | |
| 24 | Ainsworth | A | 94.1 | 2K | 20 | Health Unresolved | |
| 25 | Blue Hill | A | 94.1 | 941 | 5 | Health Unresolved | |
| 26 | Alma | A | 94 | 1K | 15 | Health Unresolved | |
| 27 | Elgin | A | 93.7 | 717 | 16 | Health | |
| 28 | Dorchester | A | 93.7 | 586 | 15 | Health | |
| 29 | Clay Center | A | 93.5 | 730 | 10 | Health Unresolved | |
| 30 | Franklin | A | 93.4 | 950 | 11 | Health | |
| 31 | Oxford | A | 93.4 | 719 | 10 | Health Unresolved | |
| 32 | Shelby | A | 93.3 | 714 | 11 | Health Unresolved | |
| 33 | Tekamah | A | 93.2 | 2K | 11 | Health Unresolved | |
| 34 | Cairo | A | 93.2 | 785 | 13 | Health Unresolved | |
| 35 | Chappell | A | 93.1 | 891 | 13 | Health | |
| 36 | Loup City | A | 93 | 1K | 13 | Health Unresolved | |
| 37 | Bertrand | A | 93 | 750 | 14 | Health Unresolved | |
| 38 | Weeping Water | A | 92.6 | 1K | 8 | Health Unresolved | |
| 39 | Hemingford | A | 92.6 | 810 | 15 | Health Unresolved | |
| 40 | Harvard | A | 92.5 | 1K | 5 | Health | |
| 41 | Oshkosh | A | 92.5 | 809 | 11 | Health Unresolved | |
| 42 | Neligh | A | 92.2 | 2K | 19 | Health Unresolved | |
| 43 | Ravenna | A | 92.2 | 1K | 13 | Health Unresolved | |
| 44 | Arnold | A | 92.2 | 592 | 5 | Health Unresolved | |
| 45 | Pawnee City | A | 92.1 | 2K | 5 | Health Unresolved | |
| 46 | Atkinson | A | 92.1 | 1K | 19 | Health Unresolved | |
| 47 | Verdigre | A | 92.1 | 552 | 14 | Health Unresolved | |
| 48 | Alliance | A | 92 | 8K | 25 | Health Unresolved | |
| 49 | Morrill | A | 92 | 2K | 34 | Health Unresolved | |
| 50 | Randolph | A | 91.9 | 944 | 12 | Health Unresolved | |
| 51 | Hickman | A | 91.8 | 3K | 31 | Health Unresolved | |
| 52 | Red Cloud | A | 91.7 | 1K | 8 | Health Unresolved | |
| 53 | Ord | A | 91.5 | 2K | 3 | Health Unresolved | |
| 54 | Syracuse | A | 91.4 | 5K | 11 | Health | |
| 55 | Murray | A | 91.3 | 3K | 4 | Health Unresolved | |
| 56 | Clarkson | A | 91.3 | 641 | 16 | Health Unresolved | |
| 57 | Wausa | A | 91.2 | 762 | 5 | Health Unresolved | |
| 58 | Murdock | A | 91.1 | 2K | 23 | Health Unresolved | |
| 59 | Sidney | A | 91 | 7K | 36 | Health Unresolved | |
| 60 | Cortland | A | 91 | 529 | 20 | Health Unresolved | |
| 61 | Sutherland | A | 90.9 | 1K | 8 | Health Unresolved | |
| 62 | Battle Creek | A | 90.9 | 1K | 15 | Health | |
| 63 | Holdrege | A | 90.8 | 6K | 17 | Health | |
| 64 | Valentine | A | 90.8 | 3K | 3 | Health Unresolved | |
| 65 | Culbertson | A | 90.8 | 534 | 16 | Health Unresolved | |
| 66 | Arlington | A | 90.5 | 1K | 3 | Health Unresolved | |
| 67 | Bartley | A | 90.4 | 710 | 23 | Health Unresolved | |
| 68 | Superior | A | 90.3 | 2K | 5 | Health | |
| 69 | Falls City | A | 90.2 | 5K | 9 | Health Unresolved | |
| 70 | Springfield | A | 90.1 | 2K | 20 | Health Unresolved | |
| 71 | Bassett | A | 90.1 | 700 | 11 | Health Unresolved | |
| 72 | Hershey | A- | 89.9 | 665 | 2 | Unresolved | |
| 73 | Dakota City | A- | 89.8 | 4K | 2 | Health Unresolved | |
| 74 | Hebron | A- | 89.7 | 2K | 8 | Health Unresolved | |
| 75 | Pierce | A- | 89.6 | 2K | 7 | Health Unresolved | |
| 76 | Deshler | A- | 89.4 | 747 | 11 | Health Unresolved | |
| 77 | Mead | A- | 89.4 | 569 | 10 | Health Unresolved | |
| 78 | Minden | A- | 89.2 | 3K | 6 | Health Unresolved | |
| 79 | Creighton | A- | 89.2 | 1K | 12 | Health Unresolved | |
| 80 | Kenesaw | A- | 89.1 | 919 | 13 | Health Unresolved | |
| 81 | St. Edward | A- | 89.1 | 710 | 10 | Health Unresolved | |
| 82 | Tilden | A- | 89 | 957 | 14 | Health Unresolved | |
| 83 | Dodge | A- | 89 | 612 | 13 | Health Unresolved | |
| 84 | Central City | A- | 88.9 | 3K | 13 | Health Unresolved | |
| 85 | Wood River | A- | 88.9 | 1K | 7 | Health Unresolved | |
| 86 | Newman Grove | A- | 88.9 | 721 | 14 | Health Unresolved | |
| 87 | Bloomfield | A- | 88.8 | 1K | 8 | Health Unresolved | |
| 88 | Nebraska City | A- | 88.7 | 8K | 10 | Health Unresolved | |
| 89 | Gothenburg | A- | 88.7 | 4K | 3 | Health Unresolved | |
| 90 | Indianola | A- | 88.7 | 939 | 35 | Health Unresolved | |
| 91 | Coleridge | A- | 88.7 | 533 | 13 | Health Unresolved | |
| 92 | Rushville | A- | 88.6 | 888 | 18 | Health Unresolved | |
| 93 | Crawford | A- | 88.5 | 840 | 21 | Health Unresolved | |
| 94 | Valley | A- | 88.3 | 4K | 8 | Health Unresolved | |
| 95 | Bayard | A- | 88.3 | 1K | 59 | Health Unresolved | |
| 96 | Shelton | A- | 88.3 | 1K | 12 | Health Unresolved | |
| 97 | Hooper | A- | 88.3 | 852 | 21 | Health Unresolved | |
| 98 | Laurel | A- | 88.2 | 972 | 27 | Health | |
| 99 | De Witt | A- | 88.1 | 598 | 11 | Health Unresolved | |
| 100 | Exeter | A- | 88.1 | 591 | 4 | Health Unresolved | |
| 101 | Winnetoon | A- | 87.9 | 640 | 12 | Health Unresolved | |
| 102 | Genoa | A- | 87.8 | 898 | 9 | Health Unresolved | |
| 103 | Doniphan | A- | 87.8 | 829 | 7 | Health Unresolved | |
| 104 | Schuyler | A- | 87.7 | 7K | 21 | Health | |
| 105 | Aurora | A- | 87.7 | 5K | 8 | Health Unresolved | |
| 106 | Cedar Bluffs | A- | 87.7 | 600 | 13 | Health Unresolved | |
| 107 | Sargent | A- | 87.7 | 550 | 23 | Health Unresolved | |
| 108 | Sutton | A- | 87.6 | 1K | 10 | Health Unresolved | |
| 109 | Bennet (Bennett) | A- | 87.5 | 7K | 19 | Health Unresolved | |
| 110 | Spencer | A- | 87.4 | 840 | 46 | Health Unresolved | |
| 111 | Wymore | A- | 87.3 | 3K | 22 | Health Unresolved | |
| 112 | Terrytown | A- | 87.3 | 1K | 19 | Health Unresolved | |
| 113 | North Bend | A- | 87 | 1K | 6 | Health Unresolved | |
| 114 | Lyons | A- | 87 | 824 | 7 | Health Unresolved | |
| 115 | Wilber | A- | 86.9 | 2K | 6 | Health Unresolved | |
| 116 | Fairmont | A- | 86.7 | 600 | 9 | Health Unresolved | |
| 117 | Beatrice | A- | 86.5 | 12K | 19 | Health Unresolved | |
| 118 | Wayne | A- | 86.5 | 6K | 20 | Health Unresolved | |
| 119 | Auburn | A- | 86.5 | 5K | 26 | Health Unresolved | |
| 120 | O'Neill | A- | 86.5 | 4K | 34 | Health Unresolved | |
| 121 | Minatare | A- | 86.4 | 809 | 44 | Health Unresolved | |
| 122 | Bridgeport | A- | 86.2 | 2K | 33 | Health Unresolved | |
| 123 | Cambridge | A- | 86.2 | 1K | 43 | Health Unresolved | |
| 124 | Friend | A- | 86.2 | 964 | 13 | Health Unresolved | |
| 125 | Peru | A- | 86.2 | 650 | 9 | Health Unresolved | |
| 126 | Waverly | A- | 86.1 | 4K | 12 | Health Unresolved | |
| 127 | Seward | A- | 86 | 8K | 27 | Health Unresolved | |
| 128 | Mitchell | A- | 85.7 | 2K | 12 | Health Unresolved | |
| 129 | Arapahoe | A- | 85.7 | 1K | 19 | Health Unresolved | |
| 130 | Tecumseh | A- | 85.6 | 3K | 20 | Health Unresolved | |
| 131 | Winnebago | A- | 85.6 | 1K | 52 | Health Unresolved | |
| 132 | Eagle | A- | 85.5 | 1K | 17 | Health Unresolved | |
| 133 | Scottsbluff | A- | 85.3 | 14K | 31 | Health Unresolved | |
| 134 | Fairbury | A- | 85.2 | 5K | 8 | Health Unresolved | |
| 135 | Greenwood | A- | 85.1 | 600 | 19 | Health Unresolved | |
| 136 | Valparaiso | A- | 85.1 | 600 | 4 | Health Unresolved | |
| 137 | West Point | A- | 85 | 4K | 7 | Health Unresolved | |
| 138 | Wahoo | B+ | 84.8 | 5K | 18 | Health Unresolved | |
| 139 | Wauneta | B+ | 84.7 | 549 | 36 | Health Unresolved | |
| 140 | Curtis | B+ | 84.6 | 806 | 6 | Health Unresolved | |
| 141 | Oakland | B+ | 84.5 | 5K | 7 | Health Unresolved | |
| 142 | Osmond | B+ | 84.5 | 870 | 38 | Health Unresolved | |
| 143 | Scribner | B+ | 84.5 | 857 | 2 | Health Unresolved | |
| 144 | Howells | B+ | 84.5 | 567 | 28 | Health Unresolved | |
| 145 | Fullerton | B+ | 84.4 | 1K | 15 | Health | |
| 146 | Palmyra | B+ | 84.4 | 567 | 13 | Health Unresolved | |
| 147 | Trenton | B+ | 84.2 | 501 | 17 | Health Unresolved | |
| 148 | Beemer | B+ | 84.1 | 3K | 32 | Health Unresolved | |
| 149 | Henderson | B+ | 84.1 | 1K | 38 | Health Unresolved | |
| 150 | Adams | B+ | 84.1 | 606 | 161 | Health Unresolved | |
| 151 | Axtell | B+ | 83.9 | 880 | 35 | Health Unresolved | |
| 152 | Benkelman | B+ | 83.8 | 850 | 70 | Health Unresolved | |
| 153 | Hay Springs | B+ | 83.8 | 614 | 9 | Health Unresolved | |
| 154 | Elkhorn | B+ | 83.5 | 750 | 10 | Health Unresolved | |
| 155 | Stanton | B+ | 83.4 | 2K | 23 | Health Unresolved | |
| 156 | Osceola | B+ | 83.3 | 875 | 4 | Health Unresolved | |
| 157 | Juniata | B+ | 82.9 | 757 | 7 | Health Unresolved | |
| 158 | Wakefield | B+ | 82.8 | 1K | 13 | Health Unresolved | |
| 159 | Gering | B+ | 82.5 | 9K | 45 | Health Unresolved | |
| 160 | Beaver City | B+ | 81.7 | 604 | 4 | Health Unresolved | |
| 161 | Albion | B+ | 81.2 | 2K | 30 | Health Unresolved | |
| 162 | South Sioux City | B+ | 81 | 14K | 11 | Health Unresolved | |
| 163 | Elmwood | B+ | 81 | 698 | 7 | Health Unresolved | |
| 164 | Waterloo | B+ | 80.6 | 962 | 8 | Unresolved | |
| 165 | Union | B+ | 80.6 | 616 | 48 | Health Unresolved | |
| 166 | Norfolk | B+ | 80.1 | 29K | 24 | Health Unresolved | |
| 167 | Stromsburg | B | 79.5 | 1K | 9 | Health Unresolved | |
| 168 | Kennard | B | 79.4 | 1K | 24 | Health Unresolved | |
| 169 | Alda | B | 79.1 | 737 | 60 | Health Unresolved | |
| 170 | Louisville | B | 78.7 | 1K | 6 | Health Unresolved | |
| 171 | Grand Island | B | 78.6 | 51K | 7 | Health PFAS Unresolved | |
| 172 | Plattsmouth | B | 78.5 | 11K | 12 | Health PFAS Unresolved | |
| 173 | Humphrey | B | 77.4 | 842 | 63 | Health Unresolved | |
| 174 | Ceresco | B | 77.3 | 919 | 4 | Health Lead Unresolved | |
| 175 | Milford | B | 77.1 | 2K | 62 | Health Unresolved | |
| 176 | Gibbon | B | 76.6 | 2K | 25 | Health Lead Unresolved | |
| 177 | Elwood | B | 76.5 | 880 | 63 | Health Unresolved | |
| 178 | Ashland | B | 76.3 | 3K | 32 | Health Unresolved | |
| 179 | Mccook | B- | 74.8 | 7K | 36 | Health Unresolved | |
| 180 | Humboldt | B- | 74.7 | 2K | 136 | Health Unresolved | |
| 181 | Hastings | B- | 73.8 | 26K | 21 | Health PFAS Unresolved | |
| 182 | Firth | B- | 73.3 | 680 | 51 | Health Unresolved | |
| 183 | Macy | B- | 71.1 | 2K | 63 | Health Unresolved | |
| 184 | Lexington | B- | 70.2 | 11K | 57 | Health Unresolved | |
| 185 | Crofton | B- | 70.2 | 3K | 61 | Health Unresolved | |
| 186 | Kearney | C+ | 70 | 35K | 94 | Health Unresolved | |
| 187 | Blair | C+ | 69.8 | 14K | 95 | Health Unresolved | |
| 188 | Gretna | C+ | 68.2 | 11K | 52 | Health Unresolved | |
| 189 | Papillion | C+ | 68 | 35K | 26 | Health Lead Unresolved | |
| 190 | North Platte | C+ | 67.9 | 25K | 70 | Health PFAS Unresolved | |
| 191 | Fremont | C+ | 67 | 29K | 102 | Health Unresolved | |
| 192 | Ponca | C+ | 65.4 | 972 | 52 | Health Unresolved | |
| 193 | Plainview | C | 64.4 | 1K | 28 | Health Unresolved | |
| 194 | Niobrara | C | 60.2 | 995 | 55 | Health Lead Unresolved | |
| 195 | York | C- | 59 | 9K | 121 | Health Unresolved | |
| 196 | Omaha | C- | 56.5 | 664K | 66 | Health Unresolved | |
| 197 | Lincoln | C- | 56.5 | 298K | 121 | Health Unresolved | |
| 198 | Wisner | D+ | 51 | 1K | 48 | Health Unresolved | |
| 199 | Chadron | D+ | 50.5 | 7K | 52 | Health Unresolved | |
| 200 | Columbus | F | 41 | 24K | 137 | Health Unresolved |