The 2025 Michigan high school football playoffs begin on Friday, October 31, with 64 games in the district semifinal round.
High School On SI has brackets for every division in the Michigan high school playoffs. The championship games will begin on November 22 for 8-Man and November 30 for 11-Man.
Regional Semifinal
North Dickinson vs. LaSalle – 10/31 at 7:00 p.m. EST
Lake Linden-Hubbell vs. North Central – 10/31 at 7:00 p.m. EST
Onekama vs. Hillman – 10/31 at 7:00 p.m. EST
Mio-Au Sable vs. St. Mary Cathedral – 10/31 at 7:00 p.m. EST
St. Patrick vs. Marion – 10/31 at 7:00 p.m. EST
Mendon vs. Sacred Heart Academy – 10/31 at 7:00 p.m. EST
Britton Deerfield vs. Pittsford – 10/31 at 7:00 p.m. EST
Deckerville vs. Morrice – 10/31 at 7:00 p.m. EST
Regional Semifinal
Norway vs. Bessemer – 10/31 at 7:00 p.m. EST
Inland Lakes vs. Pickford – 10/31 at 7:00 p.m. EST
Montabella vs. Breckenridge – 10/31 at 7:00 p.m. EST
Merrill vs. Central Lake – 10/31 at 7:00 p.m. EST
Martin vs. Marcellus – 10/31 at 7:00 p.m. EST
Gobles vs. Climax-Scotts – 10/31 at 7:00 p.m. EST
Kingston vs. All Saints Central – 10/31 at 7:00 p.m. EST
Brown City vs. Capac – 10/31 at 7:00 p.m. EST
District Semifinal
Bark River-Harris vs. West Iron County – 10/31 at 7:00 p.m. EST
Iron Mountain vs. L’Anse – 10/31 at 7:00 p.m. EST
Glen Lake vs. Mancelona – 10/31 at 7:00 p.m. EST
East Jordan vs. Frankfort – 10/31 at 7:00 p.m. EST
Beal City vs. Sacred Heart Academy – 10/31 at 7:00 p.m. EST
Nouvel Catholic Central vs. Michigan Lutheran Seminary – 10/31 at 7:00 p.m. EST
Harbor Beach vs. Reese – 10/31 at 7:00 p.m. EST
Unionville-Sebewaing vs. Genesee – 10/31 at 7:00 p.m. EST
Hudson vs. Centreville – 10/31 at 7:00 p.m. EST
Decatur vs. White Pigeon – 10/31 at 7:00 p.m. EST
Springport vs. Manchester – 10/31 at 7:00 p.m. EST
New Lothrop vs. Fowler – 10/31 at 7:00 p.m. EST
Madison vs. Oakland Christian – 10/31 at 7:00 p.m. EST
Our Lady of the Lakes vs. Everest Collegiate – 10/31 at 7:00 p.m. EST
Melvindale ABT vs. Richard – 10/31 at 7:00 p.m. EST
Cabrini vs. Bradford Academy – 10/31 at 7:00 p.m. EST
District Semifinal
Menominee vs. Manton – 10/31 at 7:00 p.m. EST
Charlevoix vs. McBain – 10/31 at 7:00 p.m. EST
Harrison vs. Morley Stanwood – 10/31 at 7:00 p.m. EST
Pine River Area vs. Shelby – 10/31 at 7:00 p.m. EST
Pewamo-Westphalia vs. Ravenna – 10/31 at 7:00 p.m. EST
North Muskegon vs. Saranac – 10/31 at 7:00 p.m. EST
Valley Lutheran vs. Ithaca – 10/31 at 7:00 p.m. EST
Laker vs. Cass City – 10/31 at 7:00 p.m. EST
Schoolcraft vs. Galesburg-Augusta – 10/31 at 7:00 p.m. EST
Lawton vs. Constantine – 10/31 at 7:00 p.m. EST
Hanover-Horton vs. Union City – 10/31 at 7:00 p.m. EST
Bronson vs. Jonesville – 10/31 at 7:00 p.m. EST
St. Mary Catholic Central vs. Leslie – 10/31 at 7:00 p.m. EST
Clinton vs. Whiteford – 10/31 at 7:00 p.m. EST
Millington vs. Bendle – 10/31 at 7:00 p.m. EST
Detroit Community vs. Lutheran Northwest – 10/31 at 7:00 p.m. EST
District Semifinal
Kingsley vs. Calumet – 10/31 at 7:00 p.m. EST
St. Francis vs. Boyne City – 10/31 at 7:00 p.m. EST
Reed City vs. Meridian – 10/31 at 7:00 p.m. EST
Central Montcalm vs. Montague – 10/31 at 7:00 p.m. EST
Belding vs. Ovid-Elsie – 10/31 at 7:00 p.m. EST
Olivet vs. Kent City – 10/31 at 7:00 p.m. EST
Montrose vs. New Standard Academy – 10/31 at 7:00 p.m. EST
Hamady vs. Durand – 10/31 at 7:00 p.m. EST
Lumen Christi Catholic vs. Onsted – 10/31 at 7:00 p.m. EST
Napoleon vs. Buchanan – 10/31 at 7:00 p.m. EST
Ecorse vs. Madison – 10/31 at 7:00 p.m. EST
Ida vs. Robichaud – 10/31 at 7:00 p.m. EST
Edison Academy vs. Detroit Central – 10/31 at 7:00 p.m. EST
Pershing vs. Michigan Collegiate – 10/31 at 7:00 p.m. EST
Almont vs. Clintondale – 10/31 at 7:00 p.m. EST
Marine City vs. Clawson – 10/31 at 7:00 p.m. EST
District Semifinal
Ogemaw Heights vs. Negaunee – 10/31 at 7:00 p.m. EST
Kingsford vs. Gladwin – 10/31 at 7:00 p.m. EST
Swan Valley vs. Clare – 10/31 at 7:00 p.m. EST
Whitehall vs. Tri County Area – 10/31 at 7:00 p.m. EST
Grand Rapids Catholic Central vs. Kelloggsville – 10/31 at 7:00 p.m. EST
West Catholic vs. Oakridge – 10/31 at 7:00 p.m. EST
Hackett Catholic Prep vs. Hopkins – 10/31 at 7:00 p.m. EST
Berrien Springs vs. Dowagiac – 10/31 at 7:00 p.m. EST
Gabriel Richard vs. Cody – 10/31 at 7:00 p.m. EST
Michigan Center vs. Romulus – 10/31 at 7:00 p.m. EST
Summit Academy vs. Collegiate Prep – 10/31 at 7:00 p.m. EST
Jefferson vs. Flat Rock – 10/31 at 7:00 p.m. EST
Notre Dame Prep vs. Hazel Park – 10/31 at 7:00 p.m. EST
Southeastern vs. Denby – 10/31 at 7:00 p.m. EST
Frankenmuth vs. Yale – 10/31 at 7:00 p.m. EST
Richmond vs. Armada – 10/31 at 7:00 p.m. EST
District Semifinal
Escanaba vs. Freeland – 10/31 at 7:00 p.m. EST
Ludington vs. Big Rapids – 10/31 at 7:00 p.m. EST
Unity Christian vs. Holland Christian – 10/31 at 7:00 p.m. EST
Godwin Heights vs. Spring Lake – 10/31 at 7:00 p.m. EST
Harper Creek vs. Christian – 10/31 at 7:00 p.m. EST
Portland vs. South Christian – 10/31 at 7:00 p.m. EST
Paw Paw vs. Three Rivers – 10/31 at 7:00 p.m. EST
Edwardsburg vs. Vicksburg – 10/31 at 7:00 p.m. EST
Williamston vs. Sexton – 10/31 at 7:00 p.m. EST
Haslett vs. St. Johns – 10/31 at 7:00 p.m. EST
Goodrich vs. Lake Fenton – 10/31 at 7:00 p.m. EST
Chelsea vs. Fowlerville – 10/31 at 7:00 p.m. EST
Divine Child vs. Tecumseh – 10/31 at 7:00 p.m. EST
Lamphere vs. Redford Union – 10/31 at 7:00 p.m. EST
Harper Woods vs. Lutheran North – 10/31 at 7:00 p.m. EST
Chandler Park Academy vs. Center Line – 10/31 at 7:00 p.m. EST
District Semifinal
Mt. Pleasant vs. Bay City Western – 10/31 at 7:00 p.m. EST
Gaylord vs. Marquette – 10/31 at 7:00 p.m. EST
Kenowa Hills vs. Coopersville – 10/31 at 7:00 p.m. EST
East Grand Rapids vs. Cedar Springs – 10/31 at 7:00 p.m. EST
Niles vs. Zeeland West – 10/31 at 7:00 p.m. EST
St. Joseph vs. Zeeland East – 10/31 at 7:00 p.m. EST
Lowell vs. Coldwater – 10/31 at 7:00 p.m. EST
Hastings vs. Thornapple Kellogg – 10/31 at 7:00 p.m. EST
DeWitt vs. Owosso – 10/31 at 7:00 p.m. EST
Mason vs. Linden – 10/31 at 7:00 p.m. EST
Adrian vs. Lincoln – 10/31 at 7:00 p.m. EST
Fenton vs. Holly – 10/31 at 7:00 p.m. EST
Martin Luther King vs. Riverview – 10/31 at 7:00 p.m. EST
Trenton vs. Thurston – 10/31 at 7:00 p.m. EST
Fitzgerald vs. De La Salle Collegiate – 10/31 at 7:00 p.m. EST
Port Huron vs. Marysville – 10/31 at 7:00 p.m. EST
District Semifinal
Muskegon vs. Mona Shores – 10/31 at 7:00 p.m. EST
Traverse City West vs. Traverse City Central – 10/31 at 7:00 p.m. EST
Portage Central vs. Everett – 10/31 at 7:00 p.m. EST
Byron Center vs. Portage Northern – 10/31 at 7:00 p.m. EST
Dow vs. Mott – 10/31 at 7:00 p.m. EST
Lakeland vs. East Lansing – 10/31 at 7:00 p.m. EST
Walled Lake Western vs. Brother Rice – 10/31 at 7:00 p.m. EST
North Farmington vs. St. Mary’s Prep – 10/31 at 7:00 p.m. EST
South Lyon vs. South Lyon East – 10/31 at 7:00 p.m. EST
Dexter vs. Franklin – 10/31 at 7:00 p.m. EST
Carlson vs. Lincoln Park – 10/31 at 7:00 p.m. EST
Allen Park vs. Bedford – 10/31 at 7:00 p.m. EST
Groves vs. Mott – 10/31 at 7:00 p.m. EST
Cousino vs. Seaholm – 10/31 at 7:00 p.m. EST
Grosse Pointe South vs. Roseville – 10/31 at 7:00 p.m. EST
Port Huron Northern vs. Lakeview – 10/31 at 7:00 p.m. EST
District Semifinal
Hudsonville vs. Jenison – 10/31 at 7:00 p.m. ET
Rockford vs. Grandville – 10/31 at 7:00 p.m. ET
Howell vs. Kalamazoo Central – 10/31 at 7:00 p.m. ET
East Kentwood vs. Grand Ledge – 10/31 at 7:00 p.m. ET
Detroit Catholic Central vs. Hartland – 10/31 at 7:00 p.m. ET
West Bloomfield vs. Brighton – 10/31 at 7:00 p.m. ET
Clarkston vs. Davison – 10/31 at 7:00 p.m. ET
Grand Blanc vs. Oxford – 10/31 at 7:00 p.m. ET
Saline vs. Salem – 10/31 at 7:00 p.m. ET
Belleville vs. Woodhaven – 10/31 at 7:00 p.m. ET
Cass Tech vs. Northville – 10/31 at 7:00 p.m. ET
Farmington vs. Fordson – 10/31 at 7:00 p.m. ET
Adams vs. Rochester – 10/31 at 7:00 p.m. ET
Stoney Creek vs. Utica Eisenhower – 10/31 at 7:00 p.m. ET
Romeo vs. Sterling Heights Stevenson – 10/31 at 7:00 p.m. ET
Utica vs. Dakota – 10/31 at 7:00 p.m. ET
*Game times are subject to change
