Tournament Ops is free tournament-operations software for Pokémon TCG tournaments, run entirely in the browser. It replaces the desktop Tournament Operations Manager for the part of the day that actually hurts: pairing Swiss rounds, keeping the round clock, collecting results from the floor, computing standings by the Tournament Rules Handbook's tiebreakers, and seeding and running the top cut.
Who it's for
- Organizers running a League Challenge, League Cup, a two-phase championship, or a custom format. Sign in and create a tournament; you can add players by hand, paste a CSV, or import a roster.
- Judges and scorekeepers, who report results from their own phones instead of walking slips to one laptop.
- Players and spectators, who browse the list of tournaments and open one to see their table, the clock, live standings and the bracket — no account needed.
How access works
A tournament belongs to the account that created it — the organizer, the only role that can change the format or the staff list. The organizer allowlists staff by email; anyone signed in with one of those emails can pair, start rounds, report results, drop players and finalize. Everyone else watches: the tournament page is public and read-only, no account needed.
Running a round
- The format locks when you press Start: rounds and cut are resolved once from attendance, and late adds never change them.
- Pair, start (which starts the clock and locks pairings), report, finalize — and re-open the latest round when a slip was wrong.
- Tap a player's name to record their win; Tie and double-loss sit beside each Swiss table. A scorekeeper can type
12 ainstead. - Several staff can report at once; the server applies changes in order and tells a device when it is behind.
Players report their own results
When the format allows it, a player who signs in with the email they registered with sees their table and opponent and taps I won, I lost or Tie. The result is recorded only when both players say the same thing; if they disagree the table is flagged for a judge, and a judge's entry is always final. The same sign-in lets a player register a deck list before round 1 when the tournament collects them. A QR code on the tournament page and the projector view get phones to the right place, and a search box finds any player's table.
Age divisions
A format can run Juniors, Seniors and Masters as separate pods, each with its own round count, standings, cut and bracket from its own attendance, sharing one clock. A division too small to sanction on its own is merged into the next older one, as Tournament Operations Manager does.
Your player roster
Every player who has been on a tournament you organize or staff is on your player roster, with their record and finish in each tournament. It is read straight out of the tournaments, matched by Play! Pokémon Player ID, so a corrected result or a deleted tournament changes it on its own. When you add a player to a new tournament, the name field suggests people from the roster and fills in their ID and birth year. The roster also exports as a CSV that imports back into any tournament, and season standings fold it over a date window into a league table.
TOM files
Import a .tdf from Tournament Operations Manager to continue a tournament here, or a players.xml to bring a roster. Export the roster as CSV or players.xml, and the whole tournament as a .tdf for a Play! Pokémon upload. The conversion runs in your browser; the server stores only the tournament itself.
