238 NPDES permits · 27 MGD combined average flow
238 publicly owned wastewater treatment plants in Minnesota hold NPDES permits that expire during 2028, issued by Minnesota Pollution Control Agency. The table lists each plant with its permit number, expiry month, average flow, treatment technology and three-year violation count, in order of expiry.
An NPDES permit runs for five years. To keep discharging, a plant must apply for renewal at least 180 days before the expiry date, and the renewed permit usually arrives with tighter effluent limits, new monitoring requirements or a compliance schedule. That is why the year a permit expires is the year a plant starts budgeting for upgrades: nutrient removal, disinfection, capacity or controls.
| Facility | City | Avg flow (MGD) | NPDES permit | Expires | Violations (3y) |
|---|---|---|---|---|---|
| Appleton WWTP | Appleton | 0.16 | MN0021890 | Jan 2028 | 8 |
| Lake Henry WWTP | Paynesville | 0.02 | MN0020885 | Jan 2028 | 34 |
| Hammond WWTP | Zumbro Falls | 0.0065 | MN0066940 | Jan 2028 | 0 |
| Carlos WWTP | Carlos | — | MN0023019 | Jan 2028 | 3 |
| Hampton WWTP | Hampton | — | MN0021946 | Jan 2028 | 0 |
| Sauk Centre WWTP | Sauk Centre | 0.43 | MN0024821 | Feb 2028 | 3 |
| Pine Island WWTP | Pine Island | 0.23 | MN0024511 | Feb 2028 | 4 |
| Glenville WWTP | Glenville | — | MN0021245 | Feb 2028 | 25 |
| Zumbro Falls WWTP | Zumbro Falls | — | MN0051004 | Feb 2028 | 0 |
| Kenyon WWTP | Kenyon | 0.18 | MN0021628 | Mar 2028 | 18 |
| Crosslake WWTP | Crosslake | 0.06 | MN0064882 | Mar 2028 | 27 |
| Ogilvie WWTP | Ogilvie | 0.04 | MN0021997 | Mar 2028 | 11 |
| Bagley WWTP | Bagley | — | MN0022691 | Mar 2028 | 9 |
| Starbuck WWTP | Starbuck | 0.18 | MN0021415 | May 2028 | 0 |
| Bellechester WWTP | Bellchester | — | MN0022764 | May 2028 | 1 |
| Brewster WWTP | Brewster | — | MN0021750 | May 2028 | 4 |
| Wadena WWTP | Wadena | 0.28 | MN0020672 | Jun 2028 | 1 |
| Lester Prairie WWTP | Lester Prairie | 0.09 | MN0023957 | Jun 2028 | 0 |
| Morristown WWTP | Morristown | 0.06 | MN0025895 | Jun 2028 | 0 |
| Lewiston WWTP | Lewiston | 0.08 | MN0023965 | Jul 2028 | 14 |
| Saint Clair WWTP | Saint Clair | 0.06 | MN0024716 | Jul 2028 | 0 |
| Morris WWTP | Morris | — | MN0021318 | Jul 2028 | 9 |
| Fergus Falls WWTP | Fergus Falls | 1.39 | MN0050628 | Aug 2028 | 2 |
| Spring Valley WWTP | Spring Valley | 0.41 | MN0051934 | Aug 2028 | 21 |
| Glyndon | Glyndon | — | MN0020630 | Aug 2028 | 6 |
| Harmony WWTP | Harmony | 0.06 | MN0022322 | Sep 2028 | 1 |
| Saint James | Saint James | 0.59 | MN0024759 | Oct 2028 | 2 |
| Miltona WWTP | Miltona | — | MN0024155 | Oct 2028 | 17 |
| Seneca Wastewater Treatment Plant | Eagan | 20.44 | MN0030007 | Nov 2028 | 6 |
| Clarkfield WWTP | Clarkfield | 0.91 | MNG585093 | Nov 2028 | 33 |
| Warren WWTP | Warren | 0.16 | MNG585073 | Nov 2028 | 6 |
| Karlstad WWTP | Karlstad | 0.07 | MNG585146 | Nov 2028 | 29 |
| Darwin WWTP | Darwin | 0.04 | MNG585150 | Nov 2028 | 14 |
| Pennock WWTP | Pennock | 0.03 | MNG585104 | Nov 2028 | 12 |
| Urbank WWTP | Clitherall | 0.02 | MNG585343 | Nov 2028 | 2 |
| Sobieski WWTP | Swan River | 0.007 | MNG585217 | Nov 2028 | 9 |
| 7-Clans Casino WWTP | Thief River Falls | — | MNG585172 | Nov 2028 | 1 |
| Ada WWTP | Ada | — | MNG585095 | Nov 2028 | 11 |
| Alberta WWTP | Alberta | — | MNG585002 | Nov 2028 | 2 |
| Alden WWTP | Alden | — | MNG585118 | Nov 2028 | 3 |
| Alvarado WWTP | Alvarado | — | MNG585171 | Nov 2028 | 1 |
| Argyle WWTP | Argyle | — | MNG585140 | Nov 2028 | 9 |
| Askov WWTP | Askov | — | MNG585229 | Nov 2028 | 0 |
| Audubon | Audubon | — | MNG585148 | Nov 2028 | 50 |
| Avoca & Iona WWTP | Iona | — | MNG585165 | Nov 2028 | 7 |
| Badger Wastewater Treatment Plant | Badger | — | MNG585155 | Nov 2028 | 27 |
| Barnum-Well #2 Entry Point | Barnum | — | MNG585142 | Nov 2028 | 3 |
| Baudette WWTP | Baudette | — | MNG585174 | Nov 2028 | 9 |
| Beaver Creek WWTP | Beaver Creek Township | — | MNG585055 | Nov 2028 | 30 |
| Bellingham WWTP | Bellingham | — | MNG585152 | Nov 2028 | 6 |
| Belview WWTP | Belview | — | MNG585003 | Nov 2028 | 4 |
| Bertha WWTP | Bertha | — | MNG585371 | Nov 2028 | 3 |
| Big Falls | Big Falls | — | MNG585135 | Nov 2028 | 13 |
| Bigelow WWTP | Bigelow Township | — | MNG585224 | Nov 2028 | 0 |
| Bigfork | Bigfork | — | MNG585363 | Nov 2028 | 18 |
| Bird Island WWTP | Bird Island | — | MNG585390 | Nov 2028 | 10 |
| Blomkest Svea Sewer Board WWTP | Blomkest | — | MNG585372 | Nov 2028 | 0 |
| Brooten WWTP | Brooten | — | MNG585271 | Nov 2028 | 1 |
| Buffalo Lake WWTP | Buffalo Lake | — | MNG585373 | Nov 2028 | 1 |
| Campbell | Campbell | — | MNG585130 | Nov 2028 | 9 |
| Canby WWTP | Canby | — | MNG585154 | Nov 2028 | 6 |
| Ceylon WWTP | Ceylon | — | MNG585006 | Nov 2028 | 135 |
| Chokio WWTP | Chokio | — | MNG585007 | Nov 2028 | 20 |
| Clarks Grove WWTP | Clarks Grove | — | MNG585067 | Nov 2028 | 6 |
| Clearbrook WWTP | Leon Township | — | MNG585098 | Nov 2028 | 7 |
| Clements WWTP | Clements | — | MNG585094 | Nov 2028 | 2 |
| Cleveland WWTP | Cleveland | — | MNG585009 | Nov 2028 | 5 |
| Climax WWTP | Climax | — | MNG585169 | Nov 2028 | 0 |
| Clinton WWTP | Clinton | — | MNG585193 | Nov 2028 | 2 |
| Clontarf WWTP | Clontarf Township | — | MNG585108 | Nov 2028 | 8 |
| Community Of Roseland WWTP | Blomkest | — | MNG585393 | Nov 2028 | 0 |
| Comstock WWTP | Comstock | — | MNG585131 | Nov 2028 | 4 |
| Conger WWTP | Conger | — | MNG585222 | Nov 2028 | 14 |
| Cook WWTP | Cook | — | MNG585179 | Nov 2028 | 0 |
| Cosmos WWTP | Cosmos Township | — | MNG585056 | Nov 2028 | 11 |
| Cottonwood WWTP | Cottonwood | — | MNG585010 | Nov 2028 | 13 |
| Currie City Of | Currie | — | MNG585221 | Nov 2028 | 0 |
| Danube WWTP | Danube | — | MNG585057 | Nov 2028 | 9 |
| Danvers WWTP | Danvers | — | MNG585119 | Nov 2028 | 20 |
| Deer Creek WWTP | Deer Creek | — | MNG585180 | Nov 2028 | 0 |
| Deer River WWTP | Deer River | — | MNG585181 | Nov 2028 | 9 |
| Degraff WWTP | De Graff | — | MNG585398 | Nov 2028 | 23 |
| Delavan WWTP | Delavan | — | MNG585109 | Nov 2028 | 1 |
| Dexter WWTP | Dexter | — | MNG585228 | Nov 2028 | 1 |
| Dunnell WWTP | Dunnell | — | MNG585279 | Nov 2028 | 44 |
| Eagle Bend WWTP | Eagle Bend | — | MNG585383 | Nov 2028 | 8 |
| Echo WWTP | Echo | — | MNG585059 | Nov 2028 | 27 |
| Elizabeth WWTP | Elizabeth Township | — | MNG585012 | Nov 2028 | 1 |
| Elkton WWTP | Elkton | — | MNG585013 | Nov 2028 | 11 |
| Elmore WWTP | Elmore | — | MNG585110 | Nov 2028 | 5 |
| Elysian | Elysian | — | MNG585285 | Nov 2028 | 3 |
| Evan WWTP | Evan | — | MNG585202 | Nov 2028 | 0 |
| Evansville WWTP | Evansville | — | MNG585074 | Nov 2028 | 4 |
| Fairfax WWTP | Fairfax | — | MNG585060 | Nov 2028 | 70 |
| Farwell Kensington Sanitary D | Kensington | — | MNG585220 | Nov 2028 | 6 |
| Felton WWTP | Felton Township | — | MNG585149 | Nov 2028 | 1 |
| Fertile WWTP | Fertile | — | MNG585138 | Nov 2028 | 0 |
| Finlayson WWTP | Finlayson | — | MNG585203 | Nov 2028 | 2 |
| Fisher WWTP | Fisher Township | — | MNG585170 | Nov 2028 | 62 |
| Flensburg WWTP | Flensburg | — | MNG585016 | Nov 2028 | 16 |
| Floodwood WWTP | Floodwood | — | MNG585048 | Nov 2028 | 17 |
| Foreston WWTP | Foreston | — | MNG585017 | Nov 2028 | 0 |
| Freeborn WWTP | Freeborn | — | MNG585018 | Nov 2028 | 11 |
| Freeport WWTP | Freeport | — | MNG585019 | Nov 2028 | 5 |
| Frost WWTP | Frost | — | MNG585120 | Nov 2028 | 19 |
| Fulda WWTP | Fulda | — | MNG585188 | Nov 2028 | 11 |
| Fulda WWTP | Dundee | — | MNG585349 | Nov 2028 | 17 |
| Garfield WWTP | Garfield | — | MNG585158 | Nov 2028 | 1 |
| Gary WWTP | Gary | — | MNG585175 | Nov 2028 | 163 |
| Gaylord WWTP | Gaylord | — | MNG585204 | Nov 2028 | 42 |
| Gem Sanitary District | Meire Grove | — | MNG585205 | Nov 2028 | 7 |
| Geneva WWTP | Geneva | — | MNG585292 | Nov 2028 | 4 |
| Georgetown | Georgetown | — | MNG585132 | Nov 2028 | 79 |
| Ghent | Ghent | — | MNG585121 | Nov 2028 | 0 |
| Gilman WWTP | Gilman | — | MNG585021 | Nov 2028 | 2 |
| Good Thunder WWTP | Good Thunder | — | MNG585206 | Nov 2028 | 3 |
| Goodridge WWTP | Goodridge | — | MNG585022 | Nov 2028 | 1 |
| Granada WWTP | Granada | — | MNG585023 | Nov 2028 | 26 |
| Greenbush WWTP | Greenbush | — | MNG585156 | Nov 2028 | 26 |
| Hallock WWTP | Hallock Township | — | MNG585147 | Nov 2028 | 0 |
| Hamburg WWTP | Young America Township | — | MNG585386 | Nov 2028 | 24 |
| Hancock WWTP | Hancock | — | MNG585299 | Nov 2028 | 31 |
| Hanley Falls WWTP | Hanley Falls | — | MNG585122 | Nov 2028 | 14 |
| Hardwick WWTP | Hardwick | — | MNG585194 | Nov 2028 | 26 |
| Hartland Wastewater Treatment Plant | Hartland | — | MNG585102 | Nov 2028 | 72 |
| Hayward WWTP | Hayward | — | MNG585391 | Nov 2028 | 1 |
| Hendricks WWTP | Hendricks | — | MNG585377 | Nov 2028 | 0 |
| Hendrum WWTP | Hendrum Township | — | MNG585176 | Nov 2028 | 27 |
| Hewitt WWTP | Hewitt | — | MNG585024 | Nov 2028 | 0 |
| Hill City WWTP | Hill City | — | MNG585182 | Nov 2028 | 4 |
| Hills WWTP | Hills | — | MNG585196 | Nov 2028 | 20 |
| Hitterdal WWTP | Hitterdal | — | MNG585178 | Nov 2028 | 0 |
| Hollandale WWTP | Hollandale | — | MNG585374 | Nov 2028 | 85 |
| Ivanhoe WWTP | Ivanhoe | — | MNG585103 | Nov 2028 | 52 |
| Janesville WWTP | Janesville Township | — | MNG585025 | Nov 2028 | 0 |
| Jasper WWTP | Jasper | — | MNG585026 | Nov 2028 | 6 |
| Jeffers WWTP | Jeffers | — | MNG585111 | Nov 2028 | 4 |
| Kelliher WWTP | Kelliher | — | MNG585068 | Nov 2028 | 174 |
| Kellogg WWTP | Kellogg | — | MNG585027 | Nov 2028 | 0 |
| Kennedy WWTP | Kennedy | — | MNG585028 | Nov 2028 | 3 |
| Kettle River | Kettle River | — | MNG585183 | Nov 2028 | 6 |
| Kiester WWTP | Kiester Township | — | MNG585097 | Nov 2028 | 8 |
| Kilkenny WWTP | Kilkenny | — | MNG585084 | Nov 2028 | 44 |
| Lac Qui Parle Valley | Madison | — | MNG585091 | Nov 2028 | 54 |
| Lake Bronson WWTP | Lake Bronson | — | MNG585029 | Nov 2028 | 1 |
| Lake Lillian WWTP | Lake Lillian | — | MNG585225 | Nov 2028 | 5 |
| Lake Park WWTP | Lake Park | — | MNG585157 | Nov 2028 | 6 |
| Lake Wilson WWTP | Lake Wilson | — | MNG585061 | Nov 2028 | 2 |
| Lamberton WWTP | Lamberton Township | — | MNG585100 | Nov 2028 | 3 |
| Lancaster WWTP | Lancaster | — | MNG585066 | Nov 2028 | 21 |
| Leota Sanitary District WWTP | Leota | — | MNG585219 | Nov 2028 | 40 |
| Lewisville WWTP | Lewisville | — | MNG585314 | Nov 2028 | 16 |
| Lismore WWTP | Lismore Township | — | MNG585076 | Nov 2028 | 30 |
| Littlefork WWTP | Littlefork | — | MNG585081 | Nov 2028 | 26 |
| Lowry WWTP | Lowry | — | MNG585123 | Nov 2028 | 0 |
| Lucan WWTP | Lucan | — | MNG585112 | Nov 2028 | 0 |
| Lynd WWTP | Lynd | — | MNG585030 | Nov 2028 | 35 |
| Magnolia WWTP | Magnolia | — | MNG585190 | Nov 2028 | 0 |
| Mapleton WWTP | Mapleton | — | MNG585089 | Nov 2028 | 11 |
| Marietta WWTP | Marietta | — | MNG585160 | Nov 2028 | 4 |
| Mcgregor WWTP | Mcgregor | — | MNG585405 | Nov 2028 | 0 |
| Mcintosh WWTP | Mcintosh | — | MNG585031 | Nov 2028 | 3 |
| Mckinley WWTP | Mckinley | — | MNG585367 | Nov 2028 | 7 |
| Meriden Township WWTP | Owatonna | — | MNG585319 | Nov 2028 | 64 |
| Middle River WWTP | Middle River | — | MNG585163 | Nov 2028 | 17 |
| Milan WWTP | Milan | — | MNG585141 | Nov 2028 | 7 |
| Milroy | Milroy | — | MNG585124 | Nov 2028 | 39 |
| Minneota WWTP | Minneota | — | MNG585033 | Nov 2028 | 20 |
| Moose Lake WWTP | Moose Lake | — | MNG585401 | Nov 2028 | 17 |
| Newfolden WWTP | New Folden Township | — | MNG585145 | Nov 2028 | 25 |
| Nicollet WWTP | Nicollet | — | MNG585037 | Nov 2028 | 5 |
| Nielsville WWTP | Nielsville | — | MNG585166 | Nov 2028 | 4 |
| Northome WWTP | Northome | — | MNG585185 | Nov 2028 | 1 |
| Odessa WWTP | Odessa Township | — | MNG585099 | Nov 2028 | 49 |
| Odin-Ormsby WWTP | Odin | — | MNG585369 | Nov 2028 | 0 |
| Oklee WWTP | Oklee | — | MNG585038 | Nov 2028 | 1 |
| Ortonville WWTP | Ortonville | — | MNG585151 | Nov 2028 | 9 |
| Osakis WWTP | Osakis | — | MN0020028 | Nov 2028 | 8 |
| Oslo WWTP | Oslo | — | MNG585379 | Nov 2028 | 0 |
| Pease WWTP | Pease | — | MNG585167 | Nov 2028 | 9 |
| Pemberton WWTP | Pemberton | — | MNG585075 | Nov 2028 | 0 |
| Perley WWTP | Perley | — | MNG585326 | Nov 2028 | 43 |
| Plummer | Plummer | — | MNG585327 | Nov 2028 | 0 |
| Porter WWTP | Porter | — | MNG585128 | Nov 2028 | 12 |
| Raymond | Raymond | — | MNG585197 | Nov 2028 | 4 |
| Red Lake Falls WWTP | Red Lake Falls Township | — | MNG585161 | Nov 2028 | 0 |
| Remer WWTP | Remer | — | MNG585210 | Nov 2028 | 1 |
| Revere WWTP | Revere | — | MNG585114 | Nov 2028 | 1 |
| Rollingstone WWTP | Rollingstone Township | — | MNG585078 | Nov 2028 | 0 |
| Rothsay WWTP | Rothsay | — | MNG585064 | Nov 2028 | 1 |
| Rushmore WWTP | Rushmore | — | MNG585201 | Nov 2028 | 24 |
| Russell WWTP | Russell | — | MNG585062 | Nov 2028 | 113 |
| Ruthton WWTP | Ruthton | — | MNG585105 | Nov 2028 | 8 |
| Sabin WWTP | Sabin | — | MNG585133 | Nov 2028 | 17 |
| Saint Hilaire WWTP | Saint Hilaire | — | MNG585334 | Nov 2028 | 10 |
| Saint Martin WWTP | Saint Martin | — | MNG585402 | Nov 2028 | 11 |
| Sanborn Wastewater Treatment Plant | Sanborn | — | MNG585115 | Nov 2028 | 30 |
| Sargeant WWTP | Sargeant Township | — | MNG585214 | Nov 2028 | 4 |
| Searles WWTP | Searles | — | MNG585080 | Nov 2028 | 2 |
| Serpent Lake WWTP | Crosby | — | MNG585215 | Nov 2028 | 1 |
| Shafer WWTP | Shafer | — | MNG585047 | Nov 2028 | 3 |
| Shelly WWTP | Shelly | — | MNG585227 | Nov 2028 | 16 |
| Shetek Area Water & Sewer District WWTP | Currie | — | MNG585403 | Nov 2028 | 1 |
| Silver Lake WWTP | Lakeville | — | MNG585164 | Nov 2028 | 0 |
| Slayton WWTP | Slayton | — | MNG585191 | Nov 2028 | 27 |
| Sleepy Eye WWTP | Sleepy Eye | — | MNG585041 | Nov 2028 | 9 |
| Steen WWTP | Steen | — | MNG585199 | Nov 2028 | 5 |
| Stockton WWTP | Stockton | — | MNG585079 | Nov 2028 | 7 |
| Storden WWTP | Storden Township | — | MNG585106 | Nov 2028 | 5 |
| Sunburg WWTP | Sunburg | — | MNG585125 | Nov 2028 | 21 |
| Taunton WWTP | Taunton | — | MNG585090 | Nov 2028 | 4 |
| Tower/breitung WWTP | Soudan | — | MNG585186 | Nov 2028 | 0 |
| Twin Lakes WWTP | Twin Lakes | — | MNG585042 | Nov 2028 | 74 |
| Twin Valley | Twin Valley | — | MNG585137 | Nov 2028 | 2 |
| Tyler WWTP | Tyler | — | MNG585116 | Nov 2028 | 3 |
| Ulen WWTP | Ulen Township | — | MNG585088 | Nov 2028 | 20 |
| Vesta WWTP | Vesta | — | MNG585043 | Nov 2028 | 22 |
| Viking Wastewater Treatment I | Viking | — | MNG585370 | Nov 2028 | 5 |
| Wahkon WWTP | Wahkon | — | MNG585051 | Nov 2028 | 16 |
| Walters WWTF | Walters | — | MNG585223 | Nov 2028 | 50 |
| Waltham WWTP | Waltham | — | MNG585380 | Nov 2028 | 9 |
| Wanda WWTP | Wanda | — | MNG585126 | Nov 2028 | 6 |
| Warba WWTP | Warba | — | MNG585345 | Nov 2028 | 38 |
| Wendell WWTP | Wendell | — | MNG585153 | Nov 2028 | 4 |
| Westbrook WWTP | Westbrook Township | — | MNG585127 | Nov 2028 | 32 |
| Wheaton WWTP | Lake Valley Township | — | MNG585044 | Nov 2028 | 15 |
| Williams WWTP | Williams | — | MNG585388 | Nov 2028 | 0 |
| Willow River WWTP | Willow River | — | MNG585054 | Nov 2028 | 4 |
| Wilmont WWTP | Wilmont | — | MNG585200 | Nov 2028 | 32 |
| Winger Dump Site | Winger Township | — | MNG585045 | Nov 2028 | 83 |
| Winton WWTP | Winton | — | MNG585187 | Nov 2028 | 36 |
| Wolf Lake WWTP | Wolf Lake | — | MNG585226 | Nov 2028 | 157 |
| Wood Lake WWTP | Wood Lake Township | — | MNG585107 | Nov 2028 | 8 |
| Woodstock WWTP | Woodstock | — | MNG585192 | Nov 2028 | 0 |
| Kasson WWTP | Kasson | 0.63 | MN0050725 | Dec 2028 | 0 |
| Mountain Iron WWTP | Mountain Iron | 0.28 | MN0040835 | Dec 2028 | 1 |
| Morton WWTP | Morton | 0.03 | MN0051292 | Dec 2028 | 13 |
| Millerville WWTP | Brandon | — | MN0054305 | Dec 2028 | 0 |
Sources and methodology
Flow, permit and violation figures come from the EPA's ICIS-NPDES discharge monitoring records. Population served comes from the Clean Watersheds Needs Survey 2022. Treatment structures are identified by Klarifi's review of aerial imagery, and capital improvement projects are extracted from published municipal budget documents. Violations are counted over the last three years of monitoring reports.
Data refreshed October 26, 2026.
Wastewater terms: NPDES permit · POTW · Biological nutrient removal · Tertiary treatment · Anaerobic digester · MGD · all terms
Cite this page
Journalists, researchers and educators are welcome to quote these figures. Please credit Klarifi as the source and link to this page.
Klarifi. “NPDES permits expiring in 2028: Minnesota wastewater plants.” Updated October 26, 2026. https://klarifi.io/facilities/minnesota/permits-expiring/2028Need a custom cut of the data for a state, a county or a list of plants? Email info@klarifi.io.