WaterVerge

Montana Water Quality Rankings

115 cities ranked · Data from EPA SDWIS

65.7
State avg score
115
Cities ranked
47%
A or B grade
38%
D or F grade
99
Health violations
21
PFAS detected

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

17%
30%
15%
22%
17%
A
19
17%
Excellent
B
35
30%
Good
C
17
15%
Fair
D
25
22%
Poor
F
19
17%
Failing

Score distribution by range

31 16 0
3
30
16
12
17
31
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.7/100
B-
National avg
74.2/100
▼ 8.5 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 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