Ohio high school football scores and history · Hank's Ohio Gridiron
{{ tickLabel }}
{{ tickerEl }}
The toughest football in America

Scores, rankings, articles and history.All things Ohio high school football.

Programs
700
Divisions
7
Regions
28
{{ w8Eyebrow }}

Scores from across Ohio

Full scoreboard
{{ g.status }}{{ g.date }}
{{ g.aRk }}{{ g.an }}{{ g.as }}
{{ g.hRk }}{{ g.hn }}{{ g.hs }}
Playoff centerTalk about it
{{ season.fieldLine }}
{{ season.seedLabel }} {{ b.d }}{{ b.teams }}
Rankings
ProspectsOhio players to knowPlayer cards and features, sorted by class.
Browse prospects
Your school. Your division.

Find your corner of Ohio

All 700 schools
{{ rankEyebrow }}

Top rated in every division

All regions
Offer tracker & training updates
{{ o.name }} {{ o.meta }}{{ o.offers }}

Coming this offseason: offers and training updates.

{{ c.label }}
Latest stories

Around the gridiron

All news
On X · @OhioGridironOH

Straight from the sideline

All posts
{{ x.name }}{{ x.by }} · {{ x.dateLabel }}

{{ x.text }}

View on X ↗
The almanac · Since 1972

A tradition worth keeping.

Champions, title games and the programs that shaped Ohio football, checked against OHSAA records.

{{ hist.finals }}Finals
{{ hist.seasons }}Seasons
{{ hist.champs }}Champions
{{ mrFootball }}Mr. Football{{ mrWinner }}
Membership

Follow Ohio football all year

Scores stay free. Members get Hank's Report, every member story, the full almanac and the Press Box.

Compare plans
{{ t.who }}Popular

{{ t.name }}

{{ t.price }}{{ t.per }}

{{ t.line }}

Appreciate the support.

Media, schools and local businesses can license scores or sponsor a team page.

Membership

Never miss a Friday.

Hank's Report, every member story and the full almanac. {{ pr.m }} a month or {{ pr.y }} a year.

{{ smokeEl }}
{{ ph.eyebrow }}

{{ ph.title }} {{ ph.accent }}

{{ ph.intro }}

{{ scoresCount }} games shown · Results reported by Joe Eitel, linked by OHSAA

No games match these filters. Try a different week, division or region.

{{ g.status }}Wk {{ g.w }} · {{ g.date }}
{{ g.away }}{{ g.ad }}{{ g.as }} {{ g.at }}{{ g.home }}{{ g.hd }}{{ g.hs }}
{{ g.region }}

Division {{ grp.d }} · {{ grp.r }}

RankSchoolCityRecordPoints
{{ r.rk }}{{ r.team }}{{ r.city }}{{ r.rec }}{{ r.ptsLabel }}
+{{ grp.hidden }} more teams in {{ grp.r }}. Members see the full ranking.Become a member

{{ rankNoteHead }} {{ rankNote }}

{{ teamCount }} programs

{{ s.v }}{{ s.l }}

2026 schedule and scores

WkDateOpponentResultScore
{{ g.w }}{{ g.date }}{{ g.at }} {{ g.opp }}{{ g.res }}{{ g.score }}

State final history

YearDivResultOpponentScore
{{ f.year }}{{ f.division }}{{ f.res }}{{ f.opp }}{{ f.score }}
By {{ art.byline }} · {{ art.dateLabel }}{{ art.badge }}

{{ art.lead }}

{{ f.v }}{{ f.l }}
Members · the full story

{{ p }}

The rest of this story is for members{{ pr.m }} a month or {{ pr.y }} a year. Already a member? Sign in.

Loading the full story...

{{ art.rowsTitle }}

{{ art.c1 }}{{ art.c2 }}{{ art.c3 }}
{{ r.a }}{{ r.b }}{{ r.c }}

{{ art.source }}

Get Hank's ReportEvery Sunday: the weekend's biggest results and the playoff picture, in your inbox. {{ pr.m }} a month or {{ pr.y }} a year.Become a member

{{ s.v }}

{{ s.l }}

Reigning state champions, 2025

DivChampionScoreRunner upRecord
{{ f.division }}{{ f.champion }}{{ f.champion_score }} to {{ f.runner_up_score }}{{ f.runner_up }}{{ f.champion_record }}{{ f.perf }}
{{ y.year }}{{ y.stadium }}
DivChampionScoreRunner upRecordsCoaches
{{ f.division }}{{ f.champion }}{{ f.dot }}{{ f.champion_score }} to {{ f.runner_up_score }}{{ f.runner_up }}{{ f.champion_record }} / {{ f.runner_up_record }}{{ f.champion_coach }} / {{ f.runner_up_coach }}

