Fun & games

Tournament Bracket Maker

Single or double elimination or round robin: seeded brackets, byes, results and downloads.

Results

Match id from the match list (e.g. W1-2, L1-1, GF-1, R3-2) and the winner’s name. Round robin: write “draw” for a draw.

Results
#MatchWinnerScore (optional)
1
2
3

Only for a random draw. Empty = derived from the entrant list.

Try an example: Six players, single elimination, two rounds played · Double elimination for 8 teams · Round robin for five

How it works

Paste the entrants (in seed order, or let a seeded random draw decide) and pick single elimination, double elimination or round robin. Get a bracket with standard seeding and byes for the top seeds, a match list, and — as you enter results — winners advancing, standings and the champion. Download the bracket as JSON or CSV to share it.

  • Elimination brackets are padded to the next power of two. Seeds are placed in the standard order (1 v 8, 4 v 5, 2 v 7, 3 v 6 for eight), so the top seeds can only meet late and the byes go to the highest seeds.
  • Double elimination: losers of winners-round 1 meet in losers-round 1; afterwards losers-bracket rounds alternate between taking in the losers of the next winners round (in reversed order on alternate rounds to reduce early rematches) and pairing up survivors. The winners-bracket champion meets the losers-bracket champion in the grand final; if the losers-bracket player wins it, an optional reset match decides.
  • Round robin uses the circle method (Berger tables): with an odd number of players one player rests each round. Standings: 3 points for a win, 1 for a draw, then wins, then name.
  • Results advance the winner (and, in double elimination, drop the loser into the losers bracket). Results naming someone who is not in that match, or for matches whose players are not known yet, are ignored with a warning.
  • A random draw shuffles the entrants with a seeded generator, so the same seed always gives the same bracket. To share a bracket, download the JSON (it contains the input, so it can be re-run via the API) or the CSV match list.

For scripts and AI agents

  • JSON API: POST https://tournamentbracketmaker.usefulweb.site/api/v1/calculate (same calculation as this page)
  • Interface description: OpenAPI 3.1 · AI guide: llms.txt
  • MCP server (Streamable HTTP): https://tournamentbracketmaker.usefulweb.site/mcp · tool name tournament_bracket_maker
Example request
curl -s -X POST https://tournamentbracketmaker.usefulweb.site/api/v1/calculate \
  -H 'content-type: application/json' \
  -d '{"title":"Office ping-pong","entrants":["Ana","Ben","Chloe","Dev","Emil","Fatima"],"format":"single","seeding":"listed","thirdPlace":true,"results":[{"match":"W1-2","winner":"Dev","score":"11–8"},{"match":"W1-4","winner":"Fatima","score":"11–9"},{"match":"W2-1","winner":"Ana","score":"2–1"}]}'

Related tools

  • Sports What-If Simulator – Simulate a match or a small league with a Poisson goal model — and replay “what if”.
  • Chore Roulette – Spin a fair chore rota: random but balanced by effort, with a “not again” rule.
Feedback