Ohio storm reports for July 21, 2026
NOAA recorded 70 wind reports and 11 tornado reports in Ohio on July 21, 2026.
- in Ohio
- 81
- Storm reports
- 11
- Tornado reports
Hail, inches
- 0.75
- 1
- 1.5
- 2
- 2.5
- 3+
Dots: reports. Shading: radar estimate.
- Wind report
- Estimated gusts, 50 to 90 mph
- Tornado and its path
- Surveyed tornado path
Hail, inches
- 0.75
- 1
- 1.5
- 2
- 2.5
- 3+
Dots: reports. Shading: radar estimate.
- Wind report
- Estimated gusts, 50 to 90 mph
- Tornado and its path
- Surveyed tornado path
Source: NOAA/NWS Storm Prediction Center, preliminary storm reports. NOAA revises recent reports for several weeks. Report day: 12:00 UTC on July 21, 2026 to 12:00 UTC the next day. Times are Central.
Select a dot or a path for the report. NWS survey teams walked the shaded paths after the storm; each is drawn at the widest width they found, so it can look wider than the damage at any one spot. Gust lines are estimates: the highest gust of the day in NOAA's hourly 2.5 km wind analysis (URMA), which fills in between weather stations. They aren't measurements at any building.
Reports by hour
Wind70, most at 2 PM
Tornado11, most at 2 PM
Every report
Source: NOAA/NWS Storm Prediction Center.
| Time | Rating | Where | Path |
|---|---|---|---|
| 1:50 PM | Not rated | 3 WSW Amelia, Clermont County, OH | Not surveyed |
| 1:54 PM | Not rated | 5 SSE Philo, Muskingum County, OH | Not surveyed |
| 2:09 PM | Not rated | 5 SSW Sabina, Clinton County, OH | Not surveyed |
| 2:17 PM | Not rated | 2 WNW Duncan Falls, Muskingum County, OH | Not surveyed |
| 2:21 PM | Not rated | 2 S Hamersville, Brown County, OH | Not surveyed |
| 2:22 PM | Not rated | Duncan Falls, Muskingum County, OH | Not surveyed |
| 3:15 PM | Not rated | 3 NE Marietta, Washington County, OH | Not surveyed |
| 3:25 PM | Not rated | 10 E Marietta, Washington County, OH | Not surveyed |
| 3:31 PM | Not rated | 7 SW Matamoras, Washington County, OH | Not surveyed |
| 5:44 PM | Not rated | 3 SW Hubbard, Trumbull County, OH | Not surveyed |
| 5:48 PM | Not rated | 2 ESE Youngstown, Mahoning County, OH | Not surveyed |
| Time | Gust | Where |
|---|---|---|
| 10:28 AM | Not measured | 3 SE Ashland, Ashland County, OH |
| 10:29 AM | Not measured | 2 NE Jeromesville, Ashland County, OH |
| 10:44 AM | Not measured | 7 ENE Logan, Hocking County, OH |
| 10:48 AM | Not measured | 3 SSE Nelsonville, Athens County, OH |
| 10:48 AM | Not measured | 1 ESE Wooster, Wayne County, OH |
| 10:50 AM | Not measured | Nelsonville, Athens County, OH |
| 10:52 AM | Not measured | Nelsonville, Athens County, OH |
| 11:15 AM | Not measured | 7 WNW Belpre, Washington County, OH |
| 11:40 AM | Not measured | 2 NE Lisbon, Columbiana County, OH |
| 11:40 AM | Not measured | 2 NNE Lisbon, Columbiana County, OH |
| 11:41 AM | Not measured | 2 ESE Lisbon, Columbiana County, OH |
| 12:13 PM | Not measured | 3 N Steubenville, Jefferson County, OH |
Show all 70 wind reportsShow fewer
| Time | Gust | Where |
|---|---|---|
| 1:01 PM | Not measured | 2 NE Harrison, Hamilton County, OH |
| 1:12 PM | Not measured | 2 E Glenford, Perry County, OH |
| 1:20 PM | Not measured | 5 E Glenford, Perry County, OH |
| 1:32 PM | Not measured | 2 SSW Zanesville, Muskingum County, OH |
| 1:33 PM | Not measured | 2 WSW Fairfax, Hamilton County, OH |
| 1:42 PM | Not measured | 1 E Newark, Licking County, OH |
| 1:42 PM | Not measured | 1 WNW Newark, Licking County, OH |
| 1:43 PM | Not measured | 3 NNW Newark, Licking County, OH |
| 1:46 PM | Not measured | 1 NNE Withamsville, Clermont County, OH |
| 1:46 PM | Not measured | 1 ENE Newark, Licking County, OH |
| 1:50 PM | Not measured | 1 ENE Clarksville, Clinton County, OH |
| 1:51 PM | Not measured | 6 SSW Hanover, Licking County, OH |
| 1:51 PM | Not measured | 5 SSW Hanover, Licking County, OH |
| 1:52 PM | Not measured | 2 NE Withamsville, Clermont County, OH |
| 1:54 PM | Not measured | 3 NNE New Richmond, Clermont County, OH |
| 1:54 PM | Not measured | 3 NNE New Richmond, Clermont County, OH |
| 1:55 PM | Not measured | 3 SSW Amelia, Clermont County, OH |
| 1:58 PM | Not measured | 3 NNE Gratiot, Licking County, OH |
| 2:00 PM | Not measured | 4 ENE New Richmond, Clermont County, OH |
| 2:02 PM | Not measured | 7 NW Fultonham, Muskingum County, OH |
| 2:07 PM | Not measured | 4 W Zanesville, Muskingum County, OH |
| 2:09 PM | Not measured | 6 NW Highland, Clinton County, OH |
| 2:10 PM | Not measured | 8 N Fultonham, Muskingum County, OH |
| 2:11 PM | Not measured | 3 NNE New Vienna, Clinton County, OH |
| 2:11 PM | Not measured | Sabina, Clinton County, OH |
| 2:14 PM | Not measured | 3 W Hamersville, Clermont County, OH |
| 2:14 PM | Not measured | 1 SE Saint Bernard, Hamilton County, OH |
| 2:15 PM | Not measured | 5 N Leesburg, Fayette County, OH |
| 2:15 PM | Not measured | South Zanesville, Muskingum County, OH |
| 2:17 PM | Not measured | 5 SW Washington Court H, Fayette County, OH |
| 2:19 PM | Not measured | 6 ESE Sabina, Fayette County, OH |
| 2:20 PM | Not measured | 4 SSW Washington Court, Fayette County, OH |
| 2:22 PM | Not measured | 2 S Hamersville, Brown County, OH |
| 2:22 PM | Not measured | Duncan Falls, Muskingum County, OH |
| 2:25 PM | Not measured | 3 ESE Crooksville, Morgan County, OH |
| 2:27 PM | Not measured | 1 NNE Frankfort, Ross County, OH |
| 2:36 PM | Not measured | 6 ENE Frankfort, Ross County, OH |
| 2:41 PM | Not measured | 2 W Sarahsville, Noble County, OH |
| 2:42 PM | Not measured | 3 ESE South Salem, Ross County, OH |
| 2:44 PM | Not measured | 5 SSW Kingston, Ross County, OH |
| 2:44 PM | Not measured | 3 NNW Kingston, Pickaway County, OH |
| 2:45 PM | Not measured | 2 SSW Graysville, Monroe County, OH |
| 2:50 PM | Not measured | 2 NW North Fork Village, Ross County, OH |
| 2:52 PM | Not measured | 2 WSW Cherry Fork, Adams County, OH |
| 2:56 PM | Not measured | 3 S Cherry Fork, Adams County, OH |
| 3:00 PM | Not measured | 5 S Antioch, Monroe County, OH |
| 3:02 PM | Not measured | 10 SE Laurelville, Hocking County, OH |
| 3:05 PM | Not measured | 2 SSW Lower Salem, Washington County, OH |
| 3:09 PM | Not measured | 4 NNE Sugar Grove, Fairfield County, OH |
| 3:20 PM | Not measured | 4 ENE Marietta, Washington County, OH |
| 3:25 PM | Not measured | 8 WNW Coalton, Jackson County, OH |
| 3:28 PM | Not measured | 4 NW Baltimore, Fairfield County, OH |
| 3:30 PM | Not measured | 3 E Marietta, Washington County, OH |
| 3:30 PM | Not measured | 8 SW Matamoras, Washington County, OH |
| 4:30 PM | Not measured | 5 SSE Lake Vesuvius, Lawrence County, OH |
| 4:30 PM | Not measured | 1 NNE Hanging Rock, Lawrence County, OH |
| 5:06 PM | Not measured | 7 SE Lake Vesuvius, Lawrence County, OH |
| 7:35 PM | Not measured | 6 NNW Mount Sterling, Madison County, OH |
Cities with reports nearby
Reports within 15 miles of the center of each city we track.
| City | Largest hail | Highest gust | Tornado reports |
|---|---|---|---|
| Cincinnati, OH | None | None | 0 |
| Youngstown, OH | None | None | 2 |
Reports are what observers recorded near a location, not a complete record of every storm. They don’t describe conditions at any building.