● Perfect season. Records read W L or W L T (ties before 1995). Source: reconciled OHSAA state finals workbook.

MembersThe full almanac is for membersEvery program's title ledger and the venues of every final. State finals stay free for everyone.Become a member
SchoolTitlesRunner upFinalsFirst / lastDivisions
{{ r.school }}{{ r.titles }}{{ r.runner_up }}{{ r.appearances }}{{ r.first_final }} / {{ r.last_final }}{{ r.divisions }}

Title counts are historical totals, not a ranking of current programs.

{{ c.l }}

{{ c.v }}

{{ c.h }}

{{ b.title }}

  • {{ i.name }}{{ i.count }}
{{ smokeEl }}
Coming this season

Game photos and highlights

Send game photos or highlight links and tell us who took them, so we can credit the source.

Game photosSideline and crowd shots from any Ohio game.
Highlight linksHudl, YouTube or X links from a team or player.
Team featuresSenior night, traditions and program milestones.

{{ room.name }}

{{ room.desc }}

{{ room.countLabel }}
Chat rooms are for membersTalk with fans from every region and the desk. {{ pr.m }} a month or {{ pr.y }} a year.Become a member
No messages yet. Start the conversation.
{{ msg.ini }}

{{ msg.name }}{{ msg.time }}

{{ msg.shown }}

Posting as {{ accountLabel }} · Posts are public and moderated

Sign in free to post.Sign in or join

Be respectful. Posts are public and moderated. Personal attacks, rumors about minors, personal contact details and spam are removed.

Compare free and member
IncludedFreeMember
{{ c.label }}{{ c.v0 }}{{ c.v1 }}
Membership questions

Before you join

One payment covers the regular season, the playoffs and the offseason.

{{ q.q }}

{{ q.a }}

Media, schools and businesses

Put your name on Friday night

Sponsor a team page, the scoreboard or Hank's Report, or license our scores for your paper or broadcast.

Talk to us
Browse by class
Prospect directory

{{ pTitle }}

Build a player card
{{ pEmpty }}See packages
{{ p.pos }}{{ p.clsLabel }}
{{ p.name }}{{ p.school }}
{{ st.v }}{{ st.l }}

{{ p.offerLine }}

{{ p.links }}{{ p.badge }}

Prospect features

QBCLASS OF 2027

Your Name

Your High School · #00

6'2"

HEIGHT

195

WEIGHT

4.62

40 YD

4.21

SHUTTLE

14

225 REPS

405

SQUAT

XHudlGPA 3.6
HANK'S OHIO GRIDIRON2026
Sample card. Your photo and details go here.
How it works

Three steps to published.

  1. Tell us about the player. School, position, class year, season stats, measurables like 40, shuttle, 225 reps and squat, plus film and social links.
  2. Pay once. Secure Stripe checkout when you submit. No subscription.
  3. We review and publish. An editor checks every card before it goes live. If we decline it, you get a full refund.
Talk to your parents firstWe encourage every player to get permission from a parent or guardian before building a card. Players under 18 need a parent or guardian to submit, consent and pay. Read the player card terms

Player card packages

{{ p.kicker }}Recommended

{{ p.name }}

{{ p.price }}{{ p.per }}
  • {{ i }}
IncludedCardPro
{{ c.label }}{{ c.a }}{{ c.b }}
Pricing questions

Before you buy

Still unsure? Ask the desk and we'll help pick the right package.

{{ q.q }}

{{ q.a }}

Card saved

Your {{ pkg.name }} is in.

{{ pkg.doneNote }}

Package
Player
A clear, vertical photo in uniform works best. Leave empty to use the standard silhouette.
Measurables
Links
Age and permission

Under 18? Adding a parent or guardian is optional but helps us confirm your card faster.

Included with {{ pkg.name }} · confirm each
{{ pkg.name }} · {{ pkg.price }}{{ ackStatus }}Could not send. Check your connection and press submit again.

Thanks. It's in.

An editor will review it. If we need more, we'll email you.

{{ typeHint }}
{{ subErr }}
By sending, you agree to our privacy policy.
Advertising

Reach Ohio football families

  • Team page sponsorships
  • Scoreboard and Hank's Report placements
  • Score licensing for papers, radio and school media

Have a score, tip or correction? Send it to the desk.

Message received.

We reply by email, usually within two business days.

See our privacy policy.

{{ accountLabel }}

