Tool
Round-Robin Schedule Generator
Everyone plays everyone once, in the fewest rounds — by the circle method.
Round-Robin Schedule Generator
Everyone plays everyone exactly once, in the fewest possible rounds. Paste the entrants and the full fixture list is generated by the circle method.
The round count is not negotiable and is worth knowing before you plan a day: an even field of n needs n−1 rounds, and an odd field of n needs n rounds with one entrant sitting out each time.
The randomness here is confined to the starting order, which is the only part that can be random — the circle method itself is completely deterministic.
How the Round-Robin Schedule Generator works — and why it's fair
The circle method fixes one entrant in place and rotates all the others around them. In each round, the fixed entrant plays whoever is currently opposite, and the remaining entrants pair off across the circle. After one full rotation every entrant has met every other exactly once.
The round count follows directly. With an even field of n, each round uses all n entrants in n/2 matches, and there are n(n−1)/2 fixtures in total, so n−1 rounds. That is provably the minimum: each entrant plays n−1 matches and can play at most one per round.
An odd field is handled by adding a phantom entrant. Whoever is drawn against the phantom in a given round has a bye, and because the phantom rotates like everyone else, the byes distribute evenly — each entrant sits out exactly once across the n rounds.
Only the initial order is shuffled, and that is a genuine limitation worth stating. The circle method produces one fixture list from a given starting order, so two different shuffles give different lists, but the structure is always the same rotation — you cannot get an arbitrary valid round-robin out of it, only the ones the circle produces.
That matters if you have scheduling constraints beyond completeness. The circle method does not know that two entrants share a pitch, or that one cannot play before noon; it produces a complete and minimal schedule and nothing else. Real leagues then rearrange it by hand.
The fixture count grows quadratically and catches people out. Eight entrants is 28 fixtures over 7 rounds; sixteen entrants is 120 fixtures over 15 rounds. A round-robin for sixteen is a season, not an afternoon.
When the Round-Robin Schedule Generator is fair — and when it is not
What it does guarantee
- Every entrant plays every other exactly once — a structural property of the circle method, not a check.
- The number of rounds is the provable minimum for the field size.
- With an odd field, each entrant sits out exactly once, so byes are distributed evenly.
What it does not
- Only the starting order is random. The rotation structure is fixed, so not every valid round-robin is reachable.
- It has no notion of home and away, venue, or time constraints.
- The fixture count grows quadratically. Sixteen entrants means 120 matches, which is a season rather than a day.
Two worked examples
8 teams
- 28 fixtures — that is 8 × 7 ÷ 2.
- 7 rounds of 4 matches each, which is the provable minimum.
- Every team plays every round; no byes are needed.
7 teams
- 21 fixtures, but 7 rounds rather than 6, because of the odd field.
- Each round has 3 matches and one team sitting out.
- Across the 7 rounds, each team sits out exactly once.
Formats where everyone plays everyone
Small leagues and club competitions are the direct case, and the round count is usually the planning constraint rather than the fixtures themselves — knowing that eight teams means seven rounds determines whether the format fits the season before anything else is decided.
Group stages in larger tournaments use it inside each group, then feed the results into a bracket. The bracket generator handles the second half, and the two together cover the standard tournament shape.
Chess, darts and pool clubs use it for internal ladders where a knockout would eliminate half the members after one evening, which is the specific failure a round-robin exists to avoid.
For single-elimination with byes and optional seeding, the tournament bracket generator is the right tool. For pairing people who are not competing at all, the pair generator is simpler, and the bracket and fixture guide covers both structures in more depth.
Frequently asked questions
How many rounds will I need?
n−1 for an even field, n for an odd one. Eight entrants means seven rounds; seven entrants means seven rounds with a bye each.
How many fixtures in total?
n(n−1)/2. Eight entrants is 28 matches; sixteen is 120, which is a season rather than an afternoon.
Is that really the minimum number of rounds?
Yes. Each entrant plays n−1 matches and can play at most one per round, so n−1 rounds is a lower bound and the circle method achieves it.
How are byes distributed with an odd field?
Evenly. A phantom entrant rotates like everyone else, so each real entrant is drawn against it exactly once across the schedule.
What is actually random about this?
Only the starting order. The circle rotation is deterministic, so shuffling first is what stops the same names meeting in round one every time.
Can I get any valid round-robin, or only circle ones?
Only the ones the circle method produces from your starting order. Other valid schedules exist and are not reachable here.
Does it handle home and away?
No. For a double round-robin, run the same fixtures twice with the venues swapped.
Can it avoid scheduling a team twice in one round?
That cannot happen. The circle method pairs every entrant exactly once per round by construction.
What is the largest field it handles?
There is no hard cap, but the output grows quadratically — twenty entrants produces 190 fixtures across 19 rounds.
Related tools
Tournament Bracket Generator
Draw a single-elimination bracket with byes — random draw or classic seeding.
Random Pair Generator
Split a list into pairs — with an honest answer for what happens on an odd count.
Balanced Team Splitter
Rate each player, then snake-draft into teams with matched total strength.