MyCleanWater

Minnesota Water Quality by City

Water quality reports for 722 cities in Minnesota.

CityPopulationContaminantsAbove LimitPFASViolations
Minneapolis425K10None22 active
St. Paul393K20None6 active
Rochester124K20None21 active
Bloomington91K10None1 active
Brooklyn Park90K62None6 active
Duluth87K00None3 active
Woodbury83K73None1 active
Plymouth81K20None2 active
Maple Grove75K20None1 active
St. Cloud71K10None3 active
Blaine70K20None8 active
Eagan68K20None1 active
Lakeville67K10NoneNone
Coon Rapids64K10None1 active
Eden Prairie64K10NoneNone
Burnsville62K20NoneNone
Minnetonka54K20NoneNone
Edina53K20None6 active
Apple Valley50K30None3 active
St. Louis Park50K20None5 active
Shakopee47K50None12 active
Moorhead45K20None2 active
Mankato43K10None22 active
Cottage Grove40K20None13 active
Richfield37K10NoneNone
Roseville36K10NoneNone
Inver Grove Heights34K30None2 active
Brooklyn Center34K31NoneNone
Albertville31K10None22 active
Savage30K10None6 active
Chaska30K10None6 active
Oakdale29K10None4 active
Winona28K10NoneNone
Fridley27K10None5 active
Rosemount27K10None12 active
Owatonna26K10None1 active
Austin26K10None11 active
Shoreview26K10None2 active
White Bear Lake26K21None7 active
Prior Lake25K10None4 active
Chanhassen25K10None6 active
Champlin24K00None3 active
Faribault24K10None6 active
Farmington24K10None3 active
Hastings23K72None8 active
Golden Valley23K20None1 active
Crystal23K10NoneNone
New Brighton23K10NoneNone
Columbia Heights22K10None3 active
Andover21K20NoneNone
Willmar21K10None5 active
New Hope21K10None3 active
Northfield21K20None7 active
South St. Paul21K61None9 active
Sartell20K10None9 active
Elk River20K00None6 active
Stillwater19K62None10 active
Hopkins19K10None3 active
Otsego19K00NoneNone
Albert Lea18K10None4 active
Anoka18K31None6 active
Lino Lakes18K10None1 active
Ramsey18K10NoneNone
Buffalo17K00None3 active
Red Wing16K10None1 active
Hibbing16K00None5 active
Bemidji15K00None10 active
Monticello15K30None10 active
Alexandria15K41None13 active
Brainerd15K00None11 active
Robbinsdale15K30NoneNone
Hutchinson15K00None2 active
North Mankato14K10None1 active
Rogers14K20None1 active
Fergus Falls14K10None1 active
New Ulm14K10None3 active
Worthington14K10None1 active
Marshall14K20None2 active
Sauk Rapids14K93NoneNone
Lake Benton14K10None1 active
Waconia13K10None7 active
Mounds View13K10NoneNone
North St. Paul13K31None2 active
Vadnais Heights13K10NoneNone
Cloquet13K21None18 active
Big Lake12K20None10 active
Hugo12K10NoneNone
Forest Lake12K00None5 active
St. Peter12K10NoneNone
Grand Rapids11K00None7 active
Lake Elmo11K31None11 active
Victoria11K10None20 active
Fairmont10K20None2 active
Detroit Lakes10K10None16 active
Arden Hills10K10None6 active
Cambridge10K00None7 active
Mound9K10None7 active
Baxter9K00NoneNone
Waseca9K10None7 active
East Grand Forks9K20None7 active
Little Falls9K10None2 active
Thief River Falls9K10None32 active
Virginia8K00None1 active
Waite Park8K83None6 active
New Prague8K10NoneNone
Mahtomedi8K10None6 active
Belle Plaine7K10None7 active
Isanti7K00NoneNone
Crookston7K10None2 active
Hermantown7K00NoneNone
Spring Lake Park7K00None4 active
St. Joseph7K00None4 active
Stewartville7K00None8 active
Kasson7K10None8 active
Litchfield7K10None7 active
Zimmerman7K10None11 active
Carver7K10None2 active
Jordan7K10None9 active
Delano7K10None6 active
Byron6K00None4 active
North Branch6K00None7 active
Minnetrista6K10NoneNone
Jeffers6K10None5 active
International Falls6K00None2 active
Glencoe6K10NoneNone
St. Paul Park5K10None1 active
Morris5K10None16 active
Montevideo5K10NoneNone
Redwood Falls5K10None3 active
St. Francis5K00NoneNone
Princeton5K21None8 active
Circle Pines5K10None7 active
Lake City5K10None13 active
Becker5K62NoneNone
Lacrescent5K00None1 active
Elko-new Market5K10NoneNone
Luverne5K10None12 active
Chisholm5K00None3 active
Lindstrom5K00None16 active
Dayton5K00NoneNone
Dilworth5K20None12 active
Oak Park Heights5K50None2 active
Windom5K10None1 active
St. James5K10None3 active
Wayzata5K20None1 active
Sauk Centre5K00None6 active
Watertown5K10None7 active
Wadena4K00NoneNone
Park Rapids4K00None1 active
Pipestone4K20NoneNone
Cannon Falls4K00None8 active
Hamel4K10None5 active
Cold Spring4K00None6 active
Lesueur4K10None3 active
Newport4K41None7 active
Wyoming4K00NoneNone
Centerville4K10None1 active
Lonsdale4K10NoneNone
Montrose4K00None2 active
Shorewood4K20None8 active
Norwood Young America4K00NoneNone
St. Charles4K00None5 active
Mora4K10None1 active
Eveleth4K10None2 active
Chisago City4K10None12 active
Long Prairie4K10None5 active
Two Harbors4K00None1 active
Melrose4K20None7 active
Sleepy Eye4K10NoneNone
Lakeland4K20NoneNone
Pine City3K00None7 active
Benson3K00NoneNone
Annandale3K10None7 active
Perham3K00None4 active
Montgomery3K00None7 active
Breckenridge3K10None3 active
Plainview3K00None2 active
Rush City3K00None5 active
Pine Island3K00None4 active
Jackson3K10None2 active
Warren3K00None5 active
Eagle Lake3K00None7 active
Ely3K00None2 active
Blue Earth3K10NoneNone
Zumbrota3K00None4 active
Proctor3K00None2 active
Orono3K00None1 active
Milaca3K00None18 active
Staples3K00None3 active
Chatfield3K00None8 active
Corcoran3K00NoneNone
Dodge Center3K00None1 active
Mountain Iron3K00None3 active
Granite Falls3K00None2 active
Caledonia3K00None5 active
Albany3K00None9 active
Cokato3K00None5 active
Barnesville3K00None7 active
Lake Bronson3K00None5 active
Lexington3K00None5 active
Roseau3K00None3 active
Foley3K00None5 active
Glenwood3K00None7 active
Bayport3K00None8 active
Osseo3K00None9 active
Spring Valley3K00None2 active
Pelican Rapids3K00None14 active
Lake Crystal3K00None5 active
Le Center3K00None7 active
Paynesville3K00None3 active
Wabasha3K00None2 active
Collegeville3K00None5 active
Excelsior2K00None45 active
Crosby2K00None8 active
St. Bonifacius2K00None3 active
Olivia2K00None5 active
Wells2K00NoneNone
Madelia2K00None2 active
Janesville2K00None10 active
Gaylord2K00None10 active
Hawley2K00None12 active
Arlington2K10None8 active
Winsted2K00None6 active
Maple Lake2K00None2 active
Howard Lake2K00None13 active
Maple Plain2K00None2 active
Aitkin2K00NoneNone
Rice2K00None5 active
Tracy2K00None1 active
Clearwater2K00NoneNone
Waverly2K00NoneNone
Springfield2K00None1 active
Eyota2K00None3 active
Oronoco2K00None1 active
Ortonville2K10None6 active
Hoyt Lakes2K00None7 active
Mountain Lake2K00None4 active
Coleraine2K00None1 active
Blooming Prairie2K00None1 active
Slayton2K00None9 active
Hinckley2K00NoneNone
Lester Prairie2K00None5 active
Mayer2K00None1 active
Waterville2K00None3 active
Rushford2K00None6 active
Warroad2K00None10 active
Gilbert2K00None4 active
Silver Bay2K00None1 active
Kenyon2K00None2 active
Braham2K00NoneNone
Moose Lake2K00None18 active
Osakis2K00None4 active
Canby2K00None1 active
Aurora2K00None9 active
Mapleton2K00None13 active
Spring Park2K00None4 active
Long Lake2K00None6 active
Ada2K00None4 active
Cologne2K00NoneNone
Lakefield2K00None5 active
Avon2K00None1 active
Stacy2K00None3 active
Sandstone2K00None3 active
Dawson2K00None8 active
Lewiston2K00None8 active
Madison2K00None4 active
Dassel2K00None2 active
Pierz2K00NoneNone
Dundas1K00NoneNone
Richmond1K00NoneNone
Wheaton1K00None7 active
Starbuck1K00None6 active
St. Augusta1K00NoneNone
Frazee1K00None1 active
Winnebago1K00None1 active
Glyndon1K00NoneNone
Fosston1K00None13 active
Minneota1K00None6 active
Babbitt1K00None2 active
Appleton1K00None5 active
Hayfield1K00None6 active
Clara City1K00None6 active
Menahga1K00NoneNone
Grand Marais1K00None1 active
Spicer1K00None1 active
Winthrop1K00None4 active
Red Lake Falls1K00None8 active
Preston1K00None16 active
Fulda1K00None5 active
Renville1K00NoneNone
Fairfax1K00None5 active
Spring Grove1K00None5 active
Bagley1K00None4 active
New York Mills1K00NoneNone
Elbow Lake1K00None1 active
Edgerton1K00None7 active
New London1K00None3 active
Royalton1K00NoneNone
Cottonwood1K00NoneNone
Adrian1K00None17 active
Mahnomen1K00None4 active
New Richland1K00None2 active
Medford1K00None4 active
Goodhue1K00NoneNone
Pequot Lakes1K00NoneNone
Mantorville1K00NoneNone
Shafer1K00None10 active
Grand Meadow1K00None3 active
Carlton1K00NoneNone
Atwater1K00NoneNone
Hector1K00None1 active
Tyler1K00None5 active
Nicollet1K00NoneNone
Truman1K00None11 active
Elgin1K00NoneNone
Wanamingo1K00None5 active
Keewatin1K00None3 active
Taylors Falls1K00NoneNone
Sherburn1K00None3 active
Harmony1K00None5 active
Eden Valley1K00NoneNone
Bird Island1K00None6 active
Parkers Prairie1K00NoneNone
Madison Lake1K00None1 active
Buhl1K00None12 active
Cohasset1K00NoneNone
Houston99700NoneNone
Walker99000None5 active
Morristown98700None3 active
Biwabik97500None2 active
Nashwauk97100None3 active
Leroy95900NoneNone
Watkins95800NoneNone
Baudette94700None4 active
Deer River94200None1 active
Pine River93900NoneNone
Battle Lake91800None1 active
Kimball91100None1 active
Morgan89600None3 active
Henderson88600NoneNone
Hilltop88000NoneNone
Birchwood86400None8 active
Henning85100NoneNone
Hallock85000NoneNone
Silver Lake85000None3 active
St. Clair84610None2 active
Hancock84500None4 active
Mazeppa84200NoneNone
Clarkfield84100None7 active
Browerville83600NoneNone
Lamberton82800None3 active
Blackduck82600None1 active
Walnut Grove82500NoneNone
Bovey82100None1 active
Isle82000NoneNone
Kerkhoven80600NoneNone
Ham Lake80400NoneNone
Dover79200None10 active
Gibbon79000None8 active
Fertile78900NoneNone
Onamia78900None1 active
Westbrook78500NoneNone
West Concord77300None2 active
Claremont77300NoneNone
Holdingford77010NoneNone
Raymond76500NoneNone
Rockville76500NoneNone
Belgrade74500None2 active
Sebeka73900None1 active
Wabasso73500NoneNone
Trimont73400NoneNone
Lake Park72900None3 active
Lanesboro72700None1 active
Brownton72200None3 active
Cleveland71900NoneNone
Mabel71500NoneNone
Karlstad71300None1 active
Twin Valley70700NoneNone
Hoffman70300None4 active
Buffalo Lake70300NoneNone
Marble69900NoneNone
Stockton69700NoneNone
Clarks Grove69500NoneNone
Ottertail69400NoneNone
Heron Lake69100None11 active
Cass Lake69100None2 active
Hampton69100None8 active
Hills68500NoneNone
Freeport68500NoneNone
Minnesota Lake68300NoneNone
Brownsdale68200NoneNone
Motley68000NoneNone
Greenbush68000None2 active
Adams67200NoneNone
Kasota67000None1 active
Clear Lake66900None2 active
Rollingstone66400NoneNone
Elmore66300None1 active
Clarissa66200None2 active
Alden66100None2 active
Elysian65600NoneNone
Welcome65300None3 active
Randall65000NoneNone
Hendricks65000None1 active
Brooten64600NoneNone
Taconite64400NoneNone
Balaton63900NoneNone
Loretto63700None1 active
Ellendale63600None2 active
Grove City63500NoneNone
Courtland63500NoneNone
Hill City63300NoneNone
Sabin62900NoneNone
Jasper62300None1 active
Oak Grove62300NoneNone
Barnum62100None4 active
Evansville60300NoneNone
Green Isle59900None6 active
Butterfield58600None3 active
Mcintosh58400NoneNone
Good Thunder58300None6 active
Ironton57800NoneNone
Cook57400None3 active
Audubon57000None2 active
Stephen56800NoneNone
Browns Valley56600None2 active
Glenville56600NoneNone
Ranier56500NoneNone
Kandiyohi56000None1 active
Ivanhoe55900NoneNone
Bertha55700None5 active
Hokah55500NoneNone
Halstad55000None9 active
Minnetonka Beach54700None3 active
Graceville54300None2 active
Eagle Bend54200NoneNone
Littlefork54200NoneNone
Geneva53800None1 active
Amboy53510None5 active
Argyle53300None3 active
Deerwood53000None7 active
Hamburg53000None2 active
Willernie52500None3 active
Pillager52300NoneNone
Lyle52100NoneNone
Laprairie52000NoneNone
Cosmos51300NoneNone
Verndale50600NoneNone
Brewster50600None1 active
Lafayette50400NoneNone
Rothsay50300NoneNone
Floodwood50100NoneNone
Brandon50100None5 active
East Bethel50000NoneNone
Ulen50000None2 active
Prinsburg49700NoneNone
Franklin49600NoneNone
Altura49300None11 active
Pennock49200None2 active
Carlos49200NoneNone
Kiester49100NoneNone
Sacred Heart48500None7 active
Racine48200None1 active
Upsala48200NoneNone
Stewart48200None5 active
Ashby47200None5 active
Kellogg46900None2 active
Minnesota City46400None2 active
Ellsworth46200None3 active
North Oaks45900NoneNone
Clearbrook45800NoneNone
New Auburn45600None1 active
Vermillion45100NoneNone
Lynd44800NoneNone
Danube44600None5 active
Tower44600None8 active
Wykoff44400None1 active
Akeley42600None1 active
Badger42500NoneNone
Wood Lake42300NoneNone
New Germany42200None1 active
Milan41800None3 active
Oklee41100NoneNone
Willow River41000NoneNone
Fountain40700NoneNone
Sturgeon Lake40600NoneNone
Cedar40600None2 active
Waubun40400None1 active
Comfrey40200NoneNone
Fisher40100None1 active
Chokio40000None5 active
Morton40000None3 active
Rose Creek40000NoneNone
Harris40000None3 active
Wrenshall39900NoneNone
Bigfork39700NoneNone
Ogilvie39700None1 active
Clinton39500None11 active
Mcgregor39400NoneNone
Hanska39300None6 active
Nevis39000NoneNone
Scandia38800None4 active
Maynard38800NoneNone
Herman38600NoneNone
Erskine38400NoneNone
Emmons38400NoneNone
Underwood38000NoneNone
Alvarado37700NoneNone
Round Lake37600NoneNone
Barrett37400None6 active
Ghent37000None1 active
Remer36900None1 active
Ceylon36900None2 active
Askov36400NoneNone
Lancaster36100None7 active
Bricelyn35900NoneNone
Vergas35800NoneNone
Newfolden35800None6 active
Randolph35500None5 active
Garfield35000NoneNone
Darwin35000None3 active
Wilmont34400None3 active
St. Martin34300None5 active
Rushmore34200NoneNone
Foreston34000NoneNone
Sanborn33900NoneNone
Dexter33800None3 active
Russell33800None6 active
Lowry33300None4 active
Calumet33200None3 active
Grey Eagle33000None1 active
Swanville32900None3 active
Deer Creek32900NoneNone
Vernon Center32300NoneNone
Hartland32100None3 active
New Munich32000None6 active
Plato31900NoneNone
Vesta31900NoneNone
Cyrus31800NoneNone
Canton31600NoneNone
Maplewood31500NoneNone
Finlayson31500None1 active
Greenfield31300NoneNone
Buckman30900None6 active
Hackensack30600NoneNone
Murdock30600None1 active
Center City30500None6 active
Belview30000None3 active
Middle River29900None2 active
Nerstrand29900NoneNone
Granada29700NoneNone
Beaver Creek29700NoneNone
Hollandale29400None5 active
Utica29300NoneNone
Hendrum28500None2 active
Bowlus28000None1 active
Eitzen27600None4 active
Gonvick27600NoneNone
Plummer27600None5 active
Hanley Falls27500None1 active
Chandler27000None8 active
Echo26900NoneNone
Backus26700NoneNone
Little Canada26600NoneNone
Rushford Village26500NoneNone
Kensington26400NoneNone
Kelliher25900None2 active
Freeborn25900None4 active
St. Hilaire25700None1 active
Ostrander25600None5 active
Hewitt25500NoneNone
Hayward25400None1 active
Milroy25200NoneNone
Cromwell25000NoneNone
Orr24900None2 active
Lake Wilson24700None2 active
Pemberton24700None2 active
Pease24200NoneNone
Oslo24200NoneNone
Lismore23700NoneNone
Lake Lillian23600None5 active
Bigelow23500None1 active
Callaway23400None1 active
Gary22600None1 active
Currie22600NoneNone
Lewisville22500None6 active
Climax22300None6 active
Ruthton22000None8 active
Dennison22000None3 active
Donnelly21600NoneNone
Waldorf21600None3 active
Beardsley21600None11 active
Storden21500None5 active
Magnolia21400NoneNone
Peterson21300None6 active
Northrop21100None2 active
Lucan21000NoneNone
Dalton20900NoneNone
Leota20900None3 active
Hitterdal20800NoneNone
Ogema20600NoneNone
Easton19900None3 active
Hardwick19800NoneNone
Big Falls19200NoneNone
Frost19100None1 active
Webster19000None35 active
Okabena18800None4 active
Holland18700NoneNone
South Haven18300None3 active
Winger18100NoneNone
Zumbro Falls18100NoneNone
Kennedy18100None3 active
Porter18000None4 active
Lansing Township18000NoneNone
Steen18000None3 active
Grygla17900None4 active
Felton17800None1 active
Boyd17500NoneNone
Watson17500NoneNone
Shelly17400None6 active
Winton17300None3 active
Delavan17100None4 active
Millville17100NoneNone
Bellechester16900None1 active
Bellingham16800NoneNone
Kettle River16800None1 active
Wendell16700NoneNone
Dunnell16700NoneNone
Palisade16600None3 active
Iona16200NoneNone
Warba16200None2 active
Blomkest16100None19 active
Campbell15900NoneNone
Clements15700NoneNone
Waltham15700None9 active
Northome15600None2 active
Kinney15400NoneNone
Elkton14900None10 active
Elba14600None3 active
Laporte14000NoneNone
Conger13700None1 active
Taunton13500None4 active
Marietta13500None1 active
Meadowlands13500NoneNone
Mapleview13500None1 active
Garvin13500NoneNone
Twin Lakes13400None1 active
Kilkenny13400NoneNone
Brook Park13300None2 active
Riverton13200None2 active
Beaver Bay13000None9 active
Ormsby12900None2 active
Bingham Lake12800None3 active
Wolverton12400None6 active
Columbus12300NoneNone
Perley11300NoneNone
Alpha11200None1 active
Avoca11100None2 active
Warsaw11000NoneNone
Degraff11000None1 active
Hammond11000None3 active
Mckinley11000None2 active
Odin10900None5 active
Woodstock10800None6 active
Goodridge10000None4 active
Borup9900None4 active
St. Leo9700None4 active
Odessa9600None15 active
Comstock9500None2 active
Revere9500None5 active
Marine on St. Croix9500None3 active
Alberta9200NoneNone
Lasalle9000None2 active
Pinewood9000NoneNone
Salol9000NoneNone
Iron Junction8700NoneNone
Darfur8700NoneNone
Holloway8600None3 active
Evan8600NoneNone
Trosky8600None7 active
Viking8500NoneNone
Beltrami8500NoneNone
Wanda8400None3 active
Crosslake8400NoneNone
Bock8300NoneNone
East Gull Lake8100NoneNone
Bejou7600None2 active
Georgetown7600None6 active
Nielsville7600None1 active
Togo7500NoneNone
Dumont7500None4 active
Reading7500None2 active
Arco7400NoneNone
Walters7100None7 active
Puposky7000None1 active
Dundee6800NoneNone
Tintah6800None4 active
Longville6400NoneNone
Strandquist6300None4 active
Ihlen6300NoneNone
Kent6300NoneNone
Dovray6100NoneNone
Hazel Run6100NoneNone
Sargeant6100NoneNone
Wilder6000NoneNone
Nassau6000NoneNone
Kenneth5600None1 active
Hatfield5400NoneNone
Manchester5300None2 active
Norcross5000None11 active
Myrtle4800None5 active
Iron4400None3 active
Nisswa4200NoneNone
Garrison4000NoneNone
Miltona4000NoneNone
Correll3500None3 active
Cobden3300NoneNone
Verdi3200None1 active
Flom2600NoneNone
Crystal Bay2500NoneNone
Johnson2500None14 active
Grasston2500None7 active