Run Swiss and round-robin events, collect entry fees, manage your club roster and dues, and submit results to FIDE or US Chess — all in one place.
Swiss-style pairings: score-group separation, color balance across rounds, avoid repeat pairings, bye to lowest-rated unpaired player.
Berger/circle schedule with automatically computed round count. Works for any field size.
Teams paired by Swiss algorithm; boards within each team assigned by descending rating rank.
Full round-robin schedule at team level. Team standings: match points (2/1/0) with game points as tiebreak.
Divide a tournament into rating-class divisions (Open, U1800, U1400 …). Pairings, standings, and tiebreaks are computed independently per section.
Cross-tournament player roster deduplicated by email. Attendance stats: total unique players, return count, return rate.
Status (Active, Expires soon, Expired, Pending payment, Inactive), expiry date, membership number, FIDE/USCF IDs, phone, birth year, gender, notes.
Define tiers with dues amounts and renewal periods (Senior, Student, Regular, Lifetime, etc.). Deactivate types without deleting.
Stripe Checkout links emailed automatically when a member is added to a paid club. Reminder on day 4, expiry on day 5 if unpaid.
Import club members from CSV. Export the full member list (respects active filters) for external record-keeping.
Select multiple members and remove, restore, change status, or assign a membership type in one step.
Download a CSV of player participation across a date range — useful for season reviews and federation reporting.
Name, rating, federation, club, email, phone, FIDE ID, USCF ID, birth year, and gender. Existing club members auto-suggest as you type.
Bulk-import players from a CSV file. Valid rows always import; bad rows are reported without aborting the whole file.
Add players after the tournament starts. Withdraw and re-enter players at any point without losing their results.
Consolidate duplicate entries: choose the survivor, pick field values to keep, and all pairings transfer automatically.
Swap board assignments and flip colors before publishing. Changes are reflected in standings and exports.
Players register from the public tournament page. Registration opens automatically when you advance to Registration Open status.
Review pending registrations and approve or reject each. Approved players are added to the tournament immediately.
Set a max player count. When full, new players join the waitlist automatically. Promote waitlisted players when a spot opens.
Players pay the entry fee through hosted Stripe Checkout before their registration is submitted. Webhooks confirm payment automatically.
Percent-off or fixed-amount codes per tournament. A 100% discount skips Stripe entirely. Deactivate codes at any time.
Per-tournament view of collected, refunded, net, and outstanding amounts with per-registration detail.
Issue full refunds from the registrations tab. Stripe processes the reversal immediately.
Generate pairings for all sections at once. Board numbers restart at 1 per section.
1-0 / ½-½ / 0-1 per board. Standings recalculate on every result. Bye receives 1 point automatically.
Buchholz, Median Buchholz, Sonneborn-Berger, and Tournament Performance Rating (TPR) — all computed live.
Players view current standings on the public page without logging in. Updates immediately when results are entered.
Declare a total prize fund and schedule (1st, 2nd, per-section winner, custom categories). Displayed prominently on the public page.
Display the QR code at the venue entrance. Players scan it on their phone and tap their name. Each link is signed to the player — no spoofing.
Check players in or undo a check-in from the organizer dashboard. Search by name for fast lookup in large fields.
Set a minimum checked-in count before Round 1. Torneo warns you if you generate pairings before the threshold is met.
Invalidate existing QR links at any time by regenerating the per-tournament check-in secret, without rotating the app secret.
Registration submitted, approved, rejected; round pairings posted; withdrawal confirmation; 24-hour tournament reminder. Toggle each event per tournament.
Players receive their board assignment by SMS when pairings post, and a reminder SMS 24 hours before the event starts.
Every SMS includes a signed unsubscribe link. One tap opts the player out permanently — no account required.
Compose and send a message to all players (or a specific section) from the Players tab. Counts against the daily outbound limit.
Organizers can sign in without a password. Players can access their personal pairings and standings via a one-time emailed link.
FIDE TRF format with player ratings, federation codes, results, and bye markers. Per-section exports supported.
Plain-text cross-table grid for US Chess submission. USCF IDs included when provided. Per-section exports supported.
Click Check to see exactly which players are missing fields required for submission, before you download.
Upload the monthly FIDE XML supplement. FIDE IDs show a verified / not-found badge in real time as you enter them.
Upload the monthly USCF supplement (requires affiliate access). Badges show verification status without blocking player entry.
Every tournament gets a public page at torneo.org/t/{slug}. No login required. Mobile-optimised for players looking up boards mid-round.
Pairings and standings refresh automatically every 30 seconds. Players always see the current round.
Set an accent colour and enable the enhanced website mode per tournament.
Add sponsor logos, names, descriptions, and links. Displayed as a strip on the public tournament page.
Post news updates on the public tournament page. Appears as a News tab with an unread count badge.
Opt any tournament into the platform-wide calendar at torneo.org/tournaments. Server-rendered with structured data for Google Search indexability.
Invite co-directors by email with granular permissions: check-in, pairings, registrations, or payments — any combination.
Per-tournament log of all actions taken by assistant TDs. Your own actions are excluded so you can audit assistant activity cleanly.
Archive completed tournaments to keep the dashboard tidy. All data and pairings are preserved. Unarchive at any time.
Full light/dark theme toggle with system preference detection and localStorage persistence.
Every state-mutating action is logged with actor, timestamp, and IP address.
Ready to run your next tournament?
Free to use. No credit card required to get started.