How to Make a Round Robin League Schedule (and How Many Matches It Needs)
Starting a Sunday league, office tournament or virtual league? The first two questions are always "how many matches is this?" and "who plays whom each round?" In a round robin every team plays every other team once, so both have exact answers.
The formula: n(n−1)/2 matches
With n teams each playing everyone once, the total is n × (n − 1) ÷ 2. Each team plays n − 1 matches, and every match involves two teams, so you divide by two. A double round robin (home and away) is twice that: n(n − 1).
The number of rounds is n − 1 when n is even, and n when n is odd. With an odd count one team sits out each round, and every team gets exactly one bye across the season.
| Teams | Matches (single) | Matches (home & away) | Rounds (single) |
|---|---|---|---|
| 4 | 6 | 12 | 3 |
| 5 | 10 | 20 | 5 |
| 6 | 15 | 30 | 5 |
| 8 | 28 | 56 | 7 |
| 10 | 45 | 90 | 9 |
| 12 | 66 | 132 | 11 |
| 20 | 190 | 380 | 19 |
Building rounds with the circle method
The standard way to schedule by hand is the circle (rotation) method.
- If you have an odd number of teams, add a dummy team called "BYE" to make it even.
- Write the teams in two rows. Top 1 vs bottom 1, top 2 vs bottom 2, and so on is round one.
- Keep team 1 fixed and rotate everyone else one position clockwise to get the next round.
- After n − 1 rotations everyone has met once. Whoever is paired with "BYE" rests that round.
- For home and away, run the same schedule again with home and away swapped.
Practical tips
Too many matches? Split into groups. A 12-team round robin is 66 matches, but two groups of six is 15 each — 30 in total — followed by a knockout for the top teams.
In Leaguely, choose "League", paste your team names and every round is generated this way, with byes assigned automatically for odd counts. Set home & away and your own win/draw/loss points — with no team limit.
Paste your teams, get the full schedule
Get Leaguely on Google Play