Do Your Own MathWe earn nothing
Home › Where you live › Minnesota

Tap water in Minnesota: EPA PFAS results by water system

196 public water systems in Minnesota were sampled in EPA's UCMR 5 programme (2023–2025); we show six PFAS and lithium. Read 2026-10-31.

17 of 196 systems had at least one sample above a 2024 federal limit; 108 had at least one PFAS found above the reporting level; 88 had none found above the reporting level.

A single sample above a 2024 limit is a measurement, not a violation. Compliance is judged on running yearly averages, and water systems have until 2029 to meet the limits. On 20 May 2026 EPA proposed giving qualifying systems until 2031 for PFOA and PFOS and removing the limits for PFHxS, PFNA and HFPO-DA; those proposals were not final when we last checked (5 Nov 2026). Counts are per system, not per person; population figures are available only for systems serving more than 25,000 people (about 2,784,119 people across those systems here). UCMR 5 was a one-time national monitoring programme (2023–2025). The results are a snapshot at the system's entry points or taps on the sample dates, not a continuous measurement and not a compliance record.

What this page is: a plain-language restatement of public test results that the US EPA published for the water systems listed below, with the dates of the samples and the date we read them. It describes the system, not the water at your tap, which also depends on the pipes in your building. It is not a safety verdict, not medical advice and not a recommendation to buy anything: "buy nothing" is one of the outcomes in the cost section below. We earn nothing from any link on this page.

Systems with a page on this site

SystemPeople servedUCMR 5 result
Minneapolis
Minneapolis
425,300None detected (below the reporting level)
Saint Paul Regional Water Services
Saint Paul Regional Water Services
392,529None detected (below the reporting level)

Largest other systems sampled in Minnesota

Pages for these are being added in stages. The data for all 196 systems is in the public dataset.

SystemPeople servedUCMR 5 result
Rochester, Mn
Rochester, Mn
123,624Detected, below the 2024 limit
Bloomington, Mn
Bloomington, Mn
91,300None detected (below the reporting level)
Brooklyn Park
Brooklyn Park
89,995Above the 2024 limit in at least one sample
Duluth
Duluth
86,859None detected (below the reporting level)
Woodbury
Woodbury
82,643Above the 2024 limit in at least one sample
Maple Grove
Maple Grove
82,000None detected (below the reporting level)
Plymouth, Mn
Plymouth, Mn
76,546None detected (below the reporting level)
Saint Cloud
Saint Cloud
71,321None detected (below the reporting level)
Blaine
Blaine
70,220None detected (below the reporting level)
Eagan
Eagan
68,223None detected (below the reporting level)
Lakeville
Lakeville
67,300None detected (below the reporting level)
Burnsville
Burnsville
64,317None detected (below the reporting level)
Eden Prairie
Eden Prairie
63,726None detected (below the reporting level)
Coon Rapids
Coon Rapids
63,599None detected (below the reporting level)
Minnetonka
Minnetonka
54,474None detected (below the reporting level)
Edina
Edina
53,494None detected (below the reporting level)
Apple Valley
Apple Valley
50,300Detected, below the 2024 limit
Saint Louis Park
Saint Louis Park
50,010None detected (below the reporting level)
Shakopee
Shakopee
47,000Detected, below the 2024 limit
Moorhead
Moorhead
44,583None detected (below the reporting level)
Mankato
Mankato
42,803None detected (below the reporting level)
Cottage Grove
Cottage Grove
42,760None detected (below the reporting level)
Richfield
Richfield
38,482None detected (below the reporting level)
Roseville
Roseville
35,343None detected (below the reporting level)
Inver Grove Heights
Inver Grove Heights
34,189None detected (below the reporting level)
A–Z of Minnesota pages

How to use this