WaterVerge

Vermont Water Quality Rankings

105 cities ranked · Data from EPA SDWIS

74.3
State avg score
105
Cities ranked
67%
A or B grade
19%
D or F grade
97
Health violations
3
PFAS detected

Vermont water quality overview

Vermont's drinking water quality is fair overall, with a state average score of 74.3 out of 100 — 0.1 points above the national average of 74.2. The median city score is 80.9, reflecting how water quality is distributed across the state's 105 ranked cities. The state shows a mixed picture: 31 cities earned an A grade while 7 cities received an F. The majority fall in the B–C range. PFAS "forever chemicals" were detected in 3 of 105 cities (3%). Of those, 1 city exceeds 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. 97 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 Vermont cities scored

30%
37%
14%
12%
A
31
30%
Excellent
B
39
37%
Good
C
15
14%
Fair
D
13
12%
Poor
F
7
7%
Failing

Score distribution by range

35 18 0
1
1
13
10
9
18
35
18
0–9
10–19
20–29
30–39
40–49
50–59
60–69
70–79
80–89
90–100

State vs national average

B-
Vermont
74.3/100
B-
National avg
74.2/100
▲ 0.1 pts above national average

Water quality across Vermont

Each dot is a city, colored by grade. Size reflects population served. Click any city to view its full report.

Vermont city water quality map

All 105 cities in Vermont

