Tornadoes · United States · Minnesota · 2025
EF0 tornado, Walters to Freeborn, Minnesota, June 25, 2025
From Walters to Freeborn, this EF0 tornado ran 1.8 miles across Faribault and Freeborn counties on June 25, 2025, touching down at 3:39 PM CDT and reaching 25 yards wide. It killed nobody.
The rating scale
Tracks are drawn in the color of the rating. The Enhanced Fujita scale rates the damage rather than measuring the wind: the speeds are what that damage is taken to imply.
EF065 to 85 mphthis tornado
Light damage. Surface peeled off some roofs, gutters and siding damaged, branches broken, shallow-rooted trees pushed over.
EF186 to 110 mph
Moderate damage. Roofs badly stripped, mobile homes overturned or badly damaged, exterior doors lost, windows broken.
EF2111 to 135 mph
Considerable damage. Roofs torn off well-built houses, frame homes shifted on their foundations, mobile homes destroyed, large trees snapped or uprooted, cars lifted off the ground.
EF3136 to 165 mph
Severe damage. Whole stories of well-built houses destroyed, large buildings badly damaged, trains overturned, trees debarked, heavy cars lifted and thrown.
EF4166 to 200 mph
Devastating damage. Well-built houses leveled, structures with weak foundations moved some distance, cars thrown and large missiles generated.
EF5over 200 mph
Incredible damage. Strong frame houses swept off their foundations, car-sized missiles thrown more than 100 meters, steel-reinforced concrete badly damaged, high-rise buildings deformed.
Unrated
The survey recorded a tornado but could not put a number on it, most often because it crossed open country and damaged nothing a rating can be read from.
The record
- Rating
- EF0
- Date
- June 25, 2025
- Touchdown
- 3:39 PM CDT (20:39 UTC)
- Lifted
- 3:43 PM CDT (20:43 UTC)
- On the ground
- 4 minutes
- Path length
- 1.8 miles (2.9 km)
- Path width
- 25 yards (23 m)
- Deaths
- 0
- Injuries
- 0
- Counties
- Faribault and Freeborn counties
- Touchdown point
- 43.672, -93.668
- Lift-off point
- 43.688, -93.639
- Record number
- 2506251439-01
The damage survey
22 damage points were recorded along this path by NWS MPX, in the Damage Assessment Toolkit the survey teams carry. The strongest indicator was rated EF1. The highest wind the damage implies is 105 mph.
- Tornado on storm chaser video at this location.
- Newly constructed; rated for winds of 100 mph.
- Several poles were knocked over with debris wrapped around them.
- end of tornado per storm chaser
Survey points are preliminary and are the raw material the published rating was built from. Source: NWS Damage Assessment Toolkit.
What the Weather Service recorded
A warm front lifted north into southern Minnesota on the afternoon of Wednesday, June 25th. Strong surface heating to the south of the front with dew points in the 70s allowed for ample instability to develop across the area. Scattered thunderstorms developed in response to the instability and flash flooding occurred in western and east central MN. Strong low-level shear allowed these low-topped supercells to rotate and produce four EF-0s and one EF-1 tornadoes across Faribault and Freeborn Counties in southern Minnesota. ||Most tornadoes were on the ground between one to three miles and approximately 25 yds wide. The longest tornado path was an EF-1 that occurred west-southwest of Hartland in Freeborn County for about 5.2 miles with peak winds at 105 mph. The tornado damaged crops, power poles, and several farm outbuildings.
A tornado was caught on video in Faribault County, just north of Interstate 90. It moved across fields before moving into Freeborn County, where it hit some trees. Satellite imagery confirmed the tornado path. Based on the tree damage, the maximum wind speed was estimated at 80 mph.
A tornado was caught on video in Faribault County, just north of Interstate 90. It moved across fields before moving into Freeborn County, where it hit some trees. Satellite imagery confirmed the tornado path. Based on the tree damage, the maximum wind speed was estimated at 80 mph.
A trained spotter took photos and video of a tornado that crossed the northern portion of Freeborn Lake. It damaged some corn on the western edge of the lake, then knocked down large branches on the east side of the lake.
Trained spotters and some members of the public took photos of a tornado that crossed the southern portion of Freeborn Lake. Before crossing the lake, it damaged trees at an abandoned farmstead. After crossing the lake, it damaged some corn on the eastern side of the lake before it dissipated.
A trained spotter took photos and video of a tornado northwest of the city of Freeborn. It hit a grove of trees at the outset, then crossed several fields before dissipating.
From NOAA NCEI's Storm Events Database, the narrative the local forecast office wrote for Storm Data.
The warnings
No tornado warning for this county appears in the archive as in force at the moment the tornado touched down. One was issued for the county at another hour that day.
The county was under a tornado watch, issued at 20:12 UTC and running to 00:10 UTC.
| Issued (UTC) | Expired | Product | Office |
|---|---|---|---|
| 15:50 UTC | 01:27 UTC | Flood Watch | MPX |
| 20:12 UTC | 00:10 UTC | Tornado Watch | MPX |
| 20:53 UTC | 21:15 UTC | Tornado Warning | MPX |
| 21:29 UTC | 21:39 UTC | Tornado Warning | MPX |
Every warning and watch covering the touchdown point that day, from the Iowa Environmental Mesonet's archive of National Weather Service products. Lead time is measured from the issue of the warning in force to the touchdown time in the database, both of which were recorded to the minute by different people.
The forecast that day
The Storm Prediction Center had this point in a Slight Risk, with a 0.05 chance of a tornado within 25 miles. The outlook in force was issued at 19:59 UTC.
SPC's Day 1 convective outlook as it stood when the tornado began, read at the touchdown point. The same archive is on the radar archive.
The air that afternoon
The radiosonde launches on either side of the tornado, from the nearest station that was launching then, drawn and analyzed the way Storm Lab does: the same diagram, the same parcel and shear definitions SPC's mesoanalysis uses.
Minneapolis, MN (KMPX), 12:00Z
8.7 hours before the tornado, 130 km from the path. June 25, 2025.
- Mixed-layer CAPE
- 0 J/kg
- Mixed-layer CIN
- -102513 J/kg
- Surface CAPE
- 0 J/kg
- Mixed-layer LCL
- 1352 m above ground
- 0-6 km bulk shear
- 17 kt
- 0-1 km bulk shear
- 15 kt
- 0-1 km storm-relative helicity
- 59 m²/s²
- 0-3 km storm-relative helicity
- 115 m²/s²
- Significant tornado parameter
- 0.0
- Supercell composite
- 0.1
- 0-3 km lapse rate
- 4.4 K/km
Minneapolis, MN (KMPX), 00:00Z
3.3 hours after it, 130 km from the path. June 26, 2025.
- Mixed-layer CAPE
- 0 J/kg
- Mixed-layer CIN
- -91978 J/kg
- Surface CAPE
- 8 J/kg
- Mixed-layer LCL
- 561 m above ground
- 0-6 km bulk shear
- 42 kt
- 0-1 km bulk shear
- 15 kt
- 0-1 km storm-relative helicity
- 62 m²/s²
- 0-3 km storm-relative helicity
- 57 m²/s²
- Significant tornado parameter
- 0.0
- Supercell composite
- 0.0
- 0-3 km lapse rate
- 3.8 K/km
The surface observations
Albert Lea (AEL), 23 km from the path, in the two hours either side.
| Time (UTC) | Temp (°F) | Dew point (°F) | Wind | Gust (kt) | Pressure (mb) | Weather |
|---|---|---|---|---|---|---|
| 18:55 UTC | 73.4 | 73.4 | 170° 8 kt | 1016.6 | ||
| 19:15 UTC | 73.4 | 73.4 | 180° 9 kt | 15 | 1016.3 | |
| 19:35 UTC | 75.2 | 75.2 | 170° 9 kt | 1015.6 | ||
| 19:55 UTC | 75.2 | 75.2 | 180° 9 kt | 1015.6 | ||
| 20:16 UTC | 75.2 | 75.2 | 180° 6 kt | 1014.9 | ||
| 20:35 UTC | 77 | 75.2 | 190° 8 kt | 1014.2 | -RA | |
| 20:55 UTC | 78.8 | 75.2 | 190° 10 kt | 14 | 1013.9 | |
| 21:15 UTC | 77 | 75.2 | 240° 5 kt | 15 | 1013.5 | RA |
| 21:35 UTC | 78.8 | 75.2 | 200° 10 kt | 16 | 1013.5 | |
| 21:55 UTC | 78.8 | 75.2 | 270° 4 kt | 1013.5 | RA | |
| 22:36 UTC | 75.2 | 75.2 | 220° 7 kt | 1013.9 |
From the Iowa Environmental Mesonet's archive of airport observations.
The radar
The Minneapolis radar (KMPX), 130 km away, was scanning. The volume nearest the touchdown began at 20:40 UTC.
Open the radar archive at this moment, over the track
Reflectivity and velocity, decoded from the Level II archive in the browser. Volumes take a few seconds to open the first time.
What was reported nearby
Local storm reports within 60 km of the path, in the three hours either side.
| Time (UTC) | Report | Where | County | Remark |
|---|---|---|---|---|
| 20:40 UTC | FUNNEL CLOUD | 2 Sw Alden | Freeborn, MN | |
| 20:42 UTC | TORNADO | 2 Sw Alden | Freeborn, MN | Multiple reports of a tornado SW of Alden. |
| 21:00 UTC | TORNADO | 1 S Freeborn | Freeborn, MN | Law enforcement reports tornado over Freeborn Lake. |
| 21:20 UTC | FUNNEL CLOUD | 3 Sse Owatonna | Steele, MN | Video received on X of a funnel/possible tornado. Was behind a tree line, so cant tell if it was in contact with the ground. No damage reported. Time estimated from radar. |
| 21:26 UTC | TORNADO | 1 W Freeborn | Freeborn, MN | Law enforcement reports a tornado just west of Freeborn. |
| 21:26 UTC | TORNADO | 2 W Freeborn | Freeborn, MN | Relayed by county EM. Tornado gaining strength. |
| 21:33 UTC | TORNADO | 2 Ne Hartland | Freeborn, MN | Damage to barn/shed at farm residence. |
| 21:37 UTC | TORNADO | 1 W Hartland | Freeborn, MN | Law enforcement reports a tornado at the intersection of 310 St. and 685th Ave. outside Hartland. |
| 21:44 UTC | TORNADO | 2 Wsw Ellendale | Steele, MN | Law enforcement reports a tornado southwest of Ellendale, moving northeast. |
From the Iowa Environmental Mesonet's archive of National Weather Service local storm reports.
This ground now
The live radar over the trackEvery 2025 tornado in MinnesotaEvery tornado in Minnesota since 1950Warnings in force in Minnesota nowThe forecast where you are
The other tornadoes of June 25, 2025
15 more were confirmed in the United States that day.
| Date | Time | Rating | Where | Path (mi) | Width (yd) | Deaths | Injuries | Damage |
|---|---|---|---|---|---|---|---|---|
| June 25 | 3:43 PM CDT | EF0 | Freeborn, MN | 1.5 | 25 | |||
| June 25 | 3:49 PM CDT | EF0 | Freeborn, MN | 3.3 | 25 | |||
| June 25 | 4:15 PM CDT | EF0 | Freeborn, MN | 1.7 | 25 | |||
| June 25 | 4:29 PM CDT | EF1 | Freeborn, MN | 5.2 | 25 | |||
| June 25 | 5:17 PM CDT | EF1 | Houston, MN | 6.5 | 75 | $2,000 | ||
| June 25 | 5:51 PM CDT | EF1 | Wabasha, MN | 1.8 | 150 | $95,000 | ||
| June 25 | 5:54 PM CDT | EF0 | Winona, MN | 1.4 | 25 | |||
| June 25 | 5:59 PM CDT | EF0 | Houston, MN | 1.1 | 20 | |||
| June 25 | 6:02 PM CDT | EF0 | Wabasha, MN | 2.7 | 20 | |||
| June 25 | 7:02 PM EDT | EF1 | Pinellas, FL | 2.1 | 100 | $250,000 | ||
| June 25 | 6:41 PM CDT | EF1 | La Crosse, WI | 5.1 | 130 | |||
| June 25 | 6:53 PM CDT | EF0 | La Crosse, WI | 1.1 | 60 | |||
| June 25 | 7:14 PM CDT | EF0 | Houston, IA to MN | 3.6 | 50 | |||
| June 25 | 7:26 PM CDT | EF0 | Monroe, WI | 0.6 | 30 | |||
| June 25 | 1:10 AM EDT | EF1 | Upson, GA | 3.5 | 200 |
What this means
Ratings are the survey's, read off the damage rather than measured; the rating scale is above. Tornado counts rise through the record as reporting improved, so a year in the 1950s is not comparable with one today except for the strongest tornadoes, which were always noticed.
Sources
NOAA Storm Prediction Center tornado database, 1950-2025, the official record kept by NOAA's Storm Prediction Center.