Round-Robin Fixture Generator
Enter your teams and this builds the full fixture list for a league in which everyone plays everyone else. The draw is random, but the schedule it produces is complete and exact: every pairing appears, none appears twice, and nobody is down for two matches in the same round.
What this generator does
Produces a whole season's fixtures rather than a single draw. The nearest tool on this site is the bracket generator, which eliminates entrants until one is left; a round-robin does the opposite — nobody is knocked out, and the table decides the winner. Choose this when everyone should get the same number of matches regardless of results.
How to use this tool
- Enter one team per line.
- Choose how many legs — one for a single round-robin, two for home and away.
- Add a seed if you want the same draw to be reproducible later.
- Press Draw fixtures, then copy or print the schedule.
Understanding the controls
- Teams
- One per line. The number of teams decides everything else: the fixture count is n(n−1)/2 per leg and the schedule takes n−1 rounds, or n rounds if the count is odd because somebody sits out each time.
- Legs
- One leg means every pair meets once. Two means they meet twice with the venues reversed, which is what most leagues call home and away. Three or four repeat the cycle again for short-format seasons.
- Assign home and away
- On, each fixture names a home side and the schedule spreads those out. Off, fixtures are printed as neutral pairings, which is what a games night or a quiz league wants where there is no such thing as a home venue.
- Seed
- Leave blank and the draw uses the browser's cryptographic randomness, so it cannot be predicted or repeated. Type a word and the same word always produces the same draw, so a club can publish the seed in advance and let members verify the fixtures afterwards.
Worked examples
- Six teams, one leg
- 15 fixtures across 5 rounds, 3 matches per round, and every team plays 5 matches.
- Six teams, home and away
- 30 fixtures across 10 rounds. Each team plays 10 matches, exactly 5 at home and 5 away.
- Seven teams, one leg
- 21 fixtures across 7 rounds. Three matches each round and one team on a bye, so every team sits out exactly once.
Common use cases
- A five-a-side or Sunday league season where everyone plays everyone
- A darts, pool or snooker league running over several weeks
- A school or club tournament with a group phase before knockouts
- An office table-tennis ladder that needs a printable fixture sheet
- Any competition where a knockout would eliminate people too early
How this generator works
The teams are shuffled into a circle, then the schedule is built by the circle method: one team stays fixed and the rest rotate one position each round, with the two ends of the circle paired off. That construction is exact — it always produces every pairing exactly once in the fewest possible rounds, with no retrying and no chance of failure. When the number of teams is odd a placeholder joins the circle, and whoever is drawn against it that round takes the bye. Home and away are assigned by flipping the fixed team's fixture on alternate rounds, which stops it playing every match at home.
Randomness and fairness
Only the draw is random: which team lands where on the circle before the rotation begins. Everything after that is the deterministic circle method, so two people drawing the same teams in the same order get the same fixtures. That is worth knowing if you are asked whether the list was fair — the honest answer is that the positions were drawn at random and the fixtures follow mechanically from them. An unseeded draw uses the browser's cryptographic randomness; typing a seed switches to a small deterministic, non-cryptographic generator, which buys reproducibility, not secrecy — anyone holding the seed and the team list can work out the fixtures before you publish them.
For how randomness is produced across the whole site, see how Generate Random works.
Limitations and good to know
- The schedule assumes every fixture in a round can be played at the same time. If you only have one pitch or one table, treat each round as a batch of matches to be worked through rather than a single slot.
- Nothing here knows about pitch availability, travel distance, school holidays or clashes with another competition, so the round order is a starting point that a fixture secretary may still need to shuffle.
- With an odd number of rounds per leg a perfectly equal home and away split does not exist. The tool reports the real counts rather than claiming a balance the arithmetic does not allow.
- Results, tables and points are out of scope — this produces the fixture list only, and you will need somewhere else to record what actually happened.
Common mistakes
- Expecting a knockout bracket and finding a long list of rounds
- A round-robin has no elimination — everyone plays everyone. If you want a single winner decided by a knockout, use the bracket generator instead, or run this as a group phase and take the top finishers into a bracket.
- Assuming two legs means twice as many rounds at the same venues
- The second leg reverses every fixture, so a team that was at home in round one is away when the pairing repeats. Check the balance table if you need to confirm it.
- Redrawing after publishing the fixtures because a team dropped out
- Removing a team changes the whole schedule. Either keep them in as a forfeit, or redraw and reissue the entire list — quietly editing a few fixtures usually breaks the one-match-per-round rule.
Practical tips
- Use a seed such as the season name if anyone might ask whether the draw was rigged — publishing the seed first lets anyone reproduce the fixtures afterwards.
- Print the schedule rather than copying it if you want the home and away balance table alongside the fixtures.
- For an odd number of teams, check the bye column before publishing so nobody is surprised by a free week landing in the middle of a run.
Privacy and your data
Team names are read and scheduled entirely inside your browser. Nothing you type is uploaded, stored or written into the page address, and the analytics event records only how many fixtures were produced — never a team name or the fixture list itself. Closing the tab discards everything, so copy or print the schedule before you leave.
Frequently asked questions
- How many fixtures will a round-robin produce?
- n(n−1)/2 per leg, where n is the number of teams. Eight teams give 28 fixtures for a single round-robin and 56 for home and away.
- What happens with an odd number of teams?
- A bye is added, so one team sits out each round. That takes n rounds instead of n−1, and every team takes exactly one bye per leg.
- Can I reproduce the same fixture list later?
- Yes — type a seed word before drawing. The same seed and the same list of teams in the same order always give the same fixtures.
- Is the home and away split always equal?
- Over an even number of rounds, yes. Over an odd number it cannot be, so counts differ by one and the tool shows the real distribution.
Related generators
- Tournament Bracket Seeding GeneratorDraw a complete single-elimination bracket — every round to the final, byes to the top seeds, and random, seeded or protected draws.
- Group Stage Draw GeneratorDraw a tournament group stage using seeding pots, so every group gets one entrant from each strength band instead of a random cluster.
- Board Game Tournament SchedulerSchedule a games night so every player faces every other player, with the rounds worked out and nobody left sitting out twice.