Turn one camera into a match analysis suite

PitchOverlay tracks every player frame by frame, draws the pass chain and possession on top of your video, and exports the numbers as CSV. It runs entirely in your browser — your footage never leaves your laptop.

Open the workbench Try the demo clip

No upload · no account Player tracking Pass chains & possession CSV + printable report Metric distances after 4-click calibration
PitchOverlay workbench showing player boxes, pass arrows, possession stats and the pitch radar over a match video

The screenshot above is the demo clip: synthetic small-sided match with tracking generated from the same motion model, so the overlay lines up exactly.

Built for the clubs that never had an analyst

Semi-pro video platforms cost more per season than most amateur clubs spend on kit. PitchOverlay is the free, browser-only core of that workflow: enough to answer "how many passes did we complete?", "who covered the most ground?", "where do we lose the ball?" — with numbers you can paste into a spreadsheet.

Per-frame player tracking

Detects players, keeps identities stable through occlusions with a Kalman-filtered tracker and an ID-revival pool, and labels each one by kit colour cluster.

Pass chains & possession

The ball's nearest player is found with a size-normalised radius, so far-side players are not penalised by perspective. Transfers are classified as passes, turnovers or loose balls, with a dwell rule that kills fake passes mid-flight.

Overlay you can coach from

Boxes, shirt numbers, motion trails, pass arrows, a possession HUD and a bird's-eye radar map — drawn live over the video at any playback speed.

CSV + post-match report

Players, teams and every possession event as CSV, plus a printable report with the pass network, distance chart and a limitations section that says exactly what the numbers can and cannot support.

How it works

Five steps, no install, no sign-up.

Load the video

Drag in the file from your camera or phone. It is decoded locally; nothing is sent to a server.

Calibrate (optional)

Click four points of a known rectangle — a penalty area is ideal — and the tool solves a homography, so distances, speeds and the radar come out in metres.

Run the analysis

Choose a sample rate. The tracker detects, follows and teams the players while a live preview shows what it sees.

Fix what looks wrong

Set shirt numbers, correct a team, merge a broken track, re-point a pass. Corrections re-run the possession model instantly — no re-analysing the video.

Export

Download players.csv, teams.csv and events.csv, or open the printable match report. Save the project to reopen it later without re-analysis.

What it deliberately does not do

Every automatic tracking tool is wrong somewhere. Knowing where keeps you out of trouble with your own data.

ClaimReality in PitchOverlay
Automatic ball trackingAttempted, but a football on a wide shot is a few pixels wide. Treat ball-derived events as suggestions and confirm them — the tool is built for that.
Identity through contactTwo players crossing in front of each other can swap IDs. Merge or ignore the track and the stats follow.
Official statisticsNothing here is an official stat feed. Possession share is "time the closest tracked player was near the ball", which is a coaching proxy, not broadcast data.
Handheld / panning footagePositions are detected per frame but the pitch model assumes a fixed camera. Panning footage degrades distance numbers — calibrate a static phase of the match instead.
Live broadcast overlayOut of scope. This is review-room analysis on recorded video, which is what amateur clubs actually have.

Pricing

The browser workbench is free and stays free — there is no server cost to recover, because the analysis never leaves your machine.

Club — waitlist

$19/month

For clubs that want the boring parts automated. Join the list and tell us which one you need first.

  • Batch the whole season: queue matches instead of babysitting a tab
  • Multi-match dashboard (per-player trends across games)
  • Branded PDF reports with your club crest and colours
  • Shirt-number presets per squad, so corrections carry over

We only use this to contact you about PitchOverlay.

Questions coaches actually ask

Is my video uploaded?

No. The file is opened as a local URL and decoded by your browser. There is no upload endpoint on the server at all.

How accurate is the tracking?

Players are detected per frame and tracked with a Kalman-filtered, two-stage association tracker. Short-term identity is stable; crossings and occlusions can still flip an ID, which is exactly why every correction is one click and updates the whole report.

What camera do I need?

One fixed camera that sees the whole pitch, 1080p at 25–30 fps. A phone on a tripod at the halfway line beats a handheld zoom.

Do I need to calibrate?

Only if you want metres instead of pixels. Four clicks on a known rectangle is enough for the homography.

Which files can I load?

Whatever your browser can play: MP4/H.264 and WebM are the safe bets. MOV from an iPhone usually works in Safari and Chrome once it is H.264.

Can I use my own detection model?

Yes — the workbench takes an ONNX model with the YOLOv8 output layout, which is the format most community football-detection models ship in.

Why is the ball so hard?

Because it is small, fast, and often behind a player. Automatic ball detection is best-effort; the possession chain is designed so a single manual correction fixes a whole passage of play.

Does it work offline?

After the page and the detector model are cached, yes — the analysis itself needs no network.

Start with the demo, then load your own match

The demo clip ships with pre-computed tracking, so you can see the overlay, the pass chain, the CSV exports and the report in under a minute. No account, no card, nothing to install.

Open the workbench Read how it works

Data honesty: every exported number comes with its method and its caveats. The report has a "Limitations" section, the CSVs state their units, and corrected events are flagged — so you always know which numbers came from the machine and which came from you.