Oregon Tap Water Quality Report
308 cities analyzed • 3,162,432 people served
Updated March 2026 • Data from EWG & EPA SDWIS
Most Common Contaminants in Oregon
| Contaminant | Found In | % of Cities |
|---|---|---|
| Nitrate carcinogen | 232 of 308 | 75% |
| Total trihalomethanes (TTHMs) carcinogen | 219 of 308 | 71% |
| Haloacetic acids (HAA5) carcinogen | 171 of 308 | 56% |
| Barium | 81 of 308 | 26% |
| Nitrate and nitrite carcinogen | 73 of 308 | 24% |
| Manganese | 54 of 308 | 18% |
| Arsenic carcinogen | 53 of 308 | 17% |
| Strontium | 51 of 308 | 17% |
| Haloacetic acids (HAA9) carcinogen | 50 of 308 | 16% |
| Fluoride | 50 of 308 | 16% |
City-by-City Water Quality Rankings
Ranked by number of contaminants above EWG health guidelines (most to fewest).
| # | City | Detected | Above Guidelines | Above Legal | People Served |
|---|---|---|---|---|---|
| 1 | Klamath Falls | 15 | 8 | 0 | 40,475 |
| 2 | Hermiston | 17 | 8 | 0 | 19,696 |
| 3 | Cornelius | 16 | 8 | 0 | 13,201 |
| 4 | Bend | 20 | 7 | 0 | 77,704 |
| 5 | Tigard | 11 | 7 | 0 | 62,500 |
| 6 | Lake Oswego | 11 | 7 | 0 | 40,000 |
| 7 | Keizer | 15 | 7 | 0 | 38,585 |
| 8 | Wilsonville | 13 | 7 | 0 | 25,915 |
| 9 | Sherwood | 13 | 7 | 0 | 19,885 |
| 10 | Pendleton | 12 | 7 | 0 | 17,169 |
| 11 | Prineville | 13 | 7 | 0 | 11,000 |
| 12 | Portland | 15 | 6 | 0 | 666,200 |
| 13 | Beaverton | 12 | 6 | 0 | 224,600 |
| 14 | Hillsboro | 11 | 6 | 0 | 90,603 |
| 15 | Springfield | 11 | 6 | 0 | 62,100 |
| 16 | Happy Valley | 17 | 6 | 0 | 50,003 |
| 17 | Redmond | 14 | 6 | 0 | 37,566 |
| 18 | Milwaukie | 11 | 6 | 0 | 30,000 |
| 19 | Canby | 11 | 6 | 0 | 18,754 |
| 20 | Troutdale | 15 | 6 | 0 | 16,185 |
| 21 | Ontario | 12 | 6 | 0 | 14,465 |
| 22 | St Helens | 11 | 6 | 0 | 13,410 |
| 23 | Gladstone | 11 | 6 | 0 | 12,121 |
| 24 | Coquille | 9 | 6 | 0 | 3,953 |
| 25 | Nyssa | 7 | 6 | 0 | 3,285 |
| 26 | Lakeview | 6 | 6 | 0 | 2,300 |
| 27 | Mount Vernon | 8 | 6 | 0 | 525 |
| 28 | Antelope | 9 | 6 | 1 | 497 |
| 29 | Grants Pass | 8 | 5 | 0 | 37,138 |
| 30 | Oregon City | 12 | 5 | 0 | 33,940 |
| 31 | Clackamas | 11 | 5 | 0 | 29,918 |
| 32 | Tualatin | 15 | 5 | 0 | 28,000 |
| 33 | West Linn | 12 | 5 | 0 | 27,000 |
| 34 | Forest Grove | 9 | 5 | 0 | 26,838 |
| 35 | Newberg | 9 | 5 | 0 | 25,138 |
| 36 | Lincoln City | 9 | 5 | 0 | 20,830 |
| 37 | La Grande | 12 | 5 | 0 | 13,460 |
| 38 | Newport | 7 | 5 | 0 | 10,160 |
| 39 | Aumsville | 7 | 5 | 0 | 4,125 |
| 40 | Adrian | 5 | 5 | 1 | 180 |
| 41 | Battle Ground | 7 | 5 | 1 | 100 |
| 42 | Lexington | 8 | 5 | 0 | 0 |
| 43 | Athena | 8 | 5 | 0 | 0 |
| 44 | Salem | 13 | 4 | 0 | 199,820 |
| 45 | Eugene | 11 | 4 | 0 | 176,000 |
| 46 | Medford | 9 | 4 | 0 | 95,354 |
| 47 | Gresham | 8 | 4 | 0 | 73,932 |
| 48 | Corvallis | 11 | 4 | 0 | 56,000 |
| 49 | Albany | 9 | 4 | 0 | 54,945 |
| 50 | Mcminnville | 11 | 4 | 0 | 34,515 |
| 51 | Coos Bay | 7 | 4 | 0 | 34,500 |
| 52 | Roseburg | 8 | 4 | 0 | 28,800 |
| 53 | Woodburn | 9 | 4 | 0 | 26,013 |
| 54 | Ashland | 8 | 4 | 0 | 20,700 |
| 55 | Central Point | 9 | 4 | 0 | 19,785 |
| 56 | Dallas | 10 | 4 | 0 | 16,854 |
| 57 | The Dalles | 13 | 4 | 0 | 13,010 |
| 58 | Molalla | 4 | 4 | 0 | 10,298 |
| 59 | Warrenton | 6 | 4 | 0 | 9,100 |
| 60 | Talent | 9 | 4 | 0 | 6,293 |
| 61 | Junction City | 5 | 4 | 0 | 6,011 |
| 62 | Seal Rock | 7 | 4 | 0 | 6,000 |
| 63 | Phoenix | 9 | 4 | 0 | 5,900 |
| 64 | Gleneden Beach | 5 | 4 | 0 | 5,644 |
| 65 | Veneta | 12 | 4 | 0 | 4,800 |
| 66 | Lafayette | 7 | 4 | 0 | 4,423 |
| 67 | Wood Village | 6 | 4 | 0 | 3,907 |
| 68 | Toledo | 5 | 4 | 0 | 3,645 |
| 69 | Sisters | 6 | 4 | 0 | 3,235 |
| 70 | Jacksonville | 9 | 4 | 0 | 3,012 |
| 71 | Burns | 4 | 4 | 0 | 2,835 |
| 72 | Gaston | 7 | 4 | 0 | 2,500 |
| 73 | Rogue River | 5 | 4 | 0 | 2,345 |
| 74 | Turner | 13 | 4 | 0 | 2,215 |
| 75 | Vale | 4 | 4 | 0 | 1,950 |
| 76 | Gearhart | 8 | 4 | 0 | 1,780 |
| 77 | Hines | 6 | 4 | 0 | 1,563 |
| 78 | Rockaway Beach | 5 | 4 | 0 | 1,400 |
| 79 | Joseph | 4 | 4 | 0 | 1,158 |
| 80 | Prairie City | 4 | 4 | 0 | 841 |
| 81 | Gates | 4 | 4 | 0 | 500 |
| 82 | North Powder | 5 | 4 | 0 | 445 |
| 83 | Grand Ronde | 4 | 4 | 0 | 300 |
| 84 | Eagle Creek | 4 | 4 | 0 | 300 |
| 85 | Langlois | 6 | 4 | 0 | 220 |
| 86 | Sumpter | 4 | 4 | 0 | 205 |
| 87 | Jordan Valley | 4 | 4 | 0 | 175 |
| 88 | Otter Rock | 4 | 4 | 0 | 90 |
| 89 | White City | 5 | 4 | 0 | 45 |
| 90 | Prospect | 4 | 4 | 0 | 30 |
| 91 | Boardman | 8 | 4 | 0 | 0 |
| 92 | Heppner | 8 | 4 | 0 | 0 |
| 93 | Falls City | 4 | 4 | 0 | 0 |
| 94 | Dundee | 4 | 4 | 0 | 0 |
| 95 | Cannon Beach | 5 | 4 | 0 | 0 |
| 96 | Lebanon | 8 | 3 | 0 | 18,945 |
| 97 | Silverton | 3 | 3 | 0 | 10,484 |
| 98 | Baker City | 6 | 3 | 0 | 10,349 |
| 99 | Independence | 4 | 3 | 0 | 10,300 |
| 100 | Astoria | 3 | 3 | 0 | 10,181 |
| 101 | Fairview | 3 | 3 | 0 | 9,363 |
| 102 | Stayton | 4 | 3 | 0 | 7,800 |
| 103 | Sheridan | 7 | 3 | 0 | 6,200 |
| 104 | Odell | 4 | 3 | 0 | 5,973 |
| 105 | Creswell | 4 | 3 | 0 | 5,585 |
| 106 | Tillamook | 3 | 3 | 0 | 5,265 |
| 107 | Philomath | 6 | 3 | 0 | 4,670 |
| 108 | Myrtle Creek | 4 | 3 | 0 | 3,500 |
| 109 | Hubbard | 4 | 3 | 0 | 3,478 |
| 110 | Jefferson | 4 | 3 | 0 | 3,348 |
| 111 | Harbor | 3 | 3 | 0 | 3,150 |
| 112 | Waldport | 3 | 3 | 0 | 3,000 |
| 113 | Myrtle Point | 3 | 3 | 0 | 2,656 |
| 114 | Dayton | 5 | 3 | 0 | 2,535 |
| 115 | Willamina | 3 | 3 | 0 | 2,284 |
| 116 | Clatskanie | 3 | 3 | 0 | 2,188 |
| 117 | Union | 3 | 3 | 0 | 2,150 |
| 118 | Cave Junction | 4 | 3 | 0 | 2,005 |
| 119 | Netarts | 3 | 3 | 0 | 1,800 |
| 120 | Lakeside | 3 | 3 | 0 | 1,800 |
| 121 | John Day | 3 | 3 | 0 | 1,767 |
| 122 | Nehalem | 3 | 3 | 0 | 1,700 |
| 123 | Rickreall | 5 | 3 | 0 | 1,650 |
| 124 | Ophir | 5 | 3 | 0 | 1,500 |
| 125 | Depoe Bay | 3 | 3 | 0 | 1,398 |
| 126 | Pilot Rock | 5 | 3 | 0 | 1,326 |
| 127 | Lyons | 3 | 3 | 0 | 1,300 |
| 128 | Siletz | 3 | 3 | 0 | 1,264 |
| 129 | Neskowin | 3 | 3 | 0 | 1,200 |
| 130 | Coburg | 3 | 3 | 0 | 1,195 |
| 131 | Aurora | 3 | 3 | 0 | 1,133 |
| 132 | Yamhill | 5 | 3 | 0 | 1,130 |
| 133 | Adair Village | 3 | 3 | 0 | 875 |
| 134 | Wallowa | 4 | 3 | 0 | 840 |
| 135 | Halsey | 3 | 3 | 0 | 800 |
| 136 | Mulino | 3 | 3 | 0 | 700 |
| 137 | Canyon City | 3 | 3 | 0 | 666 |
| 138 | Otis | 3 | 3 | 0 | 620 |
| 139 | Mapleton | 4 | 3 | 0 | 600 |
| 140 | Boring | 3 | 3 | 0 | 550 |
| 141 | Oceanside | 3 | 3 | 0 | 500 |
| 142 | Wasco | 7 | 3 | 0 | 460 |
| 143 | Moro | 7 | 3 | 0 | 350 |
| 144 | Garibaldi | 3 | 3 | 1 | 280 |
| 145 | Rufus | 3 | 3 | 0 | 270 |
| 146 | Hebo | 3 | 3 | 0 | 250 |
| 147 | Paisley | 3 | 3 | 0 | 245 |
| 148 | Canyonville | 3 | 3 | 0 | 221 |
| 149 | Lostine | 4 | 3 | 0 | 215 |
| 150 | Westport | 5 | 3 | 0 | 188 |
| 151 | Timber | 5 | 3 | 0 | 180 |
| 152 | Richland | 5 | 3 | 0 | 165 |
| 153 | Idanha | 5 | 3 | 0 | 148 |
| 154 | Spray | 3 | 3 | 0 | 139 |
| 155 | Dexter | 3 | 3 | 0 | 120 |
| 156 | Monument | 5 | 3 | 0 | 115 |
| 157 | Marylhurst | 4 | 3 | 0 | 114 |
| 158 | Aloha | 5 | 3 | 0 | 88 |
| 159 | North Bend | 3 | 3 | 0 | 65 |
| 160 | Idleyld Park | 4 | 3 | 0 | 50 |
| 161 | Gervais | 4 | 3 | 0 | 0 |
| 162 | Columbia City | 4 | 3 | 0 | 0 |
| 163 | Merrill | 4 | 3 | 0 | 0 |
| 164 | Carlton | 3 | 3 | 0 | 0 |
| 165 | St Paul | 4 | 3 | 0 | 0 |
| 166 | Jasper | 4 | 3 | 0 | 0 |
| 167 | Arch Cape | 3 | 3 | 0 | 0 |
| 168 | Rhododendron | 8 | 3 | 0 | 0 |
| 169 | Colton | 3 | 3 | 0 | 0 |
| 170 | Fossil | 5 | 3 | 0 | 0 |
| 171 | Days Creek | 3 | 3 | 0 | 0 |
| 172 | Grass Valley | 7 | 3 | 0 | 0 |
| 173 | Sandy | 5 | 2 | 0 | 12,991 |
| 174 | Madras | 4 | 2 | 0 | 11,700 |
| 175 | Monmouth | 2 | 2 | 0 | 11,146 |
| 176 | Cottage Grove | 2 | 2 | 0 | 10,005 |
| 177 | Sweet Home | 2 | 2 | 0 | 9,415 |
| 178 | Winston | 3 | 2 | 0 | 8,300 |
| 179 | Sutherlin | 4 | 2 | 0 | 8,060 |
| 180 | Umatilla | 4 | 2 | 0 | 7,605 |
| 181 | Brookings | 2 | 2 | 0 | 7,120 |
| 182 | Estacada | 4 | 2 | 0 | 5,373 |
| 183 | Florence | 2 | 2 | 0 | 4,921 |
| 184 | Reedsport | 2 | 2 | 0 | 4,784 |
| 185 | Terrebonne | 5 | 2 | 0 | 4,000 |
| 186 | Harrisburg | 2 | 2 | 0 | 3,684 |
| 187 | Oakridge | 2 | 2 | 0 | 3,310 |
| 188 | Manzanita | 2 | 2 | 0 | 3,200 |
| 189 | Sublimity | 2 | 2 | 0 | 3,025 |
| 190 | Bandon | 2 | 2 | 0 | 3,000 |
| 191 | Gold Beach | 3 | 2 | 0 | 3,000 |
| 192 | Corbett | 5 | 2 | 0 | 2,954 |
| 193 | Stanfield | 3 | 2 | 0 | 2,200 |
| 194 | Banks | 3 | 2 | 0 | 2,070 |
| 195 | Riddle | 2 | 2 | 0 | 1,300 |
| 196 | Lowell | 4 | 2 | 0 | 1,264 |
| 197 | Glide | 2 | 2 | 0 | 1,200 |
| 198 | Drain | 3 | 2 | 0 | 1,151 |
| 199 | Yoncalla | 2 | 2 | 0 | 1,095 |
| 200 | Yachats | 2 | 2 | 0 | 1,006 |
| 201 | Donald | 6 | 2 | 0 | 985 |
| 202 | Glendale | 3 | 2 | 0 | 980 |
| 203 | Port Orford | 4 | 2 | 0 | 954 |
| 204 | Oakland | 3 | 2 | 0 | 954 |
| 205 | Powers | 3 | 2 | 0 | 712 |
| 206 | Huntington | 3 | 2 | 0 | 510 |
| 207 | Sacramento | 3 | 2 | 0 | 450 |
| 208 | Los Altos | 2 | 2 | 0 | 450 |
| 209 | Kerby | 2 | 2 | 0 | 400 |
| 210 | Wheeler | 2 | 2 | 0 | 400 |
| 211 | Rainier | 2 | 2 | 0 | 375 |
| 212 | Birkenfeld | 3 | 2 | 0 | 350 |
| 213 | Dorena | 2 | 2 | 0 | 340 |
| 214 | Ione | 4 | 2 | 0 | 330 |
| 215 | Cloverdale | 2 | 2 | 0 | 310 |
| 216 | Westfir | 2 | 2 | 0 | 250 |
| 217 | Elkton | 2 | 2 | 0 | 205 |
| 218 | Brownsville | 2 | 2 | 0 | 200 |
| 219 | Crater Lake | 3 | 2 | 0 | 200 |
| 220 | Helix | 2 | 2 | 0 | 190 |
| 221 | Irrigon | 2 | 2 | 0 | 175 |
| 222 | Idleyld | 2 | 2 | 0 | 161 |
| 223 | Detroit | 3 | 2 | 0 | 150 |
| 224 | St Benedictine | 2 | 2 | 0 | 150 |
| 225 | Wamic | 3 | 2 | 0 | 130 |
| 226 | Pacific City | 3 | 2 | 0 | 108 |
| 227 | Milton-freewater | 3 | 2 | 0 | 90 |
| 228 | Oxbow | 3 | 2 | 0 | 75 |
| 229 | Merlin | 2 | 2 | 0 | 65 |
| 230 | Lapine | 2 | 2 | 0 | 62 |
| 231 | East Vale | 2 | 2 | 0 | 60 |
| 232 | Seattle | 2 | 2 | 0 | 60 |
| 233 | Bothell | 3 | 2 | 0 | 50 |
| 234 | Vernonia | 4 | 2 | 0 | 45 |
| 235 | Dufur | 2 | 2 | 0 | 33 |
| 236 | Condon | 5 | 2 | 0 | 33 |
| 237 | Alsea | 3 | 2 | 0 | 0 |
| 238 | Cove | 2 | 2 | 0 | 0 |
| 239 | Butte Falls | 4 | 2 | 0 | 0 |
| 240 | Bay City | 2 | 2 | 0 | 0 |
| 241 | Mitchell | 3 | 2 | 0 | 0 |
| 242 | Arlington | 2 | 2 | 0 | 0 |
| 243 | Malin | 4 | 2 | 0 | 0 |
| 244 | Dayville | 2 | 2 | 0 | 0 |
| 245 | Mt. Angel | 1 | 1 | 0 | 3,650 |
| 246 | St. Helens | 1 | 1 | 1 | 2,500 |
| 247 | Mill City | 2 | 1 | 0 | 1,830 |
| 248 | Amity | 2 | 1 | 0 | 1,810 |
| 249 | Welches | 4 | 1 | 0 | 1,500 |
| 250 | Island City | 3 | 1 | 0 | 1,144 |
| 251 | Scio | 1 | 1 | 0 | 900 |
| 252 | Parkdale | 1 | 1 | 0 | 867 |
| 253 | Tygh Valley | 1 | 1 | 0 | 600 |
| 254 | Scotts Mills | 2 | 1 | 0 | 421 |
| 255 | Chiloquin | 1 | 1 | 0 | 352 |
| 256 | Bly | 1 | 1 | 0 | 352 |
| 257 | Enterprise | 1 | 1 | 0 | 350 |
| 258 | Tangent | 1 | 1 | 0 | 300 |
| 259 | Keno | 3 | 1 | 0 | 290 |
| 260 | Seneca | 1 | 1 | 0 | 200 |
| 261 | Government Camp | 1 | 1 | 0 | 200 |
| 262 | Long Creek | 1 | 1 | 0 | 195 |
| 263 | Seaside | 1 | 1 | 0 | 160 |
| 264 | Blue River | 1 | 1 | 0 | 150 |
| 265 | Brightwood | 2 | 1 | 0 | 150 |
| 266 | Irvine | 1 | 1 | 0 | 150 |
| 267 | Auroa | 2 | 1 | 0 | 140 |
| 268 | Deer Island | 1 | 1 | 0 | 100 |
| 269 | Elmira | 1 | 1 | 0 | 100 |
| 270 | Mcminville | 1 | 1 | 0 | 97 |
| 271 | Walnut Creek | 3 | 1 | 0 | 96 |
| 272 | Eagle Point | 1 | 1 | 0 | 80 |
| 273 | Wheller | 1 | 1 | 0 | 80 |
| 274 | Gold Hill | 1 | 1 | 0 | 72 |
| 275 | Unity | 2 | 1 | 0 | 71 |
| 276 | Lynden | 1 | 1 | 0 | 60 |
| 277 | Marcola | 2 | 1 | 0 | 56 |
| 278 | Tenmile | 1 | 1 | 0 | 35 |
| 279 | Tidewater | 1 | 1 | 0 | 32 |
| 280 | Applegate | 1 | 1 | 0 | 26 |
| 281 | Mosier | 1 | 1 | 0 | 0 |
| 282 | Cascade Locks | 1 | 1 | 0 | 0 |
| 283 | Sunriver | 6 | 1 | 0 | 0 |
| 284 | Crescent | 6 | 1 | 0 | 0 |
| 285 | Echo | 2 | 1 | 0 | 0 |
| 286 | Imbler | 1 | 1 | 0 | 0 |
| 287 | Hood River | 1 | 0 | 0 | 5,532 |
| 288 | La Pine | 1 | 0 | 0 | 2,807 |
| 289 | Elgin | 0 | 0 | 0 | 1,717 |
| 290 | Christmas Valley | 1 | 0 | 0 | 950 |
| 291 | Weston | 2 | 0 | 0 | 714 |
| 292 | Gilcrest | 1 | 0 | 0 | 440 |
| 293 | Maupin | 0 | 0 | 0 | 420 |
| 294 | Haines | 2 | 0 | 0 | 415 |
| 295 | Damascus | 1 | 0 | 0 | 400 |
| 296 | Halfway | 0 | 0 | 0 | 300 |
| 297 | Camp Sherman | 1 | 0 | 0 | 285 |
| 298 | Vancouver | 1 | 0 | 0 | 275 |
| 299 | Ukiah | 0 | 0 | 0 | 235 |
| 300 | Shady Cove | 0 | 0 | 0 | 175 |
| 301 | Scappoose | 3 | 0 | 0 | 150 |
| 302 | Park City | 1 | 0 | 0 | 110 |
| 303 | Diamond Lake | 2 | 0 | 0 | 90 |
| 304 | Sprague River | 1 | 0 | 0 | 60 |
| 305 | Leaburg | 1 | 0 | 0 | 45 |
| 306 | Scottsburg | 0 | 0 | 0 | 22 |
| 307 | Adams | 2 | 0 | 0 | 0 |
| 308 | Melba | 1 | 0 | 0 | 0 |
Recommended Filtration for Oregon
Based on the most common contaminants found across Oregon (Nitrate, Total trihalomethanes (TTHMs), Haloacetic acids (HAA5)), we recommend a reverse osmosis system or high-quality carbon block filter to remove disinfection byproducts and their precursors.
Echo RO System
Removes up to 99.9% of contaminants. The gold standard for drinking water in Oregon homes.
View RO SystemsEcho Whole-Home Filter
Protect every tap in your home from chlorine, VOCs, and disinfection byproducts.
View Whole-Home FiltersEcho Hydrogen Water Flask
Once your water is clean, supercharge it with molecular hydrogen for antioxidant and anti-inflammatory benefits.
Shop Hydrogen FlaskFrequently Asked Questions
Is Oregon tap water safe to drink?
Water quality varies significantly across Oregon. Of the 308 cities analyzed, the average city has 2.9 contaminants above EWG health guidelines. The best water quality was found in Hood River. We recommend checking your specific city's report for detailed information.
What city has the best water in Oregon?
Based on our analysis, Hood River has the fewest contaminants above EWG health guidelines in Oregon, with 0 above guideline levels.
What city has the worst water in Oregon?
Based on our analysis, Cornelius has the most contaminants above EWG health guidelines in Oregon, with 8 above guideline levels.
What's the best water filter for Oregon residents?
For most Oregon households, we recommend a reverse osmosis (RO) system for drinking water and a whole-home filter for showers and baths. The specific recommendation depends on your city's contaminant profile — check your city's report for personalized guidance.
National Water Quality Reports
Data sources: Environmental Working Group (EWG) Tap Water Database, U.S. EPA Safe Drinking Water Information System (SDWIS)
Last updated: March 2026
Methodology: Contaminant levels are compared against both EPA legal limits (Maximum Contaminant Levels) and EWG health guidelines, which are often stricter and based on the latest scientific research.