Massachusetts Water Quality Rankings
280 cities ranked · Data from EPA SDWIS
Massachusetts water quality overview
Massachusetts's drinking water quality is good overall, with a state average score of 79.3 out of 100 — 5.1 points above the national average of 74.2. The median city score is 82.3, reflecting how water quality is distributed across the state's 280 ranked cities. 82% of Massachusetts cities earned an A or B grade, indicating broadly strong water quality infrastructure. Only 10 cities received a failing grade. PFAS "forever chemicals" were detected in 138 of 280 cities (49%). Of those, 103 cities exceed the 2024 EPA maximum contaminant levels — a health concern requiring action. 8 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. 263 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 Massachusetts cities scored
Score distribution by range
State vs national average
Water quality across Massachusetts
Each dot is a city, colored by grade. Size reflects population served. Click any city to view its full report.
Top & bottom cities in Massachusetts
Best 10 cities
All 280 cities in Massachusetts
| # | City | Grade | Score | Score | Population | Violations | Issues |
|---|---|---|---|---|---|---|---|
| 1 | Adams | A+ | 96.8 | 8K | 7 | Health Unresolved | |
| 2 | Harwich | A+ | 95.9 | 39K | 5 | Health Unresolved | |
| 3 | West Springfield | A | 94.9 | 29K | 16 | Health Unresolved | |
| 4 | Pembroke | A | 94.8 | 18K | 22 | Health Unresolved | |
| 5 | Newbury | A | 94.8 | 2K | 29 | Health Unresolved | |
| 6 | Essex | A | 94.7 | 4K | 40 | Unresolved | |
| 7 | Sandwich | A | 94.5 | 79K | 37 | Health | |
| 8 | West Newbury | A | 94.5 | 3K | 6 | Health Unresolved | |
| 9 | Provincetown | A | 93.7 | 22K | 11 | Health Unresolved | |
| 10 | Edgartown | A | 93.5 | 8K | 11 | Health Unresolved | |
| 11 | Dennis | A | 93.2 | 65K | 40 | Health Unresolved | |
| 12 | Mattapoisett | A | 93 | 37K | 12 | Health Unresolved | |
| 13 | Dalton | A | 93 | 6K | 44 | Health Unresolved | |
| 14 | Hadley | A | 92.9 | 5K | 22 | Health Unresolved | |
| 15 | Easthampton | A | 92.6 | 16K | 49 | Health Unresolved | |
| 16 | Williamsburg | A | 92.5 | 2K | 57 | Health Unresolved | |
| 17 | Rockport | A | 92.3 | 10K | 10 | Health Unresolved | |
| 18 | Douglas | A | 92.1 | 4K | 47 | Health Unresolved | |
| 19 | Southborough | A | 92 | 11K | 6 | Health Unresolved | |
| 20 | Amesbury | A | 91.7 | 17K | 28 | Unresolved | |
| 21 | North Andover | A | 91.5 | 31K | 13 | Health Unresolved | |
| 22 | Fairhaven | A | 91.5 | 14K | 10 | Health Unresolved | |
| 23 | Montague | A | 91.5 | 9K | 46 | Health Unresolved | |
| 24 | Athol | A | 91.2 | 10K | 7 | Health Unresolved | |
| 25 | Chatham | A | 91.1 | 30K | 68 | Health Unresolved | |
| 26 | Erving | A | 91.1 | 561 | 6 | Health Unresolved | |
| 27 | Methuen | A | 90.7 | 53K | 25 | Health Unresolved | |
| 28 | Avon | A | 90.7 | 5K | 81 | Health PFAS Unresolved | |
| 29 | Weymouth | A | 90.6 | 59K | 31 | Health Unresolved | |
| 30 | Orange | A | 90.5 | 7K | 6 | Health Unresolved | |
| 31 | Southbridge | A | 90.3 | 19K | 4 | Health Unresolved | |
| 32 | Gloucester | A | 90.2 | 37K | 79 | Health Unresolved | |
| 33 | Shelburne | A | 90.2 | 2K | 17 | Health Unresolved | |
| 34 | South Hadley | A- | 89.8 | 21K | 73 | Health Unresolved | |
| 35 | Weston | A- | 89.8 | 12K | 20 | Health Unresolved | |
| 36 | Hancock | A- | 89.8 | 1K | 24 | Health Unresolved | |
| 37 | Eastham | A- | 89.7 | 6K | 1 | Unresolved | |
| 38 | North Brookfield | A- | 89.7 | 4K | 38 | Health Unresolved | |
| 39 | Ashland | A- | 89.5 | 19K | 19 | Health Unresolved | |
| 40 | Littleton | A- | 89.5 | 10K | 27 | Health Unresolved | |
| 41 | Monson | A- | 89.5 | 4K | 55 | Health Unresolved | |
| 42 | Hatfield | A- | 89.5 | 3K | 34 | Health Unresolved | |
| 43 | East Longmeadow | A- | 89.4 | 16K | 9 | Health Unresolved | |
| 44 | Lanesborough | A- | 89.4 | 2K | 49 | Health Unresolved | |
| 45 | Saugus | A- | 89.2 | 27K | 13 | Health Unresolved | |
| 46 | Marblehead | A- | 89.2 | 20K | 8 | Health Unresolved | |
| 47 | Colchester | A- | 89.1 | 663 | 8 | Unresolved | |
| 48 | Lynn | A- | 89 | 101K | 12 | Health PFAS Unresolved | |
| 49 | Pittsfield | A- | 89 | 44K | 105 | Health Unresolved | |
| 50 | Swampscott | A- | 88.8 | 15K | 10 | Health Unresolved | |
| 51 | Seekonk | A- | 88.8 | 15K | 9 | Health PFAS Unresolved | |
| 52 | Clinton | A- | 88.7 | 16K | 23 | Health Unresolved | |
| 53 | Brockton | A- | 88.5 | 106K | 62 | Health Unresolved | |
| 54 | Northampton | A- | 88.5 | 30K | 80 | Health Unresolved | |
| 55 | Northbridge | A- | 88.5 | 16K | 30 | Health Unresolved | |
| 56 | West Stockbridge | A- | 88.5 | 535 | 8 | Health Unresolved | |
| 57 | West Bridgewater | A- | 88.4 | 8K | 76 | Health PFAS Unresolved | |
| 58 | Marlborough | A- | 88.3 | 42K | 22 | Health Unresolved | |
| 59 | Williamstown | A- | 88.3 | 8K | 31 | Health Unresolved | |
| 60 | Southwick | A- | 88.2 | 8K | 110 | Health Unresolved | |
| 61 | Nahant | A- | 88.1 | 3K | 15 | Health Unresolved | |
| 62 | Groveland | A- | 88 | 7K | 38 | Health PFAS Unresolved | |
| 63 | Holyoke | A- | 87.9 | 40K | 31 | Unresolved | |
| 64 | Hamilton | A- | 87.9 | 7K | 67 | Health PFAS Unresolved | |
| 65 | Marion | A- | 87.9 | 6K | 24 | Health Unresolved | |
| 66 | Paxton | A- | 87.7 | 4K | 18 | Health Unresolved | |
| 67 | Wenham | A- | 87.6 | 4K | 12 | Health PFAS Unresolved | |
| 68 | Beverly | A- | 87.5 | 138K | 15 | Unresolved | |
| 69 | Salisbury | A- | 87.5 | 20K | 34 | PFAS Unresolved | |
| 70 | Whitman | A- | 87.5 | 15K | 21 | Health Unresolved | |
| 71 | Uxbridge | A- | 87.5 | 12K | 24 | Health PFAS Unresolved | |
| 72 | Wilbraham | A- | 87.5 | 9K | 9 | Health Unresolved | |
| 73 | New Bedford | A- | 87.4 | 101K | 3 | Health Unresolved | |
| 74 | Mendon | A- | 87.3 | 501 | 90 | Health Unresolved | |
| 75 | Lenox | A- | 87.2 | 10K | 1 | Unresolved | |
| 76 | Amherst | A- | 87 | 39K | 12 | Health Unresolved | |
| 77 | Walpole | A- | 87 | 24K | 42 | Health Unresolved | |
| 78 | Egremont | A- | 87 | 1K | 41 | Health Unresolved | |
| 79 | Wilmington | A- | 86.9 | 22K | 31 | Health Unresolved | |
| 80 | Chicopee | A- | 86.8 | 56K | 7 | Unresolved | |
| 81 | Chelsea | A- | 86.8 | 38K | 19 | Health Unresolved | |
| 82 | Easton | A- | 86.8 | 23K | 4 | Health PFAS Unresolved | |
| 83 | Southampton | A- | 86.8 | 5K | 7 | Health Unresolved | |
| 84 | Agawam | A- | 86.7 | 29K | 14 | Health Unresolved | |
| 85 | Brookline | A- | 86.6 | 63K | 8 | Health Unresolved | |
| 86 | Norwood | A- | 86.6 | 30K | 10 | Health Unresolved | |
| 87 | Canton | A- | 86.6 | 22K | 21 | Health PFAS Unresolved | |
| 88 | Framingham | A- | 86.5 | 72K | 6 | Health Unresolved | |
| 89 | Watertown | A- | 86.5 | 35K | 8 | Health Unresolved | |
| 90 | Winchendon | A- | 86.5 | 6K | 52 | Health Unresolved | |
| 91 | Acushnet | A- | 86.4 | 9K | 94 | Health Unresolved | |
| 92 | Cheshire | A- | 86.4 | 2K | 49 | Health Unresolved | |
| 93 | Russell | A- | 86.4 | 1K | 34 | Health Unresolved | |
| 94 | Needham | A- | 86.3 | 33K | 49 | Health PFAS Unresolved | |
| 95 | Attleboro | A- | 86.2 | 47K | 16 | Health PFAS Unresolved | |
| 96 | Stoneham | A- | 86.2 | 23K | 18 | Health Unresolved | |
| 97 | Newburyport | A- | 86.2 | 20K | 37 | Health PFAS Unresolved | |
| 98 | Yarmouth | A- | 86.1 | 39K | 32 | Health Unresolved | |
| 99 | Greenfield | A- | 86.1 | 18K | 86 | Health Unresolved | |
| 100 | Arlington | A- | 85.8 | 46K | 7 | Health Unresolved | |
| 101 | Salem | A- | 85.7 | 45K | 1 | Unresolved | |
| 102 | Reading | A- | 85.5 | 27K | 4 | Health Unresolved | |
| 103 | Mansfield | A- | 85.5 | 23K | 21 | Health PFAS Unresolved | |
| 104 | North Reading | A- | 85.5 | 16K | 54 | Health Unresolved | |
| 105 | Lunenburg | A- | 85.5 | 7K | 13 | Health PFAS Unresolved | |
| 106 | East Brookfield | A- | 85.4 | 2K | 8 | Health Unresolved | |
| 107 | Quincy | A- | 85.2 | 106K | 7 | Health Unresolved | |
| 108 | Waltham | A- | 85.2 | 65K | 15 | Health Unresolved | |
| 109 | Gardner | A- | 85.2 | 21K | 47 | Health Unresolved | |
| 110 | Freetown | A- | 85.2 | 2K | 7 | Unresolved | |
| 111 | Northfield | A- | 85.2 | 1K | 128 | Health Unresolved | |
| 112 | Manchester | A- | 85.1 | 5K | 69 | Health PFAS Unresolved | |
| 113 | Gill | A- | 85.1 | 1K | 7 | Unresolved | |
| 114 | Foxborough | A- | 85 | 19K | 70 | Health PFAS Unresolved | |
| 115 | Somerville | B+ | 84.8 | 81K | 15 | Health Unresolved | |
| 116 | Oak Bluffs | B+ | 84.8 | 24K | 102 | Health Unresolved | |
| 117 | Hanson | B+ | 84.6 | 10K | 80 | Health PFAS Unresolved | |
| 118 | Lowell | B+ | 84.5 | 115K | 41 | Health PFAS Unresolved | |
| 119 | Dedham | B+ | 84.5 | 42K | 4 | Health PFAS Unresolved | |
| 120 | Natick | B+ | 84.5 | 37K | 116 | Health PFAS Unresolved | |
| 121 | Norton | B+ | 84.5 | 19K | 15 | Health PFAS Unresolved | |
| 122 | Belmont | B+ | 84.3 | 27K | 7 | Health Unresolved | |
| 123 | Millis | B+ | 84.3 | 9K | 67 | Health PFAS Unresolved | |
| 124 | Lincoln | B+ | 84.2 | 9K | 63 | Health PFAS Unresolved | |
| 125 | Lee | B+ | 84.2 | 6K | 94 | Health Unresolved | |
| 126 | Whately | B+ | 83.9 | 900 | 12 | Unresolved | |
| 127 | Taunton | B+ | 83.8 | 62K | 67 | Health Unresolved | |
| 128 | Wayland | B+ | 83.8 | 13K | 58 | Health PFAS Unresolved | |
| 129 | Stockbridge | B+ | 83.5 | 3K | 124 | Health Unresolved | |
| 130 | Bedford | B+ | 83.3 | 26K | 96 | Health Unresolved | |
| 131 | Revere | B+ | 83.2 | 62K | 20 | Health Unresolved | |
| 132 | Billerica | B+ | 83 | 42K | 34 | Health PFAS Unresolved | |
| 133 | Hopedale | B+ | 83 | 6K | 39 | Health PFAS Unresolved | |
| 134 | Springfield | B+ | 82.9 | 168K | 22 | Health Unresolved | |
| 135 | Westfield | B+ | 82.8 | 42K | 81 | Health Unresolved | |
| 136 | Andover | B+ | 82.8 | 37K | 4 | Health Unresolved | |
| 137 | Franklin | B+ | 82.7 | 33K | 21 | Health PFAS Unresolved | |
| 138 | Westminster | B+ | 82.7 | 4K | 91 | Health Unresolved | |
| 139 | Dudley | B+ | 82.6 | 6K | 162 | Health Unresolved | |
| 140 | Danvers | B+ | 82.5 | 28K | 36 | Health PFAS Unresolved | |
| 141 | Randolph | B+ | 82.3 | 80K | 21 | Health PFAS Unresolved | |
| 142 | Everett | B+ | 82.3 | 49K | 11 | Health Unresolved | |
| 143 | Tisbury | B+ | 82.3 | 6K | 35 | Health Unresolved | |
| 144 | Fitchburg | B+ | 82.2 | 42K | 16 | Health PFAS Unresolved | |
| 145 | Concord | B+ | 82.2 | 19K | 14 | Health PFAS Unresolved | |
| 146 | Lexington | B+ | 82.1 | 34K | 10 | Health Unresolved | |
| 147 | Holbrook | B+ | 82.1 | 11K | 19 | Health PFAS Unresolved | |
| 148 | Topsfield | B+ | 82.1 | 5K | 51 | Health PFAS Unresolved | |
| 149 | Sturbridge | B+ | 82.1 | 5K | 83 | Health Unresolved | |
| 150 | Shrewsbury | B+ | 82 | 38K | 9 | Health PFAS Unresolved | |
| 151 | Swansea | B+ | 82 | 17K | 15 | Health PFAS Unresolved | |
| 152 | Ashburnham | B+ | 82 | 15K | 100 | Health Unresolved | |
| 153 | Raynham | B+ | 81.8 | 15K | 5 | PFAS Unresolved | |
| 154 | East Bridgewater | B+ | 81.8 | 15K | 59 | Health PFAS Unresolved | |
| 155 | Blackstone | B+ | 81.6 | 10K | 78 | Health PFAS Unresolved | |
| 156 | Woburn | B+ | 81.5 | 41K | 22 | Health PFAS Unresolved | |
| 157 | Duxbury | B+ | 81.5 | 16K | 12 | Health PFAS Unresolved | |
| 158 | Lawrence | B+ | 81.4 | 89K | 183 | Health Unresolved | |
| 159 | Groton | B+ | 81.4 | 7K | 80 | Health Unresolved | |
| 160 | Wakefield | B+ | 81.2 | 27K | 52 | Health PFAS Unresolved | |
| 161 | Bolton | B+ | 81.1 | 1K | 42 | Health Unresolved | |
| 162 | Cambridge | B+ | 81 | 118K | 67 | Health PFAS Unresolved | |
| 163 | Medfield | B+ | 80.9 | 13K | 86 | Health PFAS Unresolved | |
| 164 | Milton | B+ | 80.8 | 29K | 8 | Health Unresolved | |
| 165 | Burlington | B+ | 80.8 | 27K | 157 | Health Unresolved | |
| 166 | Winthrop | B+ | 80.8 | 19K | 11 | Health Unresolved | |
| 167 | Brewster | B+ | 80.7 | 35K | 28 | Health Unresolved | |
| 168 | Worthington | B+ | 80.4 | 565 | 7 | Lead Unresolved | |
| 169 | Newton | B | 80 | 89K | 54 | Health Unresolved | |
| 170 | Norwell | B+ | 80 | 11K | 14 | Health PFAS Unresolved | |
| 171 | Templeton | B+ | 80 | 6K | 138 | PFAS Unresolved | |
| 172 | Northborough | B | 79.8 | 14K | 217 | Health Unresolved | |
| 173 | Bernardston | B | 79.8 | 1K | 214 | Health Unresolved | |
| 174 | Boylston | B | 79.5 | 3K | 108 | Health PFAS Unresolved | |
| 175 | West Boylston | B | 79.4 | 7K | 79 | Health PFAS Unresolved | |
| 176 | Rowley | B | 79.4 | 6K | 74 | Health PFAS Unresolved | |
| 177 | Braintree | B | 79.1 | 39K | 79 | Health PFAS Unresolved | |
| 178 | Ware | B | 79.1 | 10K | 155 | Health PFAS Unresolved | |
| 179 | Brookfield | B | 79.1 | 1K | 288 | Health Unresolved | |
| 180 | Falmouth | B | 79 | 104K | 40 | Health Unresolved | |
| 181 | Worcester | B | 78.9 | 207K | 16 | Health Unresolved | |
| 182 | Holden | B | 78.8 | 18K | 67 | Health PFAS Unresolved | |
| 183 | North Adams | B | 78.8 | 13K | 190 | Health PFAS Unresolved | |
| 184 | Dracut | B | 78.7 | 35K | 120 | Health PFAS Unresolved | |
| 185 | Sunderland | B | 78.7 | 4K | 237 | Health Unresolved | |
| 186 | Tewksbury | B | 78.2 | 34K | 142 | Health PFAS Unresolved | |
| 187 | Abington | B | 78.1 | 34K | 17 | Health PFAS Unresolved | |
| 188 | Sutton | B | 78.1 | 3K | 152 | Health Unresolved | |
| 189 | Merrimac | B | 78 | 7K | 208 | Health PFAS Unresolved | |
| 190 | Spencer | B | 78 | 7K | 113 | Health Unresolved | |
| 191 | Middleton | B | 77.9 | 7K | 9 | PFAS Unresolved | |
| 192 | Peabody | B | 77.8 | 54K | 116 | Health PFAS Unresolved | |
| 193 | Sterling | B | 77.8 | 7K | 110 | Health PFAS Unresolved | |
| 194 | Mashpee | B | 77.5 | 37K | 110 | Health Unresolved | |
| 195 | Stoughton | B | 77.5 | 29K | 23 | Health PFAS Unresolved | |
| 196 | Westford | B | 77.4 | 19K | 40 | Health PFAS Unresolved | |
| 197 | Ayer | B | 77.4 | 15K | 69 | Health Unresolved | |
| 198 | Melrose | B | 77.3 | 29K | 18 | Health Unresolved | |
| 199 | Leominster | B | 77.2 | 42K | 138 | Health PFAS Unresolved | |
| 200 | Wareham | B | 77.2 | 27K | 65 | Health PFAS Unresolved | |
| 201 | Somerset | B | 76.9 | 18K | 24 | Health Unresolved | |
| 202 | Cohasset | B | 76.9 | 8K | 48 | Health PFAS Unresolved | |
| 203 | Boston | B | 76.8 | 3.3M | 10 | Health Lead Unresolved | |
| 204 | Westport | B | 76.7 | 615 | 122 | Health Unresolved | |
| 205 | Palmer | B | 76.4 | 11K | 87 | Health Unresolved | |
| 206 | Ipswich | B | 76.2 | 13K | 50 | Health PFAS Unresolved | |
| 207 | Webster | B | 76 | 18K | 105 | Health PFAS Unresolved | |
| 208 | Granby | B | 75.9 | 727 | 226 | Health Unresolved | |
| 209 | Wellesley | B | 75.8 | 33K | 29 | Health PFAS Unresolved | |
| 210 | Longmeadow | B | 75.8 | 16K | 28 | Health Unresolved | |
| 211 | Plainville | B | 75.8 | 9K | 29 | Health PFAS Unresolved | |
| 212 | Orleans | B | 75.6 | 19K | 36 | Health Unresolved | |
| 213 | Middleborough | B | 75.5 | 16K | 108 | Health PFAS Unresolved | |
| 214 | Townsend | B | 75.3 | 7K | 117 | Health PFAS Unresolved | |
| 215 | Lynnfield | B | 75.2 | 13K | 118 | Health PFAS Unresolved | |
| 216 | Bourne | B- | 74.8 | 36K | 76 | Health PFAS Unresolved | |
| 217 | Chelmsford | B- | 74.2 | 39K | 141 | Health PFAS Unresolved | |
| 218 | Marshfield | B- | 74.2 | 34K | 68 | Health PFAS Unresolved | |
| 219 | Bellingham | B- | 74 | 16K | 38 | Health PFAS Unresolved | |
| 220 | Fall River | B- | 73.9 | 94K | 55 | Health Unresolved | |
| 221 | Lancaster | B- | 72.8 | 6K | 48 | Health Lead Unresolved | |
| 222 | Medway | B- | 72 | 13K | 240 | Health PFAS Unresolved | |
| 223 | Sudbury | B- | 71.7 | 18K | 197 | Health PFAS Unresolved | |
| 224 | West Brookfield | B- | 71.3 | 3K | 261 | Health Unresolved | |
| 225 | Pepperell | B- | 71.2 | 9K | 91 | Health PFAS Unresolved | |
| 226 | Belchertown | B- | 70.9 | 4K | 211 | Health Unresolved | |
| 227 | Hopkinton | B- | 70.3 | 13K | 170 | Health PFAS Unresolved | |
| 228 | Maynard | B- | 70.3 | 10K | 188 | Health PFAS Unresolved | |
| 229 | Malden | B- | 70.2 | 66K | 24 | Health Lead Unresolved | |
| 230 | Oxford | C+ | 69.8 | 8K | 109 | Health Unresolved | |
| 231 | Wellfleet | C+ | 69.8 | 1K | 192 | Health Unresolved | |
| 232 | Hingham | C+ | 69.5 | 46K | 35 | Health PFAS Unresolved | |
| 233 | Preble (T) | C+ | 69.2 | 520 | 234 | Health Unresolved | |
| 234 | Bridgewater | C+ | 69 | 31K | 44 | Health PFAS Unresolved | |
| 235 | Hinsdale | C+ | 68.5 | 2K | 308 | Health Unresolved | |
| 236 | Great Barrington | C+ | 68.4 | 6K | 136 | Health Unresolved | |
| 237 | Atkinson | C+ | 68.4 | 507 | 109 | Health Lead Unresolved | |
| 238 | Georgetown | C+ | 68.2 | 9K | 89 | Health Unresolved | |
| 239 | Warren | C+ | 68.1 | 3K | 369 | Health Unresolved | |
| 240 | Halifax | C+ | 67.8 | 8K | 50 | Health PFAS Unresolved | |
| 241 | Deerfield | C+ | 67.7 | 6K | 222 | Health Unresolved | |
| 242 | Dartmouth | C+ | 66.5 | 25K | 21 | Health PFAS Unresolved | |
| 243 | Huntington | C+ | 66.3 | 2K | 38 | Health Unresolved | |
| 244 | Hardwick | C+ | 65 | 2K | 146 | Health Lead Unresolved | |
| 245 | Barre | C | 64.9 | 4K | 132 | Health Unresolved | |
| 246 | Dover | C | 64.8 | 2K | 98 | Health Unresolved | |
| 247 | Millbury | C | 64.7 | 12K | 52 | Health PFAS Unresolved | |
| 248 | Haverhill | C | 64.2 | 63K | 73 | Health Unresolved | |
| 249 | Chester | C | 63.8 | 750 | 143 | Health Unresolved | |
| 250 | Kingston | C | 63.5 | 15K | 80 | Health Unresolved | |
| 251 | Medford | C | 62.6 | 62K | 12 | Health Lead Unresolved | |
| 252 | Scituate | C | 61.9 | 19K | 67 | Health PFAS Unresolved | |
| 253 | Shirley | C | 61.8 | 8K | 343 | Health PFAS Unresolved | |
| 254 | Upton | C | 61.7 | 5K | 119 | Health Unresolved | |
| 255 | Berlin | C | 60.4 | 2K | 416 | Health Unresolved | |
| 256 | Holliston | C- | 59.6 | 16K | 155 | Health PFAS Unresolved | |
| 257 | Carver | C- | 59.3 | 2K | 209 | Health Unresolved | |
| 258 | Winchester | C- | 58 | 23K | 61 | Health Unresolved | |
| 259 | Tyngsborough | C- | 58 | 5K | 450 | Health PFAS Unresolved | |
| 260 | Rutland | C- | 56.6 | 6K | 417 | Health Unresolved | |
| 261 | Hanover | C- | 56.2 | 15K | 42 | Health PFAS Unresolved | |
| 262 | Auburn | D+ | 54.9 | 15K | 309 | Health PFAS Unresolved | |
| 263 | Sharon | D+ | 54.3 | 17K | 37 | Health PFAS Unresolved | |
| 264 | Chilmark | D+ | 54.1 | 930 | 146 | Health Unresolved | |
| 265 | Dighton | D+ | 52.1 | 112K | 54 | Health PFAS Unresolved | |
| 266 | Barnstable | D+ | 51.5 | 95K | 136 | Health PFAS Unresolved | |
| 267 | Boxborough | D+ | 50 | 2K | 972 | Health Unresolved | |
| 268 | Westborough | D | 48.6 | 22K | 81 | Health PFAS Unresolved | |
| 269 | Nantucket | D | 47 | 31K | 214 | Health Unresolved | |
| 270 | Leicester | D | 45.9 | 9K | 361 | Health Unresolved | |
| 271 | Harvard | F | 44 | 2K | 369 | Health Unresolved | |
| 272 | Plymouth | F | 43.4 | 61K | 294 | Health Unresolved | |
| 273 | North Attleborough | F | 42.4 | 29K | 243 | Health PFAS Unresolved | |
| 274 | Acton | F | 42.4 | 21K | 376 | Health PFAS Unresolved | |
| 275 | Hudson | F | 42.2 | 20K | 156 | Health Unresolved | |
| 276 | Grafton | F | 41.8 | 14K | 203 | Health PFAS Unresolved | |
| 277 | Norfolk | F | 40.7 | 10K | 181 | Health PFAS Unresolved | |
| 278 | Wrentham | F | 39.5 | 13K | 187 | Health PFAS Unresolved | |
| 279 | Milford | F | 38.5 | 30K | 226 | Health PFAS Unresolved | |
| 280 | Lee | F | 36.1 | 654 | 180 | Health Lead Unresolved |