Skip to content

Round robin generator

Turn a team list into rounds, timed matches and a live standings table.

Tournament setup

Processed in your browser.

Teams and tournament

2–32 unique teams; up to 60 characters per name.

Match schedule

How often each team plays every other team.

Matches can run at the same time, up to this limit.

For example, 09:00 for 9 am or 18:30 for 6:30 pm.

Rest time before the next set of matches starts.

Scoring and rankingWin 3 · Draw 1 · Loss 0 · Points only

Generating a new schedule replaces existing scores. Save your tournament first if you want to keep them.

Open a tournament JSON file saved by this tool (up to 1 MB).

Changes are saved on this browser. Save a tournament file for a portable backup.

Schedule and standings

Generate a schedule to enter scores and export it.

Print in landscape with headers and footers off. A PDF can be saved from your browser’s print dialog.

A complete round robin for a small tournament

Use this planner for a club afternoon, classroom competition or friendly league where every team should meet every other team. Enter people or team names, choose one or two meetings per pair, then generate the match list. You can record scores during the event, print a paper copy and save a tournament file to continue later. Everything is processed locally in this browser; there is no account or shared live scoreboard.

Set up the teams and playing time

Put one team on each line. Blank lines are ignored, and names must be distinct even when capitalization or full-width character forms differ. Choose how many courts can run at once, the length of every match, a gap between time slots and the first start time. The same duration applies to all games. Before regenerating an existing tournament, save its file if you need to preserve the previous scores.

The court count is a capacity limit. Each round is divided into as many slots as needed, and the next round starts only after the last slot of the current round. A team never plays twice in one round or in two simultaneous matches. The planner does not optimize travel between courts, guarantee balanced court assignments or enforce a sport’s minimum recovery time. Check those practical details before publishing your event schedule.

How the pairings work

The circle method keeps one team fixed while rotating the others between rounds. With an odd team count, a blank position creates one bye each round. Each team receives one bye per cycle. A second cycle repeats every pairing with the two displayed sides reversed; the two columns do not establish a formal home-ground advantage. For n teams, a single cycle contains n × (n − 1) ÷ 2 matches.

For example, four teams generate six matches over three rounds. With two courts, 20-minute games, a five-minute gap and a 09:00 start, those rounds start at 09:00, 09:25 and 09:50. The last games finish at 10:10. With only one court, six slots are needed instead, and the final game starts at 11:05.

Six teams produce 15 matches across five rounds. Five teams produce ten matches across five rounds, with one team resting in each round and every team resting once. Choosing two meetings doubles those totals: six teams have 30 matches across ten rounds. When a schedule passes midnight, a day offset is shown next to the time.

Record scores and read the table

Enter whole-number scores from 0 to 9999 for both teams. A 0–0 result is a completed draw, while two blanks mean unplayed. A match with only one score is marked incomplete and excluded from the standings. Invalid scores hide the table and disable exports until corrected, so an old ranking is not presented as current.

Choose the points awarded for a win, draw and loss before generating. Ranking can use points alone or points followed by score difference and score for. Teams that remain equal share a rank, such as 1, 1, 3. Their original list order only affects display order. The tool does not apply head-to-head results, playoff rules, disciplinary deductions or a random tie-break.

Save, export and print

The browser keeps a local draft, including setup edits. Private browsing, storage limits or clearing site data can remove it, so download the JSON tournament file as a backup. Loading a valid file replaces the current tournament. The two CSV downloads contain the match list and standings separately; spreadsheet-formula prefixes in text cells are neutralized. Print uses the current confirmed schedule and scores, without the editing controls. Choose landscape and disable browser headers and footers; save as PDF through the same print dialog.

Can I change the team list after entering scores?

Yes, but generating the new pairings replaces the old scores. Editing setup immediately disables the previous exports. Save the old tournament before rebuilding if you may need it again.

Why is one team resting?

An odd number of teams cannot all play paired matches at once. A bye is a planned rest, not a win or a scored match. It adds no standings points.

Do draws and missing scores mean the same thing?

No. Enter the same number on both sides to record a draw, including 0–0. Leave both blank for an unplayed match. A one-sided entry is incomplete.

Can everyone update this from another device?

There is no remote collaboration. Transfer the saved JSON file to continue on another device. Do not expect two browser copies to synchronize automatically.

Does the schedule certify official competition rules?

No. This is a general pairing and scoring aid for 2–32 teams. Confirm eligibility, rest periods, scoring policy and tie-break rules with your organizer before using it for an official competition.