# City Grade Score Score Population Violations Issues
1 Essex
A+
95
19K 4
2 Brandon
A+
95
4K 36 Health Unresolved
3 Bridport
A
94.8
4K 15 Health Unresolved
4 Winooski
A
94.3
9K 2
5 Fairlee
A
94.2
967 5 Health Unresolved
6 Shaftsbury
A
94.2
950 11 Unresolved
7 Peru
A
93.9
4K 13 Health Unresolved
8 Arlington
A
93.9
1K 10 Health Unresolved
9 West Windsor
A
93.8
750 11 Health Unresolved
10 Pittsford
A
92.3
2K 87 Health Unresolved
11 Barre City
A
92.2
14K 6 Health Unresolved
12 Rutland City
A
91.8
19K 26 Health Unresolved
13 West Rutland
A
91.7
2K 7 Health Unresolved
14 Bristol
A
91.7
2K 38 Health Unresolved
15 Springfield
A
91.6
10K 15 Health Unresolved
16 Bethel
A
91.5
2K 22 Health Unresolved
17 Poultney
A
91.3
2K 8 Unresolved
18 Fair Haven
A
90.7
3K 15 Health Unresolved
19 Underhill
A-
89.9
825 7 Health Unresolved
20 Brighton
A-
89.2
1K 4 Unresolved
21 Saint Albans City
A-
88.6
10K 13 Health Unresolved
22 Middlebury
A-
88.2
10K 39 Health Unresolved
23 Vergennes
A-
87.8
5K 82 Health Unresolved
24 Richford
A-
87.8
3K 65 Health Unresolved
25 Lyndon
A-
87.6
4K 37 Health Unresolved
26 Williamstown
A-
86.8
1K 59 Health Unresolved
27 Stratton
A-
86.6
6K 26 Health Unresolved
28 North Hero
A-
86.4
3K 74 Health Unresolved
29 Chester
A-
85.9
3K 85 Health Unresolved
30 Norwich
A-
85.7
956 149 Health Unresolved
31 Montpelier
A-
85.4
9K 11 Health Unresolved
32 South Burlington
B+
84.9
20K 22 Health Unresolved
33 Bradford
B+
84.7
2K 133 Health Unresolved
34 Burlington
B+
84.6
42K 21 Unresolved
35 Northfield
B+
84.6
5K 12 Health Unresolved
36 Newport City
B+
84.6
5K 23 Health Unresolved
37 Woodstock
B+
84.5
3K 25 Health Unresolved
38 Plainfield
B+
84.4
985 48 Unresolved
39 Lunenburg
B+
83.7
650 90 Health Unresolved
40 Williston
B+
83.6
8K 17 Unresolved
41 Enosburgh
B+
83.5
2K 24 Health Unresolved
42 Saint George
B+
83.4
534 66 Health Unresolved
43 Windsor
B+
83.3
2K 86 Health Unresolved
44 Chelsea
B+
83.3
562 146 Health Unresolved
45 Shelburne
B+
83
7K 75 Health Unresolved
46 Waitsfield
B+
82.9
569 42 Health Unresolved
47 Johnson
B+
82.7
1K 139 Health Unresolved
48 Grand Isle
B+
82.4
3K 54 Health Unresolved
49 Hardwick
B+
82.1
2K 63 Health Unresolved
50 Putney
B+
81.9
2K 29 Health Unresolved
51 Montgomery
B+
81.9
530 28 Health Unresolved
52 Dorset
B+
81.2
772 141 Health Unresolved
53 Cavendish
B+
80.9
950 93 Health Unresolved
54 Hinesburg
B
79.8
3K 111 Health Unresolved
55 Derby
B
79.6
3K 94 Health Unresolved
56 Brattleboro
B
79.5
12K 32 Health Unresolved
57 South Hero
B
79.5
760 84 Health Unresolved
58 Danville
B
79
500 30 Health Unresolved
59 Richmond
B
78.9
1K 78 Health Unresolved
60 Jay
B
78.2
7K 144 Health Unresolved
61 Swanton
B
77.8
4K 57 Health Unresolved
62 Manchester
B
77.5
4K 102 Health Unresolved
63 Canaan
B
77.2
1K 80 Health Unresolved
64 Waterbury
B
76.6
6K 196 Health Unresolved
65 Troy
B
76.6
1K 74 Health Unresolved
66 Hyde Park
B
75.2
1K 155 Health Unresolved
67 Barton
B-
74.5
2K 80 Health Unresolved
68 Morristown
B-
73.8
3K 159 Health Unresolved
69 Newbury
B-
72.2
970 138 Health Unresolved
70 Winhall
B-
70.3
762 219 Health Unresolved
71 Saint Johnsbury
C+
70
5K 128 Health Unresolved
72 Proctor
C+
67.7
2K 139 Health Unresolved
73 Cambridge
C+
67.1
4K 139 Health Unresolved
74 Wallingford
C+
66.9
1K 179 Health Unresolved
75 Jericho
C+
66.6
2K 128 Health Unresolved
76 Randolph
C+
66.4
4K 176 Health Unresolved
77 Bolton
C+
65.2
1K 237 Health Unresolved
78 Greensboro
C+
65.1
622 140 Health Unresolved
79 Colchester
C
63.4
22K 104 Health Unresolved
80 Rockingham
C
62.9
4K 229 Health Unresolved
81 Starksboro
C-
59.6
690 200 Health Unresolved
82 Londonderry
C-
59
539 289 Health Unresolved
83 Royalton
C-
58.8
2K 177 Health Unresolved
84 East Montpelier
C-
56.8
530 244 Health Unresolved
85 Walpole
C-
56
750 96 Health Unresolved
86 Milton
D+
54.5
8K 101 Health Unresolved
87 Pownal
D+
51.2
980 300 Health Unresolved
88 Castleton
D+
50
3K 198 Health Unresolved
89 Burke
D+
50
1K 258 Health Unresolved
90 Georgia
D+
50
685 290 Health Unresolved
91 Barre Town
D
49
3K 247 Health Unresolved
92 Hartford
D
47
11K 366 Health Unresolved
93 Wilmington
D
46
5K 200 Health Unresolved
94 Dover
D
46
5K 668 Health Unresolved
95 Stowe
D
46
5K 213 Health Unresolved
96 Berlin
D
46
4K 395 Health PFAS Unresolved
97 Fairfax
D
46
2K 384 Health Unresolved
98 Alburgh
D
45
963 183 Health Unresolved
99 Bennington
F
44.9
17K 343 Health Unresolved
100 Ludlow
F
44
8K 418 Health Unresolved
101 Killington
F
42
5K 1618 Health Unresolved
102 Barnet
F
42
661 293 Health Unresolved
103 Rutland Town
F
40
2K 625 Health Unresolved
104 Plymouth
F
32
574 359 Health Lead Unresolved
105 Warren
F
29
4K 383 Health Lead Unresolved