By default, XIReel works locally in your browser — your video files stay on your device and are never uploaded just to analyse a match. In this local beta, accounts and analysis data live in this browser only.
🧭 Best used on Chrome, Edge or Firefox. Safari does not currently support full clip extraction.
⚠ Clip extraction unavailable in this browser — video.captureStream() and/or MediaRecorder are not supported (e.g. Safari). All tagging, analysis and CSV export still work. Use Chrome, Edge or Firefox for clip export.
NEWBig XIReel update — Studio as its own workspace, a new Analysis centre, click-the-pitch event tracking, full settings, and 13 languages.
Load match footage
Choose a local video file (MP4 / WebM). It stays on your machine — nothing is uploaded. Tag events with the panel on the right; markers appear on the timeline below.
— or paste a direct video link —
Page links (YouTube, Veo, Hudl) won't work — the link must point straight at a video file. Clip export from a link needs the host to allow CORS.
LIVE TAGGING
00:00
Tag exactly as normal — events stamp to this clock. Start it at kick-off; pause it if the recording pauses. When the footage arrives, load it and align everything with one click.
EXTRACTING CLIP — DO NOT SWITCH TAB
00:00.0 / 00:00.0
🎯 Live tags found. Seek the video to kick-off, then
— shifts every tag onto the footage (a save point is made first).
Tag an event (or click one in the log / timeline) to set up a clip here.
Team & player
Home
Away
Tap any player on either pitch to arm them (switches team automatically); tap again to clear. Positions come from LINEUPS ▸ Formation board — unplaced players sit under their pitch.
Match periods & key moments
Phases — tap to start, tap again to stop
Phases record a start time and duration for the team selected above. They show as bars on the timeline and arrive as ready-made clips.
Template
Tag eventskeys · ⌨ on any button
Where on the pitch
Click the pitch to mark where the event happened.
Shot target
Missed target
Your template
Clip library
No clips yet. Tag an event, pick a clip length in the bar under the video, hit Extract, then Save to library.
Clip studio —
0.0s
✂
⏸
✏
s
The freeze-frame workflow: pause on the moment, hit ⏸ Freeze here, then draw — anything drawn at a freeze pins to it automatically, so the video holds while your drawing shows, then play resumes clean. Drawings elsewhere show for 3s by default; every drawing and freeze is a bar on the timeline — drag to move, drag edges to trim or stretch. Playback in here holds at freezes exactly like the final render. Del deletes the selected shape; rendering plays the clip once in real time (plus freeze time) and burns everything in.
Filters
Time
Event
Team
Player
Zone
No events match. Tag something on the TAG view.
Timeline notes
Half-time playlist
Match totals
Zone map — where it happened
Team comparison — click any number for the video moments
Success rates
Leaders — who does what
Graph builder
Events by player
Events by team
Matchday selection tap to cycle — · XI · SUB
Drag players from the tray onto the half-pitch to set your shape. Drag a token off the pitch to send it back to the tray. Positions save automatically per team, per match.
Clip preview
Keyboard shortcuts
Users on this browser
Each user gets their own separate workspace (matches, events, clips) in this browser's storage. Deleting a user does not delete their workspace data.
💾 Save points
Autosave
ON — every change is saved instantly
XIReel autosaves continuously as you work — save points are named checkpoints you can roll back to (kept in this browser, newest 20). Ctrl/Cmd + S makes a quick save from anywhere. ⬇ downloads a save as a backup file you can restore on another machine via 🗄 Data.
Edit event
Data & exports
Event CSV
Spreadsheet-friendly. Respects the current EVENTS filters and sort.
Sportscode XML
Timeline instances with start/end and labels — for importing your codes into Hudl Sportscode-style tools.
Back up workspace
Everything — all matches, events, squads, formations, custom template, settings and clip annotations — as one JSON file. Clip video files aren't included (they're too large; download important ones from the library).
Restore backup
Replaces this workspace with a backup file. Current data is overwritten — back up first if unsure.
Welcome to XIReel 👋
A match analysis tool that runs entirely in your browser — your footage never leaves your machine. Three things to try first:
1
Load footage
Open any local video file (or paste a direct .mp4 link). Play, scrub, change speed with [ and ].
2
Tag the game
Pick a template and tag with the keyboard — every button has a mnemonic key (G goal, T tackle). Markers land on the timeline.
3
Clip & present
Select an event, choose a clip length, extract it, add arrows and freeze-frames in the Studio, then build a highlight reel.
Press ? anytime for all shortcuts. Found something broken or missing? Use 💬 Feedback in the top bar — this beta exists to hear from you.
Beta feedback
Send opens your email app addressed to the developer with your answers pre-filled — nothing is sent automatically.
📝 Match report
✨ AI narrative optional
Settings
✨ What's new in XIReel
◉ Review mode, report layout, player targets
Follow in the Events tab turns the usual relationship round: instead of clicking data to move the video, the log follows the footage as it plays, so you can watch a half back and see what was coded as it happens.
Report layout lets you choose which sections appear, reorder them, and drop your own words between them. Each section is still written from your tags — this only decides what goes in and where.
Development targets sit on a player's profile: "at least 6 progressive passes per 90", measured against what you actually tagged in the matches you've selected. A category you never tracked says so rather than showing a missed target.
📝 Notes and labels
Timeline notes pin a thought to a moment without making it an event — "shape drops too deep here", "ask about this in the meeting". They show as blue marks on the timeline; click one to jump straight there. New Notes tab beside Half-time.
Clip labels group clips across matches — "pressing trigger", "set-piece defending". Add them in the Studio inspector, then filter the whole library by label, or search for one.
💡 What stands out
Select some matches and the Analysis overview now points out where they differ from the rest — Pressing · Ball Won High +300%, 20 per match vs 5 — with the events one click away.
It is arithmetic on your own tags and it says so; nothing here is a prediction and nothing is called AI. It stays quiet unless a difference clears a real sample size and a real margin, only compares categories tracked on both sides, and is capped so it can't turn into noise.
▦ Dashboards you build yourself
A new Dashboards tab in Analysis. Assemble it from headings, your custom metrics, tag counts, player leaders and an event matrix — and every number clicks through to the events and video behind it.
The matrix is the one to try: rows are your outcomes, columns are the follow-up answers, and clicking any cell gives you exactly those moments. Everything follows the matches you've selected, and a section you never tracked shows a dash rather than a zero.
∑ Your own numbers
Build metrics from your tags: [Pressing · Ball Won High] / [Pressing] × 100 gives a press success rate. Name it, give it a unit, and it appears on the Analysis overview — following whichever matches you've selected.
A tag you never tracked shows as not tracked, never as zero, so a metric can't quietly flatter you for a category you didn't code. Build them in Settings → Custom metrics, with a live preview as you type.
🔀 Follow-ups that think
A follow-up used to be one question. It can now be a short sequence, and a step can depend on an earlier answer — ask who set it up only when it was a goal, and never ask about a save for a shot that missed.
Build it in Settings → Follow-up logic: type the question, add the answers, and pick a condition in plain language. A preview shows how the sequence will run before you use it. Sections you haven't touched keep their built-in follow-up exactly as it was.
🔒 Know your work is safe
A status chip in the top bar now says exactly where your work is: Saved · this device, Unsaved, or Not saved · memory only if your browser is blocking storage. Click it for the full picture — what's in the workspace, how long since your last backup, how much storage is left, and whether anything is syncing.
Crash recovery. A rolling copy is kept while you code. If the browser dies mid-match, XIReel offers it back on the next load and tells you exactly how many events it can recover — your choice whether to take it.
It never overstates: local is called local, and "synced" only ever appears when cloud sync is genuinely running. Video files never leave your machine.
🗄 Match Data is now the Library
Four of its tabs shared a name with Analysis, so "where do I compare two players?" had two answers. Now there's one of each.
Library holds the records — Summary, Teams, Squads, Fixtures, Exports & backup. Analysis holds the insight, and has gained Reports, which always belonged there. The weaker duplicate Compare has gone; Analysis has the good one. Tagging's Stats tab now reads This match, because that's what it is.
Old links still work — anything pointing at the moved tabs lands on the real thing.
📍 Place locations when you have a second
Coding live is fast; clicking the pitch for every event isn't. Anything you tag without a location now waits in a queue — 3 events have no pitch location — and never interrupts you mid-play.
At the next stoppage, Start ▶ works through them: the video jumps to each moment, you click the pitch, it moves to the next. Alt+N and Alt+B do it from the keyboard, or skip the ones that don't matter.
⚡ Clips that fit the moment
A shot wants a few seconds before it. A build-up wants twenty. Each tag can now carry its own lead and lag, and every event you log arrives with its clip window already set — 🎬 Extract is one click, no length picking.
Set them in Settings → Clip timings or the ⚙ on the clip bar. Leave a row blank and it inherits: an outcome falls back to its section, a section falls back to your default. The fixed ±5s to ±30s buttons still work when you want to override by hand.
✓ Fix a tag without breaking stride
Every tag now confirms itself with what actually went in — 62:13 · Shot · Goal · #9 Smith — and two buttons: undo or edit. Wrong player, wrong outcome, a couple of seconds out? Fix it and carry on.
Alt+C edits the last event from the keyboard, or put it on a key of your own from the manager. Prefer a quieter screen? Turn the strip off in Settings → Confirm each tag.
🕐 Half-time playlist
While you're coding, Alt+Q drops the moment you just tagged into a half-time list. At the break you have your talking points in order — add a note to each, mark them + positive or △ to improve, drag the order about, jump the video to any of them.
Turn the list into a Studio collection or present it full-screen when the clips are cut. H is deliberately still free for coding — the shortcut lives on Alt+Q, and you can put it on any key you like from the keyboard manager.
🎯 Focus mode
Alt+F strips the app back to coding: video, timeline, team and player picker, periods, phases, your tag buttons and the pitch. Nav, toolbars, template tabs and the lineup panel step out of the way.
A slim bar keeps the clock, who you're tagging for, the event you just logged and an undo button in reach. Alt+F again or ✕ Exit to come back — and a workspace can remember it, so the right matches open straight into it.
⚙ Match workspaces
Set XIReel up the way you work — team, template and detail level, lead and lag, layout, player picker, which sections are showing — then save it as a named workspace. Starting a new match, pick it from the dropdown and your whole environment loads.
Your keyboard shortcuts come along automatically, because they belong to the template rather than being copied into the workspace. Manage them from Settings → Match workspaces.
⌨ The keyboard system, rebuilt
Every key is yours now. P, H, A, E, M and the rest are no longer reserved — assign the mnemonics you'd actually reach for. Video controls moved to Alt (Alt+K play, Alt+J/L skip, Alt+H/A teams) so plain keys belong to your coding.
Every template ships with sensible keys. G for goal, T for tackle won, P for progressive pass. Won/lost pairs follow one rule — the win takes the letter, the loss takes the key to its right (T/Y, G/H, A/S).
Setting a key takes two clicks. Click the ⌨ on any button and press what you want. If it's taken, XIReel names what owns it and offers to move it. Settings → Keyboard shortcuts opens a manager for setting up a whole template at once.
Keys stay put. They belong to the button, not its position, so hiding a section no longer reshuffles anything. Press ? for a live cheat sheet of your current template — printable for beside the desk — and your shortcuts now travel inside exported templates.
🎯 Choose which matches to analyse
A Matches strip now sits at the top of Analysis. Look at one game, a handful, or the whole season — tap games 1, 4 and 6 and every number below counts exactly those. Quick buttons for Last 3, Last 5, Home only, Away only and Wins.
It's one selection for the whole page: team workspaces, player profiles and Compare all follow it, so both sides of a comparison are always measured over the same fixtures. It saves per team and survives a reload.
🎓 Four new tutorials
The tutorial is now four short walkthroughs — Tagging, Studio, Match Data and Analysis — one per page, each handing over to the next when you finish. Start anywhere from your name → Tutorial.
✨ Polish
Rebuilt top bar with your account pinned top-right, Analysis added to the account menu, consistent spacing throughout, and labels on every icon button for screen readers.
Tagging a shot now parks the panel on Tag events with the green prompt card in full view — no more scrolling past it.
⚙ Account & settings
Click your name in the top bar for the account menu — settings, save points, Match Data, feedback and the tutorial in one place.
Settings finally gathers everything: lead and lag time, player picker, volume and export size, autosave, backup and restore, language, layout, your AI key (out of the report modal at last, with a plain note on where it's stored), and an About page with the version number to quote when you report something.
🌍 13 languages
XIReel now speaks English, Spanish, French, German, Portuguese, Italian, Dutch, Swedish, Norwegian, Danish, Polish, Turkish and Arabic — including right-to-left. It follows your browser on first visit and remembers your choice. Navigation and key screens are translated; the deeper analysis pages are still English while that work continues.
🧭 Four product areas
The top bar now leads with Tagging · Studio · Match Data · Analysis, with proper icons and a clear active state. Tag, Events, Clips, Stats and Lineups sit underneath as workspaces within Tagging.
🎬 Studio is its own workspace
A full page, not a side panel. Studio now opens as a dedicated editing environment at its own address, with a searchable clip library down the left and the editor filling the screen. Everything you already rely on came with it, untouched: freeze frames, the timeline bars, drawing timing, rendering.
The Clips panel stays for quick review while tagging — ✏ Studio on any clip hands it over to the full editor.
Undo/redo, Present and Build reel are in the Studio header, and your work saves itself with a quiet Saved ✓ indicator.
✏ A proper telestration toolset
New tools — double-headed arrows, free ellipses, a spotlight that dims everything except the player you're highlighting, and a zone tool: click each corner of an area, double-click to close, and you get a shaded shape for half-spaces, pressing traps or space in behind.
A real colour system. Ten presets, a full custom picker with hex entry, your recent colours, and your saved club colours one click away — so annotations always contrast with the kits on screen.
An inspector panel. Select any shape and set its colour, thickness, opacity, fill, solid/dashed style and exact start/end times, plus layer order, duplicate and delete. With nothing selected it sets the style for the next thing you draw.
Clip details and coach notes. Rename a clip and write a note against it — "full-back stays narrow and opens the wide progression" — stored with the clip for when you build the session.
📽 Collections & presentations
Collections group clips by theme — "High Press Review", "#8 Player Review" — without copying any video. Add the open clip with + Add to…, reorder it, and hit ▶ Present to play the set full-screen.
Presentations are an ordered session: clips plus title cards (heading, subtitle and your club badge) to separate the chapters. Reorder anything, turn a collection into a presentation in one click, then present it in the meeting — annotations and freeze-frames intact.
Trimming. A new ✂ track on the timeline: drag the handles to set where the clip starts and ends, and shading shows the lead-in, the tagged moment and the lag recorded around it — so you can see exactly what you tagged. Preview and rendering both follow the trim, the file is never re-cut, and double-clicking the track (or ↺ Reset) restores the full clip.
Copy & paste shapes. Ctrl+C a drawing and Ctrl+V drops a copy at the playhead with the same style and length — ideal for repeating the same marker across several moments.
Zoom, images and export size. A zoom slider magnifies part of the frame (double-click to re-centre) and applies to the render too; ⬆ Image uploads a badge or graphic to place on the clip; and rendering now offers source, 1080p or 720p — never upscaling beyond your footage.
Straight from your data. Drill any number in Analysis — "17 progressive passes" — and send every clip behind it into a collection in one click, or open a single one in Studio with ✎. The event log has the same 🎬 shortcut. Data → insight → video → edit → present, without leaving XIReel.
⚡ Faster tagging
Your own hotkeys. Click the ⌨ on any tag button and press the key you want, or open Settings → Keyboard shortcuts to set up a whole template at once. Keys belong to the template you're on, so passing and shooting can each have their own.
Home & away from the keyboard. A key on its own tags the home side; hold Shift to tag the away side. Press ? any time for the full sheet for your current template.
Phases by key. Give a phase a key and press it to start, press again to stop. Home and away phases can run at the same time — the buttons show who's live.
🎬 Clips
Lag time. Next to lead time there's now a lag setting — clips automatically include that much extra video after the event, so you never cut off the second ball.
📋 Specialist templates
Four new template tabs — Passing, Shooting, Defending and Transitions — built around proper football event structures, each with a Quick / Standard / Detailed switch. Capture as little or as much as you want; the analysis adapts to whatever you collect.
Phases attach themselves. Tag an event while a phase (Possession, High Press…) is running and the event remembers it — specialist views now break your numbers down by phase, clickable through to video.
Custom sections count too. In ⚙ Sections, tell any section — including your own custom ones — which analysis area it feeds (📊 counts as), and it flows into the right specialist view.
🎯 Analysis that adapts to your tagging
Adaptive views. Team and player pages build specialist Passing, Shooting, Defending, Goalkeeping, Transitions and Set-Piece views — from exactly what you tracked. Nothing you didn't tag ever shows as an empty section or a fake zero.
Honest averages. Every view shows its data coverage — averages divide only by matches where that area was tracked, so an untracked game never drags your numbers down.
Halves everywhere. Filter any specialist view to 1st or 2nd half, see 1H-vs-2H tables per category, and compare halves across a whole season in Compare — powered by your ⏸ Half-Time tags.
Everything clicks to video. Every count — a pass type, a third of the pitch, a half — drills to the exact tagged moments behind it.
📍 Where things actually happened
Tag first, then place it. Log the event as normal — including the follow-up like Complete or Saved — and the pitch panel below the buttons lights up waiting for that event. Click where it happened and it's attached. Skip it entirely and the tag is still saved: location is always optional, never a step in the way.
A proper tactical pitch. The location panel is now a full pitch diagram — boxes, six-yard areas, penalty spots, centre circle. One click marks where an event happened and shows it as a football-style player marker with the squad number inside; the third and channel are named for you in plain English.
Three clear modes — Event Location, Path and Goal Target — and only the ones that make sense appear. Passes offer Path (click start, then where the ball ended, and the arrow draws itself); shots offer the goal; a tackle just asks where it happened.
A goal that looks like a goal — posts, crossbar and net, with nine target areas that highlight as you hover. Wide, over and blocked sit underneath as their own group, and once you've marked the shot and its target, the path to goal previews on the pitch.
No more flipping sides. The pitch always shows the tagging team attacking left → right, in both halves, for both teams. The old ⇄ flip button is gone and can't catch you out again.
Shots know where they were aimed. Tagging a shot brings up a 3×3 goal, plus Wide Left / Wide Right / Over / Blocked. Analysis draws the trajectory from the shooter to the corner they picked.
Passes know who received them. Pick a receiver and tick line-breaking as you tag — that powers passing networks and honest line-break stats, kept separate from third-to-third progression.
New visuals. Pass and shot maps with numbered player markers, goal-target grids, progression tables (Middle → Attacking, Attacking → Box) and passing networks — all clickable straight through to the video, and only ever drawn from locations you actually recorded.
📊 The new ANALYSIS centre
A new top-level area.Analysis sits in the main navigation — Match Data tells you what was recorded; Analysis tells you what it means. Pick your team, range (season / last 3-5-10) and period once, and every page follows.
Full-page team workspaces. Passing, Shooting, Defending, Goalkeeping, Transitions, Set Pieces — each a complete page with workspace-sized pitch maps, player contribution, phases, halves and trends. Map-led areas lead with the pitch; passing leads with the numbers.
An overview that leads somewhere. Performance cards per tracked area with Explore buttons, your top player contributors, and recent matches — everything clicks deeper, and areas you didn't track simply don't appear.
Full player profiles. Click any player for a football-style profile: photo, minutes, starts, per-90, then a tab per specialist area — a passing page for a passer, a proper goalkeeping page for a keeper — plus a match log. Only areas actually tracked for that player appear.
Match Centres. Every match gets its own centre: big scoreboard, goals with ▶ watch links, the starting XI on a pitch (click a player for their profile), phases, a player breakdown, and per-match specialist tabs scoped to that one game.
A full Compare workspace. Player vs player with photos side by side, a player against their own season average, first half vs second half, and match group vs group — every cell shows its coverage, and "not tracked" is never dressed up as 0.
🗺 Pitch maps, profiles & comparisons
Pitch maps. Specialist views now draw a 3×3 pitch heat grid from your zone tags — every cell clicks through to the video behind it. Only appears when zones were tracked.
Trends. Per-match bars for any specialist area across the season; untracked matches show as dashed gaps, never fake zeros. Click a bar to open that match.
Player profiles. Photo upload (or clean initials avatar), squad number, position and preferred foot in a proper profile header — plus a Form check: last 5 vs season, area by area.
Group comparison. In Compare, tick any two sets of matches — high-press opponents vs the rest, home vs away — and XIReel compares their means with honest coverage on every line.
+ New match
Pick a saved team and its full squad loads automatically — players carry their permanent IDs, so their stats combine across every match in Analysis. Temporary teams work exactly like before.
XIREEL STUDIOSaved ✓
XIREEL ANALYSIS
XIREEL LIBRARY
Exports & backup
Event CSV (current match)
Spreadsheet-friendly; respects the EVENTS filters.
Sportscode XML (current match)
Timeline instances for Hudl Sportscode-style tools.
Back up workspace
All teams, matches, events, lineups and settings as one JSON file (clip video files not included).
Restore backup
Replaces this workspace — back up first if unsure.
Tutorials
Four short walkthroughs, one per page. Start anywhere — each one hands over to the next when you finish it.
⚙ Match workspaces
A workspace remembers how you like to work — team, template and detail level, lead and lag, layout, player picker and which sections are showing. Keyboard shortcuts come along through the template, so they stay in one place.
Your data
⟳ Recover your session
🎯 Development targets —
Measured against what you tagged in the matches selected in Analysis. Per-90 targets need minutes played, which you set in Lineups.
Add:
📝 Report layout
Choose which sections appear and in what order, and drop your own words in between. Each section is still written from your tags — this only decides what goes in the report and where.
Add:
▦ Edit dashboard
Add:
∑ Custom metrics
Numbers built from your own tags. They follow whatever matches you've selected in Analysis, and a tag you never tracked shows as not tracked rather than zero.
numbers · [tags] · + − × ÷ · brackets
🔀 Follow-up logic
What XIReel asks after you tag something. Steps run in order, and a step can depend on an earlier answer — ask who assisted only when it was a goal, and never ask about a save for a shot that missed.
⚡ Clip timings
How long a clip runs before and after the moment you tagged. A shot might want 5s before; a build-up 20s. Leave a row blank to inherit — an outcome falls back to its section, and a section falls back to the default.
⌨ Keyboard shortcuts
⌨
Press any key
Letters, numbers and punctuation all work · Shift+key tags the away side