PFAS in Minnesota tap water
16 of 196 tested systems measured above the federal limit. 88 had a detection of any kind.
Every public water system below was required by the EPA to test for 29 PFAS compounds. Sorted by the highest PFOA or PFOS reading, worst first. Find yours for the full set of readings and what removes them.
| Water system | Highest PFOA | Highest PFOS | Found | Against the 4 ppt limit |
|---|---|---|---|---|
| Hastings, MN | 23.7 ppt | 4.6 ppt | 7 of 29 | Above |
| Waite Park | 5.5 ppt | 18 ppt | 8 of 29 | Above |
| Woodbury | 17.1 ppt | 8.4 ppt | 7 of 29 | Above |
| Lake Elmo | 12 ppt | none detected | 3 of 29 | Above |
| Sauk Rapids | 8.1 ppt | 12 ppt | 8 of 29 | Above |
| Brooklyn Park | 10.5 ppt | 9.5 ppt | 5 of 29 | Above |
| Cloquet | none detected | 8.4 ppt | 2 of 29 | Above |
| Stillwater | 5.2 ppt | 8.1 ppt | 5 of 29 | Above |
| South Saint Paul | 7.6 ppt | none detected | 6 of 29 | Above |
| Newport | 6.9 ppt | none detected | 4 of 29 | Above |
| Brooklyn Center | none detected | 6 ppt | 3 of 29 | Above |
| Princeton | none detected | 4.9 ppt | 2 of 29 | Above |
| Becker | 4.3 ppt | 4.6 ppt | 6 of 29 | Above |
| White Bear Township | 4.6 ppt | none detected | 2 of 29 | Above |
| Alexandria | none detected | 4.4 ppt | 3 of 29 | Above |
| North Saint Paul | none detected | 4.2 ppt | 3 of 29 | Above |
| Albert Lea | none detected | none detected | 0 of 29 | Within |
| Amboy | none detected | none detected | 0 of 29 | Within |
| Andover | none detected | none detected | 1 of 29 | Within |
| Annandale | none detected | none detected | 0 of 29 | Within |
| Anoka | none detected | none detected | 2 of 29 | Within |
| Apple Valley | none detected | none detected | 2 of 29 | Within |
| Arden Hills | none detected | none detected | 2 of 29 | Within |
| Arlington | none detected | none detected | 0 of 29 | Within |
| Austin Utilities | none detected | none detected | 0 of 29 | Within |
| Baxter | none detected | none detected | 0 of 29 | Within |
| Bayer U.S.-Crop Science | none detected | none detected | 0 of 29 | Within |
| Belle Plaine | none detected | none detected | 0 of 29 | Within |
| Bemidji | none detected | none detected | 0 of 29 | Within |
| Big Lake | none detected | none detected | 2 of 29 | Within |
| Bird Island | none detected | none detected | 0 of 29 | Within |
| Blaine | none detected | none detected | 1 of 29 | Within |
| Bloomington, MN | none detected | none detected | 1 of 29 | Within |
| Blue Earth Light and Water | none detected | none detected | 0 of 29 | Within |
| Brainerd | none detected | none detected | 0 of 29 | Within |
| Breckenridge | none detected | none detected | 0 of 29 | Within |
| Buffalo | none detected | none detected | 0 of 29 | Within |
| Burnsville | none detected | none detected | 1 of 29 | Within |
| Byron | none detected | none detected | 0 of 29 | Within |
| Cambridge | none detected | none detected | 0 of 29 | Within |
| Cannon Falls | none detected | none detected | 0 of 29 | Within |
| Carver | none detected | none detected | 0 of 29 | Within |
| Centerville | none detected | none detected | 1 of 29 | Within |
| Champlin | none detected | none detected | 0 of 29 | Within |
| Chanhassen | none detected | none detected | 0 of 29 | Within |
| Chaska | none detected | none detected | 0 of 29 | Within |
| Chisago City | none detected | none detected | 1 of 29 | Within |
| Chisholm | none detected | none detected | 0 of 29 | Within |
| Circle Pines | none detected | none detected | 1 of 29 | Within |
| Cold Spring | none detected | none detected | 0 of 29 | Within |
| Colonial Homes 2 | none detected | none detected | 0 of 29 | Within |
| Columbia Heights | none detected | none detected | 1 of 29 | Within |
| Coon Rapids | none detected | none detected | 1 of 29 | Within |
| Cottage Grove | none detected | none detected | 2 of 29 | Within |
| Crookston | none detected | none detected | 0 of 29 | Within |
| Crystal | none detected | none detected | 1 of 29 | Within |
| Delano Municipal Utilities | none detected | none detected | 0 of 29 | Within |
| Detroit Lakes | none detected | none detected | 0 of 29 | Within |
| Dilworth | none detected | none detected | 1 of 29 | Within |
| Duluth | none detected | none detected | 0 of 29 | Within |
| Eagan | none detected | none detected | 1 of 29 | Within |
| East Grand Forks | none detected | none detected | 1 of 29 | Within |
| Eden Prairie | none detected | none detected | 1 of 29 | Within |
| Edina | none detected | none detected | 1 of 29 | Within |
| Elgin, MN | none detected | none detected | 0 of 29 | Within |
| Elk River | none detected | none detected | 0 of 29 | Within |
| Elko New Market | none detected | none detected | 0 of 29 | Within |
| Ely | none detected | none detected | 0 of 29 | Within |
| Eveleth | none detected | none detected | 1 of 29 | Within |
| Fairmont | none detected | none detected | 1 of 29 | Within |
| Faribault | none detected | none detected | 0 of 29 | Within |
| Farmington | none detected | none detected | 1 of 29 | Within |
| Fergus Falls | none detected | none detected | 0 of 29 | Within |
| Floodwood | none detected | none detected | 0 of 29 | Within |
| Forest Lake | none detected | none detected | 0 of 29 | Within |
| Fridley | none detected | none detected | 1 of 29 | Within |
| Glencoe | none detected | none detected | 0 of 29 | Within |
| Golden Valley | none detected | none detected | 2 of 29 | Within |
| Goodview | none detected | none detected | 0 of 29 | Within |
| Grand Rapids | none detected | none detected | 0 of 29 | Within |
| Greenfield | none detected | none detected | 0 of 29 | Within |
| Hermantown | none detected | none detected | 0 of 29 | Within |
| Hibbing | none detected | none detected | 0 of 29 | Within |
| Holdingford | none detected | none detected | 1 of 29 | Within |
| Hopkins | none detected | none detected | 1 of 29 | Within |
| Hugo | none detected | none detected | 1 of 29 | Within |
| Hutchinson | none detected | none detected | 0 of 29 | Within |
| International Falls | none detected | none detected | 0 of 29 | Within |
| Inver Grove Heights | none detected | none detected | 2 of 29 | Within |
| Isanti | none detected | none detected | 0 of 29 | Within |
| Jackson, MN | none detected | none detected | 0 of 29 | Within |
| Joint Powers Water Board | none detected | none detected | 0 of 29 | Within |
| Jordan | none detected | none detected | 0 of 29 | Within |
| Kasson | none detected | none detected | 0 of 29 | Within |
| Lac Qui Parle Valley School | none detected | none detected | 0 of 29 | Within |
| LaCrescent | none detected | none detected | 0 of 29 | Within |
| Lake City | none detected | none detected | 1 of 29 | Within |
| Lakeland Municipal Water | none detected | none detected | 1 of 29 | Within |
| Lakeville | none detected | none detected | 0 of 29 | Within |
| LeSueur | none detected | none detected | 0 of 29 | Within |
| Liberty Ponds Development | none detected | none detected | 0 of 29 | Within |
| Lincoln-Pipestone Rural Water System | none detected | none detected | 0 of 29 | Within |
| Lindstrom | none detected | none detected | 0 of 29 | Within |
| Lino Lakes | none detected | none detected | 1 of 29 | Within |
| Litchfield | none detected | none detected | 0 of 29 | Within |
| Little Canada | none detected | none detected | 1 of 29 | Within |
| Little Falls | none detected | none detected | 1 of 29 | Within |
| Long Prairie | none detected | none detected | 0 of 29 | Within |
| Lonsdale | none detected | none detected | 0 of 29 | Within |
| Luverne | none detected | none detected | 0 of 29 | Within |
| Mabel | none detected | none detected | 0 of 29 | Within |
| Mahtomedi | none detected | none detected | 1 of 29 | Within |
| Mankato | none detected | none detected | 0 of 29 | Within |
| Maple Grove | none detected | none detected | 1 of 29 | Within |
| Marshall, MN | none detected | none detected | 1 of 29 | Within |
| Medina | none detected | none detected | 0 of 29 | Within |
| Melrose | none detected | none detected | 1 of 29 | Within |
| Minneapolis | none detected | none detected | 1 of 29 | Within |
| Minnetonka | none detected | none detected | 1 of 29 | Within |
| Minnetrista | none detected | none detected | 0 of 29 | Within |
| Montevideo | none detected | none detected | 0 of 29 | Within |
| Monticello, MN | none detected | none detected | 2 of 29 | Within |
| Moorhead | none detected | none detected | 1 of 29 | Within |
| Mora | none detected | none detected | 1 of 29 | Within |
| Morris | none detected | none detected | 0 of 29 | Within |
| Mound | none detected | none detected | 0 of 29 | Within |
| Mounds View | none detected | none detected | 0 of 29 | Within |
| New Brighton | none detected | none detected | 1 of 29 | Within |
| New Hope | none detected | none detected | 1 of 29 | Within |
| New Prague | none detected | none detected | 0 of 29 | Within |
| New Ulm | none detected | none detected | 0 of 29 | Within |
| North Branch | none detected | none detected | 0 of 29 | Within |
| North Mankato | none detected | none detected | 0 of 29 | Within |
| Northfield, MN | none detected | none detected | 1 of 29 | Within |
| Norwood-Young America | none detected | none detected | 0 of 29 | Within |
| Oak Park Heights | none detected | none detected | 5 of 29 | Within |
| Oakdale | none detected | none detected | 1 of 29 | Within |
| Ortonville | none detected | none detected | 0 of 29 | Within |
| Otsego, MN | none detected | none detected | 0 of 29 | Within |
| Owatonna | none detected | none detected | 0 of 29 | Within |
| Park Rapids | none detected | none detected | 0 of 29 | Within |
| Perham | none detected | none detected | 0 of 29 | Within |
| Pine Island | none detected | none detected | 0 of 29 | Within |
| Pipestone | none detected | none detected | 1 of 29 | Within |
| Plainview | none detected | none detected | 0 of 29 | Within |
| Plymouth, MN | none detected | none detected | 1 of 29 | Within |
| Prior Lake | none detected | none detected | 0 of 29 | Within |
| Ramsey | none detected | none detected | 1 of 29 | Within |
| Ranier | none detected | none detected | 0 of 29 | Within |
| Red Rock Rural Water System | none detected | none detected | 0 of 29 | Within |
| Red Wing | none detected | none detected | 0 of 29 | Within |
| Redwood Falls | none detected | none detected | 0 of 29 | Within |
| Richfield | none detected | none detected | 1 of 29 | Within |
| Robbinsdale | none detected | none detected | 2 of 29 | Within |
| Rochester, MN | none detected | none detected | 1 of 29 | Within |
| Rockford | none detected | none detected | 0 of 29 | Within |
| Rogers | none detected | none detected | 1 of 29 | Within |
| Rosemount | none detected | none detected | 1 of 29 | Within |
| Roseville | none detected | none detected | 1 of 29 | Within |
| Saint Anthony Village | none detected | none detected | 1 of 29 | Within |
| Saint Charles | none detected | none detected | 0 of 29 | Within |
| Saint Clair | none detected | none detected | 0 of 29 | Within |
| Saint Cloud | none detected | none detected | 1 of 29 | Within |
| Saint Francis | none detected | none detected | 0 of 29 | Within |
| Saint James | none detected | none detected | 0 of 29 | Within |
| Saint Joseph | none detected | none detected | 0 of 29 | Within |
| Saint Louis Park | none detected | none detected | 1 of 29 | Within |
| Saint Paul Park | none detected | none detected | 1 of 29 | Within |
| Saint Paul Regional Water Services | none detected | none detected | 2 of 29 | Within |
| Saint Peter | none detected | none detected | 0 of 29 | Within |
| Sartell | none detected | none detected | 1 of 29 | Within |
| Sauk Centre | none detected | none detected | 1 of 29 | Within |
| Savage | none detected | none detected | 0 of 29 | Within |
| Shakopee | none detected | none detected | 4 of 29 | Within |
| Shoreview | none detected | none detected | 1 of 29 | Within |
| Shorewood | none detected | none detected | 1 of 29 | Within |
| Sleepy Eye | none detected | none detected | 0 of 29 | Within |
| Spring Lake Park | none detected | none detected | 0 of 29 | Within |
| Stewartville | none detected | none detected | 0 of 29 | Within |
| Thief River Falls | none detected | none detected | 1 of 29 | Within |
| Two Harbors | none detected | none detected | 0 of 29 | Within |
| Vadnais Heights | none detected | none detected | 1 of 29 | Within |
| Victoria | none detected | none detected | 0 of 29 | Within |
| Virginia | none detected | none detected | 0 of 29 | Within |
| Waconia | none detected | none detected | 0 of 29 | Within |
| Wadena | none detected | none detected | 0 of 29 | Within |
| Waseca | none detected | none detected | 0 of 29 | Within |
| Watertown | none detected | none detected | 0 of 29 | Within |
| Wayzata | none detected | none detected | 1 of 29 | Within |
| White Bear Lake | none detected | none detected | 1 of 29 | Within |
| Willmar | none detected | none detected | 0 of 29 | Within |
| Windom | none detected | none detected | 0 of 29 | Within |
| Winona | none detected | none detected | 0 of 29 | Within |
| Worthington | none detected | none detected | 0 of 29 | Within |
| Wyoming | none detected | none detected | 0 of 29 | Within |
| Zimmerman | none detected | none detected | 1 of 29 | Within |
All 196 systems the EPA tested in Minnesota, every one of them with its own page. Each was tested for 29 PFAS compounds.
Other states
AlabamaAlaskaArizonaArkansasCaliforniaColoradoConnecticutDelawareDistrict of ColumbiaFloridaGeorgiaHawaiiIdahoIllinoisIndianaIowaKansasKentuckyLouisianaMaineMarylandMassachusettsMichiganMississippiMissouriMontanaNebraskaNevadaNew HampshireNew JerseyNew MexicoNew YorkNorth CarolinaNorth DakotaOhioOklahomaOregonPennsylvaniaRhode IslandSouth CarolinaSouth DakotaTennesseeTexasUtahVermontVirginiaWashingtonWest VirginiaWisconsinWyomingPuerto RicoGuamthe U.S. Virgin IslandsAmerican Samoathe Northern Mariana Islandsthe Navajo Nation
Graded water filters you can buy today
The best graded product in each filter type we cover.
- AquaTru AquaTru Under Sink Under SinkExcellent 100/100Check price
- Watts Water Technologies Watts BB-S101 Whole Home SystemExcellent 95/100Check price
- VOSS VOSS stillExcellent 100/100Check price
- LARQ LARQ PitcherExcellent 100/100Check price
We may earn a commission on these links, at no cost to you. It never changes a grade.
Source, the EPA’s fifth Unregulated Contaminant Monitoring Rule, final dataset published 2026-10-15. Original data →