Add players (optional team / group labels per row), pick a format (single / double elim, round robin, Swiss), then hit Generate Bracket. Tap a match to record a score.
Use Save in the top bar to download your tournament as a JSON file — that file is your save. Load picks it back up, Share sends a read-only link. Nothing leaves your device unless you choose to.
◆ About / How it works ◆
What is this?
The Bracket Generator runs entirely in your browser. No account, no server, no data leaves your device. It supports four 1v1 tournament formats and any roster size — 2 players to 200+.
Formats
- Single Elimination — one loss eliminates you. Fastest. Non-power-of-2 player counts get padded with first-round byes.
- Double Elimination — losers drop to a losers bracket. The WB champion meets the LB champion in the grand final. Two losses to be out.
- Round Robin — everyone plays everyone. Use the Passes setting for home/away or more.
- Swiss System — pairs by score group, never repeating a matchup. Tiebreaker is Buchholz (sum of opponents' wins).
Settings worth knowing
- Match Length — Best of 1 (free score), Best of 3 (first to 2), or Best of 5 (first to 3) per match in head-to-head formats.
- Player teams — optional team / group label per player, shown beneath the name. Handy for school classes, clubs, or party teams. Share modal can strip these on a per-share basis.
How it works
- Name the tournament and pick a format.
- Add players (optionally with team labels). Reorder with the ↑↓ arrows.
- Hit Generate Bracket.
- Tap a match to record a score. Best-of formats show a quick outcome picker.
- Once every match is done, Standings auto-opens with a podium.
Save, Load, Share
Save downloads a JSON file — that file is your save, with no cloud backup. Load reads it back (use this to move between devices). Share generates a read-only URL that encodes the standings in the URL hash, so no data ever touches a server. The site also autosaves in your browser's localStorage so a refresh doesn't lose scores.
Privacy
No account, no telemetry, no third-party tracking. Read the full Privacy link in the footer for the details on what's stored locally (skin, autosave, intro dismissal) and what's loaded externally (Google Fonts, optionally Google AdSense).
Game-specific generators built on the same engine — same privacy, same no-server promise.
Multi-round cup tournaments with race-by-race scoring (up to 12 players per race).
Use the mariokart subdomain of this app.
Multi-round Grand Prix seasons with race-by-race scoring (full 20-car grid).
Use the f1 subdomain of this app.
Two-stage pools + Top Cut brackets — the standard fighting-game major format.
Use the smash subdomain of this app.
Multi-round cup tournaments with race-by-race scoring (up to 12 players per race).
Use the mariokart subdomain of this app.
Multi-round Grand Prix seasons with race-by-race scoring (full 20-car grid).
Use the f1 subdomain of this app.
Two-stage pools + Top Cut brackets — the standard fighting-game major format.
Use the smash subdomain of this app.
Free, no accounts, no servers. If it's saved you time, a small tip keeps the lights on.
Buy me a coffee