Oregon Water Quality Report (2026)

By Echo Water Research Team 12 min read
Oregon Water Quality Report (2026)

Oregon Tap Water Quality Report

308 cities analyzed • 3,162,432 people served

Updated March 2026 • Data from EWG & EPA SDWIS

308
Cities Analyzed
2.9
Avg Above Guidelines
3,162,432
Total Population Served
Best Water Quality
Hood River (0 above guidelines)
Most Concerns
Cornelius (8 above guidelines)

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

Live in Oregon?

Get a free personalized water quality report for your address.

Check Your Water

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 Systems

Echo Whole-Home Filter

Protect every tap in your home from chlorine, VOCs, and disinfection byproducts.

View Whole-Home Filters

Echo Hydrogen Water Flask

Once your water is clean, supercharge it with molecular hydrogen for antioxidant and anti-inflammatory benefits.

Shop Hydrogen Flask

Frequently 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.

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.

Share
Leave a comment

This site is protected by hCaptcha and the hCaptcha Privacy Policy and Terms of Service apply.