New Mexico Water Quality Rankings
163 cities ranked · Data from EPA SDWIS
New Mexico water quality overview
New Mexico's drinking water quality is below average overall, with a state average score of 58.3 out of 100 — 15.9 points below the national average of 74.2. The median city score is 50, reflecting how water quality is distributed across the state's 163 ranked cities. 56% 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 54 of 163 cities (33%). Of those, 4 cities exceed the 2024 EPA maximum contaminant levels — a health concern requiring action. 3 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. 157 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 New Mexico cities scored
Score distribution by range
State vs national average
Water quality across New Mexico
Each dot is a city, colored by grade. Size reflects population served. Click any city to view its full report.
Top & bottom cities in New Mexico
Best 10 cities
All 163 cities in New Mexico
| # | City | Grade | Score | Score | Population | Violations | Issues |
|---|---|---|---|---|---|---|---|
| 1 | Bayard | A | 93.6 | 3K | 11 | Unresolved | |
| 2 | Santa Ana Pueblo | A | 92.6 | 759 | 28 | Health Unresolved | |
| 3 | La Plata | A | 91.7 | 2K | 7 | Unresolved | |
| 4 | Kirtland | A | 90.5 | 8K | 19 | Health Unresolved | |
| 5 | Los Alamos | A | 90.1 | 25K | 25 | Health Unresolved | |
| 6 | Ruidoso Downs | A- | 89.9 | 2K | 37 | Health Unresolved | |
| 7 | Isleta | A- | 89.2 | 14K | 54 | Health Unresolved | |
| 8 | Eunice | A- | 87.5 | 4K | 20 | Health Unresolved | |
| 9 | Clayton | A- | 87.3 | 3K | 7 | Health Unresolved | |
| 10 | Dexter | A- | 87.2 | 2K | 7 | Health Unresolved | |
| 11 | Hatch | A- | 87.1 | 2K | 13 | Unresolved | |
| 12 | Jemez Pueblo | A- | 87 | 3K | 42 | Health Unresolved | |
| 13 | Espanolal | A- | 87 | 3K | 33 | Health Unresolved | |
| 14 | Rincon | A- | 86.4 | 582 | 11 | Health Unresolved | |
| 15 | Socorro | A- | 86.2 | 12K | 55 | Health Unresolved | |
| 16 | Santo Domingo | A- | 86.2 | 5K | 94 | Health Unresolved | |
| 17 | Garfield | A- | 85.4 | 3K | 63 | Health Unresolved | |
| 18 | San Antonio | B+ | 83.9 | 1K | 15 | Health Unresolved | |
| 19 | Fairacres | B+ | 83.9 | 944 | 33 | Health Unresolved | |
| 20 | Rio Rancho | B+ | 83.8 | 107K | 127 | Health Unresolved | |
| 21 | Chamisal | B+ | 83.6 | 550 | 30 | Health Unresolved | |
| 22 | Taos Ski Valley | B+ | 83.4 | 1K | 28 | Health Unresolved | |
| 23 | Tatum | B+ | 83.4 | 948 | 24 | Health Unresolved | |
| 24 | Crownpoint Boarding School | B+ | 83.3 | 1K | 104 | Unresolved | |
| 25 | Bernalillo | B+ | 82.3 | 11K | 56 | Health Unresolved | |
| 26 | Logan | B+ | 81.9 | 2K | 16 | Health Unresolved | |
| 27 | White Sands Missile Rang | B+ | 81.6 | 4K | 104 | Health Unresolved | |
| 28 | Elephant Butte | B+ | 81.5 | 4K | 26 | Health PFAS Unresolved | |
| 29 | Milan | B+ | 81.3 | 3K | 24 | Health Unresolved | |
| 30 | Chamberino | B+ | 81.3 | 777 | 3 | Health Unresolved | |
| 31 | San Felipe Pueblo | B+ | 81.2 | 8K | 85 | Health Unresolved | |
| 32 | Cochiti | B+ | 81 | 2K | 31 | Health Unresolved | |
| 33 | Acoma | B+ | 80.9 | 2K | 61 | Health Unresolved | |
| 34 | Arenas Valley | B+ | 80.6 | 1K | 16 | Health Unresolved | |
| 35 | Mesilla Park | B+ | 80.5 | 549 | 39 | Health Unresolved | |
| 36 | Zia Pueblo | B+ | 80 | 771 | 41 | Health Unresolved | |
| 37 | Ponderosa | B | 79.7 | 567 | 74 | Health Unresolved | |
| 38 | Melrose | B | 78 | 1K | 29 | Health Unresolved | |
| 39 | Red River | B | 77 | 679 | 22 | Health Unresolved | |
| 40 | Capitan | B | 75.8 | 2K | 29 | Health Unresolved | |
| 41 | Grants | B | 75.3 | 11K | 25 | Health Unresolved | |
| 42 | Radium Springs | B- | 74.9 | 831 | 12 | Health Unresolved | |
| 43 | Portales | B- | 74.2 | 18K | 44 | Health Unresolved | |
| 44 | Dulce | B- | 73.3 | 3K | 157 | Health Unresolved | |
| 45 | Texico | B- | 73.1 | 1K | 23 | Health Unresolved | |
| 46 | Polvadera | B- | 71.9 | 2K | 210 | Health Unresolved | |
| 47 | La Luz | B- | 71.6 | 2K | 67 | Health Unresolved | |
| 48 | Hurley | B- | 71.1 | 3K | 145 | Unresolved | |
| 49 | Vado | B- | 71 | 12K | 88 | Health Unresolved | |
| 50 | San Miguel | B- | 70.5 | 774 | 83 | Health Unresolved | |
| 51 | Gamerco | B- | 70.2 | 2K | 77 | Health Unresolved | |
| 52 | Mora | C+ | 69.6 | 1K | 40 | Health Unresolved | |
| 53 | Velarde | C+ | 69.2 | 543 | 38 | Health Unresolved | |
| 54 | Eagle Nest | C+ | 68.9 | 613 | 18 | Health Unresolved | |
| 55 | Holloman Air Force Base | C+ | 68.8 | 13K | 135 | Health Unresolved | |
| 56 | Mesilla | C+ | 68.6 | 2K | 47 | Health Unresolved | |
| 57 | Central | C+ | 67.7 | 2K | 53 | Health Unresolved | |
| 58 | El Rito | C+ | 67.6 | 2K | 121 | Health Unresolved | |
| 59 | Penasco | C+ | 67.6 | 891 | 86 | Health Unresolved | |
| 60 | Arroyo Seco | C+ | 66.8 | 676 | 118 | Health Unresolved | |
| 61 | Chamita | C+ | 65.1 | 902 | 57 | Health Unresolved | |
| 62 | Ramah | C+ | 65.1 | 517 | 108 | Health Unresolved | |
| 63 | Jal | C+ | 65 | 6K | 67 | Health Unresolved | |
| 64 | Organ | C | 63.8 | 22K | 91 | Health Unresolved | |
| 65 | Cannon Afb | C | 63 | 8K | 149 | Health Unresolved | |
| 66 | Blanco | C | 62.7 | 1K | 116 | Health Unresolved | |
| 67 | Malaga | C | 62.1 | 868 | 41 | Health Unresolved | |
| 68 | Thoreau | C | 61.9 | 2K | 62 | Health Unresolved | |
| 69 | Chaparral | C- | 58.6 | 16K | 80 | Health Unresolved | |
| 70 | Reserve | C- | 58.4 | 816 | 40 | Health Unresolved | |
| 71 | Bluewater | C- | 57 | 627 | 143 | Health Unresolved | |
| 72 | Tucumcari | D+ | 54.5 | 7K | 52 | Health Unresolved | |
| 73 | Tohatchi | D+ | 54.5 | 588 | 498 | Health Unresolved | |
| 74 | Tyrone | D+ | 52.1 | 852 | 118 | Health Unresolved | |
| 75 | Canon | D+ | 52.1 | 520 | 127 | Health Unresolved | |
| 76 | Ilfeld | D+ | 51.7 | 736 | 113 | Health Unresolved | |
| 77 | Dixon | D+ | 51.5 | 788 | 120 | Health Unresolved | |
| 78 | Fort Sumner | D+ | 51.3 | 2K | 134 | Health Unresolved | |
| 79 | Hernandez | D+ | 50.9 | 2K | 152 | Health Unresolved | |
| 80 | Thoreau High School Compound | D+ | 50.2 | 746 | 43 | Health Unresolved | |
| 81 | Canoncito | D+ | 50 | 1K | 513 | Health Unresolved | |
| 82 | Vaughn | D+ | 50 | 785 | 263 | Health Unresolved | |
| 83 | Magdalena | D | 49.6 | 1K | 43 | Health Unresolved | |
| 84 | Bosque Farms | D | 49.2 | 4K | 231 | Health Unresolved | |
| 85 | Kayenta | D | 49.1 | 1K | 125 | Unresolved | |
| 86 | Cimarron | D | 49 | 3K | 271 | Health Unresolved | |
| 87 | Alamo | D | 49 | 785 | 520 | Health Unresolved | |
| 88 | Mountainair | D | 47.8 | 2K | 207 | Health Unresolved | |
| 89 | Chimayo | D | 47.8 | 1K | 87 | Health Unresolved | |
| 90 | Lovington | D | 47.2 | 14K | 299 | Health Unresolved | |
| 91 | Placitas | D | 47.2 | 4K | 1613 | Health Unresolved | |
| 92 | Cedar Crest | D | 47 | 2K | 397 | Health Unresolved | |
| 93 | Mayhill | D | 47 | 2K | 285 | Health Unresolved | |
| 94 | Carrizozo | D | 47 | 2K | 109 | Health Unresolved | |
| 95 | Abiquiu | D | 47 | 547 | 387 | Health Unresolved | |
| 96 | Bloomfield | D | 46.8 | 19K | 282 | Health Unresolved | |
| 97 | Truth Or Consequences | D | 46.2 | 7K | 289 | Health Unresolved | |
| 98 | High Rolls | D | 46.1 | 684 | 158 | Health Unresolved | |
| 99 | Chama | D | 46 | 2K | 169 | Health Unresolved | |
| 100 | Roswell | D | 45.8 | 59K | 87 | Health Unresolved | |
| 101 | Angel Fire | D | 45.2 | 6K | 206 | Health Unresolved | |
| 102 | Cloudcroft | D | 45 | 4K | 392 | Health Unresolved | |
| 103 | Lordsburg | D | 45 | 4K | 511 | Health Unresolved | |
| 104 | Glorieta | D | 45 | 3K | 170 | Health Unresolved | |
| 105 | Santa Rosa | D | 45 | 3K | 76 | Health Unresolved | |
| 106 | Pecos | D | 45 | 3K | 333 | Health Unresolved | |
| 107 | El Prado | D | 45 | 1K | 159 | Health Unresolved | |
| 108 | Tierra Amarilla | D | 45 | 770 | 131 | Health Unresolved | |
| 109 | Raton | F | 44.9 | 10K | 92 | Health Unresolved | |
| 110 | Artesia | F | 44.8 | 19K | 230 | Health Unresolved | |
| 111 | Aztec | F | 44.8 | 15K | 194 | Health Unresolved | |
| 112 | Deming | F | 44.5 | 17K | 219 | Health Unresolved | |
| 113 | Belen | F | 44.2 | 16K | 621 | Health Unresolved | |
| 114 | Espanola | F | 44.2 | 13K | 771 | Health Unresolved | |
| 115 | Anthony | F | 44.2 | 11K | 173 | Health Unresolved | |
| 116 | Taos | F | 44.2 | 7K | 466 | Health Unresolved | |
| 117 | Tularosa | F | 44.2 | 3K | 243 | Health Unresolved | |
| 118 | Navajo Dam | F | 44 | 589 | 464 | Health Unresolved | |
| 119 | Carlsbad | F | 43.5 | 39K | 169 | Health Unresolved | |
| 120 | Los Lunas | F | 43.5 | 29K | 1465 | Health Unresolved | |
| 121 | Sunland Park | F | 43.5 | 19K | 209 | Health Unresolved | |
| 122 | Springer | F | 43.2 | 1K | 284 | Health Unresolved | |
| 123 | Silver City | F | 43 | 15K | 138 | Health Unresolved | |
| 124 | Timberon | F | 43 | 3K | 82 | Health Unresolved | |
| 125 | Cerrillos | F | 43 | 776 | 116 | Health Unresolved | |
| 126 | San Ysidro | F | 43 | 654 | 359 | Health Unresolved | |
| 127 | Holman | F | 43 | 602 | 587 | Health Unresolved | |
| 128 | Rociada | F | 43 | 500 | 109 | Health Unresolved | |
| 129 | Jemez Springs | F | 42.5 | 2K | 354 | Health Unresolved | |
| 130 | Edgewood | F | 42.2 | 15K | 101 | Health Unresolved | |
| 131 | Moriarty | F | 42.2 | 5K | 807 | Health Unresolved | |
| 132 | Questa | F | 42 | 2K | 164 | Health Unresolved | |
| 133 | Loving | F | 42 | 2K | 62 | Health Unresolved | |
| 134 | Ranchos De Taos | F | 42 | 2K | 227 | Health Unresolved | |
| 135 | Estancia | F | 42 | 1K | 91 | Health Unresolved | |
| 136 | San Rafael | F | 42 | 1K | 146 | Health Unresolved | |
| 137 | Pena Blanca | F | 42 | 854 | 165 | Health Unresolved | |
| 138 | Regina | F | 42 | 705 | 111 | Health Unresolved | |
| 139 | Truchas | F | 42 | 629 | 66 | Health Unresolved | |
| 140 | Cleveland | F | 42 | 621 | 145 | Health Unresolved | |
| 141 | Las Vegas | F | 41.5 | 15K | 376 | Health Unresolved | |
| 142 | Ruidoso | F | 41.1 | 16K | 389 | Health Unresolved | |
| 143 | Hagerman | F | 41 | 2K | 166 | Health Unresolved | |
| 144 | Quemado | F | 41 | 879 | 176 | Health Unresolved | |
| 145 | Tesuque | F | 41 | 651 | 314 | Health Unresolved | |
| 146 | Laguna | F | 40.8 | 6K | 309 | Health Unresolved | |
| 147 | Clovis | F | 40.6 | 42K | 401 | Health Unresolved | |
| 148 | Dona Ana | F | 40.5 | 17K | 82 | Health PFAS Unresolved | |
| 149 | Farmington | F | 40.4 | 57K | 263 | Health Unresolved | |
| 150 | Albuquerque | F | 40.2 | 629K | 3147 | Health Unresolved | |
| 151 | Las Cruces | F | 40.1 | 134K | 861 | Health Unresolved | |
| 152 | Cuba | F | 38 | 2K | 156 | Health Unresolved | |
| 153 | Alcalde | F | 38 | 1K | 168 | Health Unresolved | |
| 154 | Mimbres | F | 38 | 610 | 56 | Health Unresolved | |
| 155 | Alamogordo | F | 37.9 | 37K | 247 | Health PFAS Unresolved | |
| 156 | Alto | F | 37.2 | 5K | 376 | Health Unresolved | |
| 157 | Arroyo Hondo | F | 37 | 694 | 190 | Health Unresolved | |
| 158 | Santa Fe | F | 35.7 | 118K | 1429 | Health Unresolved | |
| 159 | Hobbs | F | 34.5 | 41K | 192 | Health PFAS Unresolved | |
| 160 | Tijeras | F | 33 | 2K | 920 | Health Lead Unresolved | |
| 161 | Gallup | F | 31.9 | 22K | 396 | Health Unresolved | |
| 162 | Maxwell | F | 31 | 601 | 89 | Health Lead Unresolved | |
| 163 | Ramah, Pinehill | F | 27.1 | 1K | 333 | Health Lead Unresolved |