{{ acctEmail }}
{{ acctPlan }}{{ acctPlanNote }}
What your account unlocks
{{ r.label }}{{ r.tier }}
Your submissions

Scores, tips and stories you send in show here with their review status.

{{ r.title }}{{ r.meta }}
{{ r.status }}
Your player cards

No cards under this email yet. A card shows here when its contact email matches the one you signed up with.

{{ c.name }}{{ c.meta }} · {{ c.status }}

{{ mMsg }}

Reset your password

If that email has an account, a reset link is on its way.

Shown on your chat posts. No full names of minors.
At least 8 characters.

{{ authErr }}

Staff sign in
Order summary

{{ co.name }}

{{ co.price }}{{ co.per }}
  • {{ i }}

Payment complete. {{ co.successNote }}

Checkout canceled. You were not charged.{{ co.cancelNote }}

Test mode. Stripe is not connected yet, so no payment was taken.

We couldn't reach checkout. Try again in a minute.

Apple PayGoogle PayCardLink

Pay with Apple Pay, Google Pay or card on Stripe's secure page. We never see your card number.

Friday nights move fast, and @OhioGridironOH moves with them. Finals the minute the clock hits zero, big plays from every corner of the state, recruiting news, the playoff picture and the calls the desk makes before kickoff. These are the eight newest posts, refreshed here as they go up on X. Follow to get every one live on your feed.

Follow @OhioGridironOH
{{ x.name }}{{ x.by }} · {{ x.dateLabel }}

{{ x.text }}

View on X ↗

Posts from @OhioGridironOH land here as they go up on X. Follow along so you never miss a Friday night final.

Pick a topic. Rules and dates change every year, so confirm on the source site before you act. Hank's Ohio Gridiron is not affiliated with the NCAA, NAIA or OHSAA.

{{ resCur.h }}

{{ resCur.p }}

Staff sign in

{{ adm.err }}

{{ adm.modeNote }}

{{ adm.status }}{{ adm.msg }}

{{ adm.countLabel }}. Type a score, pick a status, then save. Changed games are outlined in navy.

{{ r.meta }}

Add a game

Pick Ohio schools from the list so records update. Out of state names are kept as typed.

Weekly update

Paste the week's finals, one game per line, away team first. Ask an AI to format results this way, then preview. Nothing saves until you apply.

Away School 28, Home School 21 OT
{{ adm.bulkSummary }}
{{ b.kind }}{{ b.label }}{{ b.note }}

Change history

No saved changes yet.

{{ x.msg }}{{ x.when }}

Edit what the site shows: prices, the line under each package, the feature list and which package is highlighted. One feature per line. Checkout charges what the Stripe price ID is set to, so change that in Stripe too.

{{ x.label }}

{{ adm.artHead }}

Press the button to publish. It is not live until you do.

★ Member gate on every story: readers see the summary and opening, members read the rest.

Photo preview

Home page stories

Check up to 3 for Around the Gridiron, then press Save. {{ adm.homeCount }} of 3 picked. None picked shows the latest 3.

All stories

Hide takes a story off the site and Restore brings it back. Edit and Delete work on stories you posted. Each button applies right away.

{{ x.title }}Hidden
{{ x.meta }}

{{ adm.proHead }}

Press the button to publish. It is not live until you do.

Photo preview

All cards

No cards yet.

{{ x.title }}Hidden
{{ x.meta }}

How saving works

Nothing changes on the live site until you press the Save or Publish button in that section. Look for the message at the top: it says Live on the site when it worked. Hide, Restore and Delete buttons apply as soon as you press them.

News: add, edit, hide or delete stories and pick the 3 shown on the home page. Prospect cards: add or edit cards even when nothing is in the queue. Pricing: prices and package lists. Scores: paste the week, fix a score or add a game. History and undo reverts score changes.

Notes and files

Private to this browser. Download a copy to keep it.

Resized to 1400px on the long side.
Selected image preview

No notes yet.

{{ n.when }}

{{ n.text }}

Saved note image

Site numbers

Drives the ticker, home games and the playoff center.
Shown on home and history.

Leave a field empty to keep its current value.

{{ adm.crm.title }}

{{ adm.crm.why }}

{{ t.v }}{{ t.l }}

Nothing here yet. Accounts, purchases, player cards, stories, tips, advertising and contact messages land here as they come in.

{{ r.kindLabel }}{{ r.title }}{{ r.when }}
{{ f.k }}
{{ f.v }}

{{ r.text }}

Status

No player cards waiting for review. You can still create one yourself.

{{ c.name }}{{ c.status }}
{{ c.meta }}{{ c.guardian }}