Everything here comes from public state and federal records. This page explains exactly how the map is built, what it claims, what it does not claim, and how to check it. Figures computed 2026-09-28; last updated 2026-10-08.
The Minnesota Pollution Control Agency has recorded PFAS above a health standard in groundwater monitoring wells at 93 named facilities — mostly closed landfills, across the state.
The Minnesota Department of Health has published no PFAS fish result for 997 lakes (200,010 acres) or 4,213 river miles in or downstream of those same sub-watersheds, across 59 counties.
176 of those lakes and 131 of those river reaches were sampled — fish were caught, tissue was analyzed, guidance was published — naming mercury or PCBs. None names PFAS. For the other 821 lakes, MDH's page says: “Fish from this lake have not been tested for contaminants.”
477 of the 997 lakes are one or two sub-watersheds downstream of a site; the other 520 share a sub-watershed with one, where the direction of flow is not determined here.
15 more lakes (506,868 acres), including Lake of the Woods (MN), Mille Lacs, Vermilion and Cass, are listed separately: their fish were tested for PFAS only between 2007 and 2010, with older methods and before MDH’s current health values, and no result since has been published. See the corrections dated 7 and 8 October 2026.
Both datasets are public. Neither agency publishes them joined.
The figures above are the full scope: every waterbody in or downstream of any of the 109 facilities (lakes and rivers together; 93 of them have lakes in the finding). 80 of the 109 are in MPCA's Closed Landfill Program — landfills the state itself owns and monitors — including 70 of the 93 with lakes. In or downstream of those state-owned sites' sub-watersheds: 842 lakes (171,809 acres) and 3,547 river miles.
Every river reach in this finding is attributed to a specifically named facility; program-level records were excluded before the river figures were computed (see Exclusions). The lake and river totals above are the full scope, and the state-owned figures are the subset attributable to Closed Landfill Program sites.
| Dataset | Agency | Used for |
|---|---|---|
| Fish consumption guidance (LakeFinder FCA pages) | MDH via DNR | Per-lake advisories and which contaminants were named |
| Waterbody-specific guidelines: Rivers (PDF) | MDH | River advisories by reach |
| Lake survey reports (LakeFinder API) | DNR | Fish populations, catch per net, DNR normal ranges |
| DNR Hydrography | DNR / MN Geospatial Commons | Lake list, DOW numbers, acreage, coordinates, stream geometry |
| Groundwater Contamination Atlas | MPCA | Monitoring wells, exceedances, contamination area polygons |
| Closed landfills, remediation sites, institutional controls | MPCA | Contamination sources and cleanup status |
| Impaired waters, 303(d), 2024 | MPCA | Fish-tissue impairments for mercury, PCBs, PFOS |
| Watershed Boundary Dataset (HUC12) | USGS | Sub-watershed boundaries and downstream links |
| Toxics Release Inventory | EPA | Facilities reporting chemical releases |
| ECHO enforcement | EPA | Formal actions, penalties, compliance status |
Data as retrieved on the dates shown on each record. Agencies revise these datasets; the figures here are a snapshot as of the date at the top of this page.
exceedance_count > 0) whose exceedance names a PFAS compound.
8,543 wells qualify statewide.tohuc field up to two steps downstream.A lake is treated as already tested for PFAS if MDH's guidance page names any PFAS compound at all, or if MPCA has listed it PFOS-impaired, or if it appears on MPCA and MDH’s published list of PFAS detections in fish since 2017, or if another published study or report gives a PFAS fish result for it (added 7 October 2026). Lakes whose only published PFAS fish results are from 2007–2010 are listed separately. In practice that usually means a single compound — PFOS — while the PFAS family contains thousands. A lake screened only for PFOS is counted here as tested and is excluded from the finding, even though the compounds MPCA is measuring in groundwater at these sites routinely include PFOA, PFHxS, PFHxA, PFBS and PFNA as well.
That choice makes the count smaller and the claim narrower. It is deliberate: for every lake in this finding, no PFAS result for its fish has been published. Whether any were tested and found low is a question only MDH can answer.
A check against MDH’s own published lists found that this project’s page reader had missed PFOS guidance on 13 lakes. Seven were counted in the finding: Peltier, Centerville and Spring (Anoka County); Agnes, Henry and Winona (Douglas County); and Zumbro (Olmsted County). The advisory text had been captured correctly but was not recorded as PFAS. Those lakes are now excluded. Every lake’s saved guidance text is now checked directly for PFAS, in addition to the parsed table, and cross-checked against MDH’s April 2025 PFAS update table and March 2026 river guidelines. Those seven are removed. No river figures changed.
Lakes were previously de-duplicated by name within a county. That merged separate lakes that share a name (Minnesota has many “Mud,” “Long” and “Unnamed” lakes) and failed to merge basins of one lake that carry different names (Lake Vermilion was counted as four lakes). Lakes are now identified by DNR lake number: one lake per number, the whole-lake record preferred, and a lake is excluded if any of its basins has PFAS guidance. Against the 3 September figures: 42 basin records merged into their lakes, 7 lakes removed for PFAS guidance, and 145 separate lakes restored. The finding is now 1,031 lakes and 740,366 acres. River figures are unchanged.
The “Largest lakes” table below, and the measured values in map pop-ups, could show monitoring-well results for substances other than PFAS (for example manganese or boron) next to a PFAS label. They now show PFAS compounds only, each labelled with its compound. The map’s summary text was also brought in line with this page. For the 822 lakes whose MDH page says “Fish from this lake have not been tested for contaminants,” the map now quotes MDH directly. For the 209 lakes MDH has sampled, it now says “no published PFAS fish result” rather than “never tested,” because MDH’s guidance for those lakes names mercury or PCBs and does not say whether PFAS was checked. The map also separates lakes downstream of a site from lakes that share its sub-watershed, and no longer shows MPCA’s raw exceedance field as a percentage. No counts changed.
A reader pointed out that MPCA and MDH publish a list of PFAS detections in fish by waterbody since 2017 (“PFAS chemicals detected in fish by waterbody since 2017”). This project had not checked the finding against it. 18 lakes in the finding are on that list, so a PFAS result for their fish has been published, and this page was wrong to say otherwise for them. They have been removed from the finding and are listed below. All 18 were among the lakes MDH had sampled; none were among the lakes whose MDH page says “Fish from this lake have not been tested for contaminants.”
The finding changed from 1,031 lakes (740,366 acres; 209 sampled by MDH; 492 downstream of a site) to 1,013 lakes (706,924 acres; 191 sampled; 484 downstream). The number of lakes whose MDH page says they have not been tested is unchanged (822). The number of sites (94) and counties (60) did not change. Lakes on the list are now excluded automatically, by DNR lake number.
| Lake | County | Acres | Position | PFAS detected in fish (ng/g, average / maximum, MPCA/MDH list) |
|---|---|---|---|---|
| Otter Tail | Otter Tail | 14,079 | 2 sub-watersheds downstream | PFNA 1.13 avg / 1.13 max |
| Bemidji-Stump | Beltrami | 6,919 | Same sub-watershed | PFOS 0.55 avg / 0.69 max |
| Detroit | Becker | 3,067 | 1 sub-watershed downstream | PFOS 2.68 avg / 3.03 max |
| Carlos | Douglas | 2,605 | 1 sub-watershed downstream | PFOS 17.48 avg / 55.1 max; PFDA 2.4 avg / 2.4 max |
| White Bear | Washington | 2,428 | Same sub-watershed | PFOS 6.06 avg / 16.4 max; PFDA 2.25 avg / 4.83 max; PFUnA 1.78 avg / 3.12 max; PFDoA 1.61 avg / 1.87 max |
| Bald Eagle | Ramsey | 1,049 | Same sub-watershed | PFOS 3.21 avg / 4.25 max |
| Medicine | Hennepin | 924 | Same sub-watershed | PFOS 24.66 avg / 43.3 max; PFDA 2.99 avg / 5.66 max; PFUnA 1.45 avg / 1.53 max; PFDoA 0.91 avg / 1.23 max; PFDS 0.42 avg / 0.42 max; PFTeDA 0.35 avg / 0.35 max |
| Whaletail | Hennepin | 510 | 1 sub-watershed downstream | 6:2 FTS 3.55 avg / 3.55 max; PFOS 0.84 avg / 1.15 max; PFDA 0.38 avg / 0.38 max |
| Swede | Carver | 433 | 1 sub-watershed downstream | 6:2 FTS 1.43 avg / 1.43 max; PFOS 0.81 avg / 1.21 max; PFNA 0.77 avg / 0.93 max |
| St. Louis River - Thomson Reservoir | Carlton | 390 | 1 sub-watershed downstream | PFOS 5.96 avg / 7.78 max |
| Owasso | Ramsey | 375 | Same sub-watershed | PFOS 11.92 avg / 20.5 max; PFDA 2.28 avg / 3.37 max; PFUnA 1.2 avg / 1.35 max; PFDoA 1.16 avg / 1.17 max |
| Thole/Schneider | Scott | 157 | Same sub-watershed | PFOS 3.23 avg / 4.35 max; PFDA 1.12 avg / 1.22 max; PFUnA 1.09 avg / 1.09 max |
| Echo | Carlton | 108 | 1 sub-watershed downstream | PFOS 3.3 avg / 3.7 max |
| Rogers | Dakota | 102 | Same sub-watershed | PFOS 4.31 avg / 5.4 max; PFDA 2.68 avg / 2.81 max |
| Parkers | Hennepin | 100 | Same sub-watershed | PFOS 8.25 avg / 10.9 max; PFDA 1.22 avg / 1.52 max; PFDoA 0.87 avg / 1.31 max; PFDS 0.7 avg / 0.81 max; PFTeDA 0.42 avg / 0.42 max |
| Sweeney-Twin | Hennepin | 89 | 1 sub-watershed downstream | PFOS 7.28 avg / 10 max; 6:2 FTS 2.62 avg / 2.62 max; PFDoA 1.08 avg / 1.77 max; PFDA 1.05 avg / 1.47 max; PFDS 0.57 avg / 0.93 max; PFTeDA 0.44 avg / 0.47 max |
| Golden | Anoka | 58 | Same sub-watershed | PFOS 7.21 avg / 7.21 max |
| Carver | Washington | 50 | Same sub-watershed | PFOS 23.48 avg / 26.3 max; PFDA 1.4 avg / 1.6 max |
River reaches were checked the same day. The list identifies river samples by MPCA monitoring station, so each station was located in MPCA’s station records and matched to the reach it sits on. 9 reaches (92.0 miles) were removed: either a station on the list sits on the reach, or a sample with no reach of its own on file (a reservoir listed by DNR lake number, or a station without one) lies within 0.5 km of it. Stations on a different reach nearby, such as a tributary or the next reach, were not counted. River figures changed from 509 reaches and 4,305 miles to 500 reaches and 4,213 miles; facilities with lakes or rivers in the finding went from 110 to 109. 141 of the list’s samples are from Mississippi River pools; this finding includes no Mississippi River reaches.
| River reach | County | Miles | Station on the list | PFAS detected in fish (ng/g, average / maximum) |
|---|---|---|---|---|
| Minnesota River | Chippewa | 32.4 | S009-833 Minnesota River | PFOS 1.65 avg / 1.74 max |
| Zumbro River | Wabasha | 23.9 | S000-817 Zumbro River | PFOS 6.8 avg / 18.3 max; PFDS 0.7 avg / 0.93 max; PFNA 0.749 avg / 0.925 max; PFHxS 0.723 avg / 0.723 max; 3 more |
| Minnesota River | Yellow Medicine | 14.8 | S005-054 Minnesota River | PFOS 4.55 avg / 14.3 max; PFDA 0.52 avg / 0.69 max; PFDS 0.5 avg / 0.5 max |
| St Louis River | Carlton | 7.9 | 09-0001-00-100 Thomson Reservoir | PFOS 3.18 avg / 3.18 max |
| Unnamed creek | Washington | 4.7 | S016-673 Unnamed Creek / Miss. R. Pool 2, Section 2 | PFOS 181 avg / 307 max; PFOSA 55.2 avg / 81.3 max; N-EtFOSAA 26.5 avg / 48 max; HQ-115 16.3 avg / 19.9 max; 15 more |
| St Louis River | Carlton | 3.2 | S015-137 St. Louis R. (Scanlon Reservoir) | PFOS 6.78 avg / 12.3 max; PFUnA 1.03 avg / 1.03 max |
| Cannon River | Goodhue | 2.6 | S001-818 Cannon River (Lake) | PFOS 2.14 avg / 2.3 max |
| St Louis River | Carlton | 1.5 | S015-137 St. Louis R. (Scanlon Reservoir) | PFOS 6.78 avg / 12.3 max; PFUnA 1.03 avg / 1.03 max |
| St Louis River | Carlton | 1.0 | 09-0168-00-100 St Louis River - Knife Falls Dam | PFOS 8.23 avg / 11.9 max |
After the correction above, a wider search for other published PFAS fish results found 9 more lakes in the finding:
Sunfish Lake has been removed. The 8 lakes tested only between 2007 and 2010 are now listed separately instead of being counted as having no published result. Those tests used older methods — MPCA’s 2007 data had a detection limit of about 5 ng/g, and about 10 compounds were measured, compared with about 40 today — and they predate MDH’s current health values. No later PFAS fish result has been published for them.
The finding changed from 1,013 lakes (706,924 acres) to 1,004 lakes (214,992 acres): 183 sampled by MDH (was 191), 821 whose MDH page says they have not been tested (was 822), and 479 downstream of a site (was 484), near 93 sites (was 94) in 59 counties (was 60). Another 8 lakes (491,885 acres) are listed separately as tested only between 2007 and 2010. River figures did not change.
| Lake | County | Acres | Now | What was published |
|---|---|---|---|---|
| Lake of the Woods (MN) | Lake of the Woods | 305,576 | Listed separately (tested only 2010) | Reported tested for PFCs (PFAS) in 2010; MDH said none were found (MPR, 2011). Source: MDH/DNR 2010 PFC tests of the largest walleye lakes; MPR, 3 May 2011, quoting an MDH scientist: "We didn't find PFCs." No per-lake results found; requested from MDH. |
| Mille Lacs | Mille Lacs | 128,250 | Listed separately (tested only 2010) | Reported tested for PFCs (PFAS) in 2010; MDH said none were found (MPR, 2011). Source: MDH/DNR 2010 PFC tests of the largest walleye lakes; MPR, 3 May 2011, quoting an MDH scientist: "We didn't find PFCs." No per-lake results found; requested from MDH. |
| Vermilion | St. Louis | 39,272 | Listed separately (tested only 2010) | Reported tested for PFCs (PFAS) in 2010; MDH said none were found (MPR, 2011). Source: MDH/DNR 2010 PFC tests of the largest walleye lakes; MPR, 3 May 2011, quoting an MDH scientist: "We didn't find PFCs." No per-lake results found; requested from MDH. |
| Cass | Beltrami | 15,958 | Listed separately (tested only 2010) | Reported tested for PFCs (PFAS) in 2010; MDH said none were found (MPR, 2011). Source: MDH/DNR 2010 PFC tests of the largest walleye lakes; MPR, 3 May 2011, quoting an MDH scientist: "We didn't find PFCs." No per-lake results found; requested from MDH. |
| Byllesby | Dakota | 1,368 | Listed separately (tested only 2007) | PFOS 1.42 ng/g in fish collected in 2007 (EPA study, published 2010). Source: Delinsky et al. 2010, Environ. Sci. Technol. 44:2549 (EPA), Table 2. |
| Independence | Hennepin | 832 | Listed separately (tested only 2007) | PFOS 5 ng/g in bluegill; black crappie below detection (MPCA, 2007). Source: MPCA, 2007 Metro Lakes PFC Fish Data, additional 20 lakes (28 Jan 2008), detection limit about 5 ng/g. |
| Sarah | Hennepin | 557 | Listed separately (tested only 2007) | PFOS 7 ng/g in bluegill, 10 in northern pike; black crappie below detection (MPCA, 2007). Source: MPCA, 2007 Metro Lakes PFC Fish Data, additional 20 lakes (28 Jan 2008), detection limit about 5 ng/g. |
| Colby | Washington | 71 | Listed separately (tested only 2007) | PFOS 22 ng/g in bluegill, 14 in black crappie (MPCA, 2007). Source: MPCA, 2007 Metro Lakes PFC Fish Data, additional 20 lakes (28 Jan 2008), detection limit about 5 ng/g. |
| Sunfish | Dakota | 46 | Removed | Tested by the City of Sunfish Lake in 2024; all fish results below 10 ng/g. Source: City of Sunfish Lake / WSB, 2024 City of Sunfish Lake PFAS Study. |
Since checked: EPA’s 2022 National Lakes Assessment fish results (none of its Minnesota lakes is in the finding) and the full lake list of the 2010 EPA study (see the correction dated 8 October 2026). MPCA also reported that fish sampled in 2006 from the upper St. Croix River, above the St. Croix Falls dam, had PFOS below detection (MPCA, Mississippi River Pool 2 Intensive Study, 2010). The report does not say where on the river the fish were taken, so the finding’s two St. Croix reaches, both above the dam (Pine and Chisago counties, 59.7 miles), remain.
The supporting information of the 2010 EPA study cited above (Delinsky et al.) lists all 59 Minnesota lakes whose fish it measured for PFAS, from fish collected in 2007. 7 of them were still in the finding: Gull, Koronis, Embarrass, Mina, Hammal, Hanging Kettle and Winona. All had been sampled by MDH, whose guidance for them names mercury or PCBs. None is among the lakes whose MDH page says they have not been tested. Under the exclusion rules, they are now listed separately with the other lakes tested only between 2007 and 2010.
The finding changed from 1,004 lakes (214,992 acres) to 997 lakes (200,010 acres): 176 sampled by MDH (was 183), 821 whose MDH page says they have not been tested (unchanged), and 477 downstream of a site (was 479), near 93 sites (unchanged) in 59 counties (unchanged). 15 lakes (506,868 acres) are now listed separately as tested only between 2007 and 2010. River figures did not change.
For context: of the 15 lakes now listed separately, 10 had no PFAS reported (the four walleye lakes, per MDH in 2011, and six of the seven above), and 5 had PFOS between 1.4 and 22 ng/g (Byllesby, Winona, Independence, Sarah and Colby). These results are from 2007 to 2010, before MDH’s current health values, and no later PFAS fish result has been published for these lakes.
| Lake | County | Acres | What was published |
|---|---|---|---|
| Gull | Cass | 10,010 | No PFAS above the study's limit of quantitation in a composite bluegill sample (10 compounds; fish collected 2007; EPA study, published 2010). |
| Koronis | Stearns | 3,096 | No PFAS above the study's limit of quantitation in a composite bluegill sample (10 compounds; fish collected 2007; EPA study, published 2010). |
| Embarrass | St. Louis | 463 | No PFAS above the study's limit of quantitation in a composite bluegill sample (10 compounds; fish collected 2007; EPA study, published 2010). |
| Mina | Douglas | 411 | No PFAS above the study's limit of quantitation in a composite bluegill sample (10 compounds; fish collected 2007; EPA study, published 2010). |
| Hammal | Aitkin | 376 | No PFAS above the study's limit of quantitation in a composite bluegill sample (10 compounds; fish collected 2007; EPA study, published 2010). |
| Hanging Kettle | Aitkin | 318 | No PFAS above the study's limit of quantitation in a composite crappie sample (10 compounds; fish collected 2007; EPA study, published 2010). |
| Winona | Winona | 308 | PFOS 4.70 ng/g in a composite bluegill sample; the other compounds measured were below the study's limit of quantitation (fish collected 2007; EPA study, published 2010). |
Source: Delinsky et al. 2010, Environ. Sci. Technol. 44:2549 (EPA), Supporting Information Tables S1 and S4.
MPCA's well records carry a derived field, exceedance_pct_max. Despite the
name it is a multiple of the health value, not a percentage, and it is computed
against the most protective value MDH publishes for that compound.
Worked example — Hickory Grove Landfill, well 785553. MPCA reports a PFOA result of 0.143 µg/L and a field value of 18,101.27. MDH's Human Health-Based Water Guidance Table gives two values for PFOA:
| MDH value for PFOA | µg/L | 0.143 ÷ value |
|---|---|---|
| Chronic health-based value | 0.00024 | 596× |
| Cancer health-based value | 0.0000079 | 18,101× |
So MPCA's figure is arithmetically correct and refers to the cancer-based value. A PFOS well at the Lehillier / Mankato site confirms the same pattern: 0.007 µg/L against MDH's chronic PFOS value of 0.0023 µg/L gives 3.04, which is exactly what MPCA reports.
Because a bare multiple does not say which value it is measured against, this site shows the measured concentration first and then both multiples, each labelled. Every figure can be checked against MDH's guidance table without trusting arithmetic in between.
What exceeding a cancer-based value does and does not mean. MDH's cancer health-based value is the concentration in drinking water corresponding to a small additional lifetime cancer risk for someone consuming that water daily over a lifetime. These measurements are from groundwater monitoring wells at these sites. They are not drinking water, and they are not measurements of any lake. A well exceeding that value is a statement about contamination at that site — not a statement about anyone's cancer risk, and not a claim that a downstream lake is affected.
An earlier version of this page said MPCA's field was inflated by a factor
of 1,000. That was wrong — it came from working backwards to a standard rather than
reading MDH's published table — and was corrected on 2026-09-03 before publication.
The raw field is retained in the downloadable data as
mpca_exceedance_pct_max_RAW_see_methodology.
| Lake | County | Acres | Site with PFAS exceedance | PFAS measured in the cited well (MPCA) | That well last sampled |
|---|---|---|---|---|---|
| Whitefish | Crow Wing | 7,714 | Fifty Lakes Landfill | Perfluorooctanoic acid (PFOA) 0.008 ug/L | 2023-11-21 |
| West Battle | Otter Tail | 5,615 | Battle Lake Landfill | PFOA 0.00524 ug/L; PFOS 0.0054 ug/L | 2025-06-03 |
| Woman | Cass | 5,520 | Walker-Hackensack Landfill | PFOA 0.0426 ug/L; PFOS 0.00288 ug/L | 2025-05-22 |
| Rush | Otter Tail | 5,276 | Northeast Otter Tail County Landfill | Perfluorohexanesulfonate (PFHxS) 0.036 ug/L; Perfluorooctanesulfonate (PFOS) 0.0079 ug/L; Perfluorooctanoic acid (PFOA) 0.16 ug/L | 2025-03-26 |
| Big Pine | Otter Tail | 4,728 | Northeast Otter Tail County Landfill | Perfluorohexanesulfonate (PFHxS) 0.036 ug/L; Perfluorooctanesulfonate (PFOS) 0.0079 ug/L; Perfluorooctanoic acid (PFOA) 0.16 ug/L | 2025-03-26 |
| White Iron | St. Louis | 3,237 | Northwoods Landfill | Perfluorohexanesulfonate (PFHxS) 0.022 ug/L; Perfluorooctanesulfonate (PFOS) 0.003 ug/L; Perfluorooctanoic acid (PFOA) 0.057 ug/L | 2022-06-14 |
| Bass | Itasca | 2,715 | Grand Rapids Area Sanitary Landfill | PFOA 0.0136 ug/L; PFOS 0.00399 ug/L | 2025-06-17 |
| Albert Lea | Freeborn | 2,669 | Albert Lea Sanitary Landfill | PFHxS 0.014 ug/L; PFOA 0.0457 ug/L; PFOS 0.0192 ug/L | 2025-05-28 |
| Bear Island | St. Louis | 2,362 | Northwoods Landfill | Perfluorohexanesulfonate (PFHxS) 0.022 ug/L; Perfluorooctanesulfonate (PFOS) 0.003 ug/L; Perfluorooctanoic acid (PFOA) 0.057 ug/L | 2022-06-14 |
| Long | Hubbard | 1,926 | Pickett Landfill | PFOA 0.0272 ug/L | 2025-04-24 |
| Melissa | Becker | 1,850 | Becker County Landfill | PFOA 0.0105 ug/L | 2026-04-29 |
| Cross Lake Reservoir | Crow Wing | 1,815 | Fifty Lakes Landfill | Perfluorooctanoic acid (PFOA) 0.008 ug/L | 2023-11-21 |
Minnesota has 8,628 lakes over 25 acres in the DNR hydrography layer. 1,480 have a fish-tissue result of any kind. 7,148 have none. Separately, DNR has published 21,933 fish population surveys covering 3,321 lakes, and MPCA has 19,599 monitoring wells in its contamination atlas.
If something here is wrong, I want to fix it. Email [email protected] with the record and what is incorrect. Corrections are made within 48 hours and noted here. Agencies, facility operators, and anyone else named in this data are welcome to write.
This is an independent project. It is not affiliated with or endorsed by MDH, MPCA, DNR, EPA, USGS, or any company named in the underlying records.