Skip to main content
WaterVerge

Montana Water Quality Rankings

110 cities ranked · Data from EPA SDWIS

65.2
State avg score
110
Cities ranked
46%
A or B grade
40%
D or F grade
95
Health violations
21
PFAS detected

Montana water quality overview

Montana's drinking water quality is fair overall, with a state average score of 65.2 out of 100 — 9.3 points below the national average of 74.5. The median city score is 65.3, reflecting how water quality is distributed across the state's 110 ranked cities. 40% of cities scored a D or F, pointing to significant water quality challenges across much of the state. 51 cities did earn an A or B grade, showing that strong systems do exist. PFAS "forever chemicals" were detected in 21 of 110 cities (19%). 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. 95 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

15%
31%
14%
23%
17%
A
17
15%
Excellent
B
34
31%
Good
C
15
14%
Fair
D
25
23%
Poor
F
19
17%
Failing

Score distribution by range

30 15 0
3
30
16
10
16
29
6
0–9
10–19
20–29
30–39
40–49
50–59
60–69
70–79
80–89
90–100

State vs national average

C+
Montana
65.2/100
B-
National avg
74.5/100
▼ 9.3 pts below 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.

All 110 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 Somers
A-
89.7
765 25 Health Unresolved
8 Hot Springs
A-
89
600 45 Health Unresolved
9 Hungry Horse
A-
88.6
1K 29 Health Unresolved
10 Scobey
A-
88.1
1K 10 Unresolved
11 Bridger
A-
87.4
800 36 Unresolved
12 Bigfork
A-
87
7K 37 Health Unresolved
13 Circle
A-
86.9
644 20 Health Unresolved
14 Alberton
A-
86.6
613 71 Health Unresolved
15 Joliet
A-
85.5
600 89 Unresolved
16 Colstrip
A-
85.2
2K 56 Health Unresolved
17 Forsyth
A-
85.2
2K 177 Health Unresolved
18 Plains
B+
84.8
2K 126
19 Plentywood
B+
84.8
2K 2 Unresolved
20 Culbertson
B+
84.2
4K 34 Health Unresolved
21 Ennis
B+
83.9
2K 122 Health Unresolved
22 Belt
B+
83.8
745 49 Health Unresolved
23 Absarokee
B+
83.4
1K 136 Health Unresolved
24 Huntley
B+
83.2
705 75 Health Unresolved
25 Lakeside
B+
82.9
2K 72 Health Unresolved
26 Butte
B+
82.8
33K 89 Health Unresolved
27 Vaughn
B+
82.4
585 29 Unresolved
28 Seeley Lake
B+
82.1
2K 88 Health Unresolved
29 Fort Harrison
B+
82.1
1K 14 Unresolved
30 Big Timber
B+
81.8
2K 64 Health Unresolved
31 Boulder
B+
81.7
1K 87 Health Unresolved
32 Fort Benton
B+
81.2
2K 37 Health Unresolved
33 Thompson Falls
B+
80.6
2K 108 Health Unresolved
34 Troy
B+
80.5
2K 102 Health Unresolved
35 Fairview
B+
80.1
1K 155 Health Unresolved
36 Sunburst
B
79.9
673 96 Health Unresolved
37 Warm Springs
B
79.6
721 11 Unresolved
38 Townsend
B
79.5
2K 235 Health Unresolved
39 Pinesdale
B
79.5
800 202 Health Unresolved
40 Medicine Lake
B
79
600 47 Health Unresolved
41 Wolf Point
B
77.8
4K 110 Health Unresolved
42 Red Lodge
B
77.2
2K 196 Health Unresolved
43 Chinook
B
77
1K 31 Health Unresolved
44 St Ignatius
B
76.5
765 175 Health Unresolved
45 Valier
B
75.4
804 173 Health Unresolved
46 Black Eagle
B
75.2
1K 45 Health Unresolved
47 Poplar
B
75
5K 32 Health Unresolved
48 Choteau
B-
73.9
2K 157 Health Unresolved
49 Fairfield
B-
73.3
718 209 Unresolved
50 Box Elder
B-
72.9
4K 225 Health Unresolved
51 Stevensville
B-
70.9
2K 124 Health Unresolved
52 Roundup
C+
69.8
2K 15 Lead Unresolved
53 Harlowton
C+
68.5
1K 144 Health Unresolved
54 Virginia City
C+
68.4
2K 48 Health Unresolved
55 Miles City
C+
67
10K 71 Health Unresolved
56 Laurel
C+
65.3
7K 151 Health Unresolved
57 Ballantine
C+
65.2
800 114 Health Unresolved
58 Worden
C+
65.2
800 114 Health Unresolved
59 Glasgow
C+
65
3K 112 Health Unresolved
60 Fromberg
C
63.6
500 84 Health Unresolved
61 Darby
C
60.2
1K 246 Health Unresolved
62 Sheridan
C-
58.6
632 82 Unresolved
63 Stanford
C-
57.8
505 379 Health Unresolved
64 Eureka
C-
56.8
3K 232 Health Unresolved
65 Ronan
C-
56.5
3K 175 Health Unresolved
66 Sand Coulee
C-
55.6
510 507 Health Unresolved
67 Anaconda
D+
53.9
9K 342 Health Unresolved
68 Hamilton
D+
53
6K 450 Health Unresolved
69 Lolo
D+
52
4K 644 Health Unresolved
70 Whitehall
D+
52
2K 230 Health Unresolved
71 Polson
D+
51.2
6K 380 Health Unresolved
72 White Sulphur Springs
D+
51
1K 419 Health Unresolved
73 East Helena
D+
50
3K 941 Health Unresolved
74 Manhattan
D+
50
2K 369 Health Unresolved
75 Baker
D+
50
2K 251 Health Unresolved
76 Ashland
D+
50
1K 286 Health Unresolved
77 Wibaux
D+
50
550 139 Health Unresolved
78 Lewistown
D
49
6K 485 Health Unresolved
79 Cut Bank
D
49
4K 453 Health Unresolved
80 Crow Agency
D
49
2K 621 Health Unresolved
81 Deer Lodge
D
47.5
5K 162 Health Unresolved
82 West Yellowstone
D
47.2
10K 581 Health Unresolved
83 Livingston
D
47.2
8K 722 Health Unresolved
84 Shelby
D
47.2
4K 462 Health Unresolved
85 Harlem
D
47
4K 811 Health Unresolved
86 Chester
D
47
1K 178 Health Unresolved
87 Glendive
D
46.2
7K 615 Health Unresolved
88 Columbus
D
46
2K 224 Health Unresolved
89 Malta
D
46
2K 294 Unresolved
90 Columbia Falls
D
45.5
6K 449 Health Unresolved
91 Conrad
D
45
3K 240 Health Unresolved
92 Belgrade
F
44.5
15K 471 Health Unresolved
93 Hardin
F
44
4K 222 Health Unresolved
94 Lame Deer
F
44
4K 250 Health Unresolved
95 Big Sky
F
43.5
5K 593 Health Unresolved
96 Bozeman
F
43.4
66K 1652 Health Unresolved
97 Pablo
F
43
4K 542 Health Unresolved
98 Missoula
F
42.6
77K 4300 Health Unresolved
99 Havre
F
42.2
10K 495 Health Unresolved
100 Whitefish
F
42
14K 733 Health PFAS Unresolved
101 Clancy
F
42
1K 417 Health Unresolved
102 Philipsburg
F
42
1K 79 Health Unresolved
103 Dillon
F
41.2
5K 670 Health Unresolved
104 Sidney
F
41.2
5K 262 Health Unresolved
105 Browning
F
41
8K 263 Health Unresolved
106 Kalispell
F
40.1
39K 2471 Health PFAS Unresolved
107 Libby
F
40
5K 370 Health Unresolved
108 Billings
F
39.6
139K 1938 Health Unresolved
109 Helena
F
39.1
38K 2303 Health Unresolved
110 Great Falls
F
34.5
65K 1361 Health Unresolved