Montana Water Quality Rankings
115 cities ranked · Data from EPA SDWIS
Montana water quality overview
Montana's drinking water quality is fair overall, with a state average score of 65.7 out of 100 — 8.5 points below the national average of 74.2. The median city score is 68.3, reflecting how water quality is distributed across the state's 115 ranked cities. 38% of cities scored a D or F, pointing to significant water quality challenges across much of the state. 54 cities did earn an A or B grade, showing that strong systems do exist. PFAS "forever chemicals" were detected in 21 of 115 cities (18%). Of those, 2 cities exceed the 2024 EPA maximum contaminant levels — a health concern requiring action. 1 city has 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. 99 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 Montana cities scored
Score distribution by range
State vs national average
Water quality across Montana
Each dot is a city, colored by grade. Size reflects population served. Click any city to view its full report.
Top & bottom cities in Montana
Best 10 cities
All 115 cities in Montana
| # | City | Grade | Score | Score | Population | Violations | Issues |
|---|---|---|---|---|---|---|---|
| 1 | Cascade | A | 94.3 | 650 | 8 | Unresolved | |
| 2 | Superior | A | 93.2 | 1K | 9 | Unresolved | |
| 3 | Three Forks | A | 92.3 | 2K | 74 | Health Unresolved | |
| 4 | West Glacier | A | 91.1 | 2K | 28 | Health Unresolved | |
| 5 | Gardiner | A | 90.4 | 700 | 55 | Unresolved | |
| 6 | Big Sandy | A | 90.4 | 608 | 28 | Health Unresolved | |
| 7 | Santa Rita | A- | 89.9 | 628 | 27 | Unresolved | |
| 8 | Somers | A- | 89.7 | 1K | 25 | Health Unresolved | |
| 9 | Hot Springs | A- | 89 | 600 | 45 | Health Unresolved | |
| 10 | Hungry Horse | A- | 88.6 | 1K | 29 | Health Unresolved | |
| 11 | Scobey | A- | 88.1 | 1K | 10 | Unresolved | |
| 12 | Bridger | A- | 87.4 | 800 | 36 | Unresolved | |
| 13 | Bigfork | A- | 87 | 7K | 37 | Health Unresolved | |
| 14 | Circle | A- | 86.9 | 644 | 20 | Health Unresolved | |
| 15 | Alberton | A- | 86.6 | 738 | 71 | Health Unresolved | |
| 16 | Sun River | A- | 86.2 | 630 | 53 | Health Unresolved | |
| 17 | Joliet | A- | 85.5 | 600 | 89 | Unresolved | |
| 18 | Colstrip | A- | 85.2 | 2K | 56 | Health Unresolved | |
| 19 | Forsyth | A- | 85.2 | 2K | 177 | Health Unresolved | |
| 20 | Plains | B+ | 84.8 | 2K | 126 | ||
| 21 | Plentywood | B+ | 84.8 | 2K | 2 | Unresolved | |
| 22 | Culbertson | B+ | 84.2 | 4K | 34 | Health Unresolved | |
| 23 | Ennis | B+ | 83.9 | 2K | 122 | Health Unresolved | |
| 24 | Belt | B+ | 83.8 | 745 | 49 | Health Unresolved | |
| 25 | Absarokee | B+ | 83.4 | 1K | 136 | Health Unresolved | |
| 26 | Huntley | B+ | 83.2 | 705 | 75 | Health Unresolved | |
| 27 | Lakeside | B+ | 82.9 | 2K | 72 | Health Unresolved | |
| 28 | Butte | B+ | 82.8 | 33K | 89 | Health Unresolved | |
| 29 | Vaughn | B+ | 82.4 | 665 | 29 | Unresolved | |
| 30 | Seeley Lake | B+ | 82.1 | 2K | 88 | Health Unresolved | |
| 31 | Fort Harrison | B+ | 82.1 | 1K | 14 | Unresolved | |
| 32 | Big Timber | B+ | 81.8 | 2K | 64 | Health Unresolved | |
| 33 | Boulder | B+ | 81.7 | 1K | 87 | Health Unresolved | |
| 34 | Fort Benton | B+ | 81.2 | 2K | 37 | Health Unresolved | |
| 35 | Thompson Falls | B+ | 80.6 | 2K | 108 | Health Unresolved | |
| 36 | Troy | B+ | 80.5 | 3K | 102 | Health Unresolved | |
| 37 | Fairview | B+ | 80.1 | 1K | 155 | Health Unresolved | |
| 38 | Sunburst | B | 79.9 | 748 | 96 | Health Unresolved | |
| 39 | Warm Springs | B | 79.6 | 721 | 11 | Unresolved | |
| 40 | Townsend | B | 79.5 | 2K | 235 | Health Unresolved | |
| 41 | Pinesdale | B | 79.5 | 800 | 202 | Health Unresolved | |
| 42 | Medicine Lake | B | 79 | 600 | 47 | Health Unresolved | |
| 43 | Wolf Point | B | 77.8 | 4K | 110 | Health Unresolved | |
| 44 | Red Lodge | B | 77.2 | 2K | 196 | Health Unresolved | |
| 45 | Chinook | B | 77 | 1K | 31 | Health Unresolved | |
| 46 | St Ignatius | B | 76.5 | 765 | 175 | Health Unresolved | |
| 47 | Valier | B | 75.4 | 804 | 173 | Health Unresolved | |
| 48 | Black Eagle | B | 75.2 | 2K | 45 | Health Unresolved | |
| 49 | Poplar | B | 75 | 5K | 32 | Health Unresolved | |
| 50 | Fort Peck | B- | 74.1 | 903 | 61 | Health | |
| 51 | Choteau | B- | 73.9 | 2K | 157 | Health Unresolved | |
| 52 | Fairfield | B- | 73.3 | 1K | 209 | Unresolved | |
| 53 | Box Elder | B- | 72.9 | 4K | 225 | Health Unresolved | |
| 54 | Stevensville | B- | 70.9 | 2K | 124 | Health Unresolved | |
| 55 | Roundup | C+ | 69.8 | 2K | 15 | Lead Unresolved | |
| 56 | Harlowton | C+ | 68.5 | 2K | 144 | Health Unresolved | |
| 57 | Virginia City | C+ | 68.4 | 2K | 48 | Health Unresolved | |
| 58 | Corwin Springs | C+ | 68.3 | 700 | 95 | Health Unresolved | |
| 59 | Miles City | C+ | 67 | 10K | 71 | Health Unresolved | |
| 60 | Frenchtown | C+ | 66.5 | 2K | 303 | Health Unresolved | |
| 61 | Laurel | C+ | 65.3 | 7K | 151 | Health Unresolved | |
| 62 | Ballantine | C+ | 65.2 | 800 | 114 | Health Unresolved | |
| 63 | Ballantine | C+ | 65.2 | 800 | 114 | Health Unresolved | |
| 64 | Glasgow | C+ | 65 | 3K | 112 | Health Unresolved | |
| 65 | Fromberg | C | 63.6 | 500 | 84 | Health Unresolved | |
| 66 | Darby | C | 60.2 | 1K | 246 | Health Unresolved | |
| 67 | Sheridan | C- | 58.6 | 632 | 82 | Unresolved | |
| 68 | Stanford | C- | 57.8 | 505 | 379 | Health Unresolved | |
| 69 | Eureka | C- | 56.8 | 3K | 232 | Health Unresolved | |
| 70 | Ronan | C- | 56.5 | 3K | 175 | Health Unresolved | |
| 71 | Sand Coulee | C- | 55.6 | 590 | 507 | Health Unresolved | |
| 72 | Anaconda | D+ | 53.9 | 9K | 342 | Health Unresolved | |
| 73 | Hamilton | D+ | 53 | 7K | 450 | Health Unresolved | |
| 74 | Lolo | D+ | 52 | 4K | 644 | Health Unresolved | |
| 75 | Whitehall | D+ | 52 | 2K | 230 | Health Unresolved | |
| 76 | Polson | D+ | 51.2 | 6K | 380 | Health Unresolved | |
| 77 | White Sulphur Springs | D+ | 51 | 1K | 419 | Health Unresolved | |
| 78 | East Helena | D+ | 50 | 3K | 941 | Health Unresolved | |
| 79 | Manhattan | D+ | 50 | 2K | 369 | Health Unresolved | |
| 80 | Baker | D+ | 50 | 2K | 251 | Health Unresolved | |
| 81 | Ashland | D+ | 50 | 1K | 286 | Health Unresolved | |
| 82 | Wibaux | D+ | 50 | 550 | 139 | Health Unresolved | |
| 83 | Lewistown | D | 49 | 6K | 485 | Health Unresolved | |
| 84 | Cut Bank | D | 49 | 4K | 453 | Health Unresolved | |
| 85 | Crow Agency | D | 49 | 2K | 621 | Health Unresolved | |
| 86 | Deer Lodge | D | 47.5 | 5K | 162 | Health Unresolved | |
| 87 | West Yellowstone | D | 47.2 | 10K | 581 | Health Unresolved | |
| 88 | Livingston | D | 47.2 | 8K | 722 | Health Unresolved | |
| 89 | Shelby | D | 47.2 | 5K | 462 | Health Unresolved | |
| 90 | Harlem | D | 47 | 4K | 811 | Health Unresolved | |
| 91 | Chester | D | 47 | 2K | 178 | Health Unresolved | |
| 92 | Glendive | D | 46.2 | 7K | 615 | Health Unresolved | |
| 93 | Columbus | D | 46 | 2K | 224 | Health Unresolved | |
| 94 | Malta | D | 46 | 2K | 294 | Unresolved | |
| 95 | Columbia Falls | D | 45.5 | 6K | 449 | Health Unresolved | |
| 96 | Conrad | D | 45 | 4K | 240 | Health Unresolved | |
| 97 | Belgrade | F | 44.5 | 16K | 471 | Health Unresolved | |
| 98 | Hardin | F | 44 | 4K | 222 | Health Unresolved | |
| 99 | Lame Deer | F | 44 | 4K | 250 | Health Unresolved | |
| 100 | Big Sky | F | 43.5 | 6K | 593 | Health Unresolved | |
| 101 | Bozeman | F | 43.4 | 69K | 1652 | Health Unresolved | |
| 102 | Pablo | F | 43 | 4K | 542 | Health Unresolved | |
| 103 | Missoula | F | 42.6 | 78K | 4300 | Health Unresolved | |
| 104 | Havre | F | 42.2 | 12K | 495 | Health Unresolved | |
| 105 | Whitefish | F | 42 | 16K | 733 | Health PFAS Unresolved | |
| 106 | Clancy | F | 42 | 1K | 417 | Health Unresolved | |
| 107 | Philipsburg | F | 42 | 1K | 79 | Health Unresolved | |
| 108 | Sidney | F | 41.2 | 5K | 262 | Health Unresolved | |
| 109 | Dillon | F | 41.2 | 5K | 670 | Health Unresolved | |
| 110 | Browning | F | 41 | 8K | 263 | Health Unresolved | |
| 111 | Kalispell | F | 40.1 | 42K | 2471 | Health PFAS Unresolved | |
| 112 | Libby | F | 40 | 5K | 370 | Health Unresolved | |
| 113 | Billings | F | 39.6 | 143K | 1938 | Health Unresolved | |
| 114 | Helena | F | 39.1 | 44K | 2303 | Health Unresolved | |
| 115 | Great Falls | F | 34.5 | 76K | 1361 | Health Unresolved |