Fixture generator
Paste your team names, choose single or home-and-away, and get every round of a fair league schedule in seconds. Each team plays every other team, nobody plays twice in a round, and odd numbers get a bye.
Fixture generator tool
How to use the fixture generator
- Type or paste your teams, one per line. Commas also work, and duplicate names are ignored.
- Choose Home and away if every pair should meet twice, as in most football leagues. Leave it off for a single round-robin, which is common for short tournaments and darts or pool leagues.
- Optionally pick the date of the first round and the gap between rounds (7 days for a weekly league). Each round then shows its date.
- Press Generate fixtures. Copy the list as text for WhatsApp or email, download a CSV for Excel or Google Sheets, or print it for the clubhouse wall.
How the schedule is built
This football fixture generator uses the classic circle method (also called Berger tables), the same idea most league organisers use. Picture the teams in two rows facing each other. Team one stays fixed; everyone else moves one seat clockwise after each round. Every rotation gives a new set of pairings, and after n − 1 rotations each team has met every other team exactly once.
If you enter an odd number of teams, the tool adds an empty seat. Whoever sits opposite it has a bye that round. Because of the rotation, each team lands on the empty seat once, so byes are shared fairly.
Home and away alternate as the seats rotate, so no team is stuck at home or on the road for weeks in a row. In home-and-away mode the second half of the season repeats the first half with the venues swapped.
Quick reference: league size
| Teams | Rounds (single) | Matches (single) | Rounds (home & away) | Matches (home & away) |
|---|---|---|---|---|
| 4 | 3 | 6 | 6 | 12 |
| 6 | 5 | 15 | 10 | 30 |
| 8 | 7 | 28 | 14 | 56 |
| 10 | 9 | 45 | 18 | 90 |
| 12 | 11 | 66 | 22 | 132 |
| 20 | 19 | 190 | 38 | 380 |
An odd number of teams needs as many rounds as there are teams: 5 teams play 5 rounds, with one team resting each time.
Tips for running a league
- Too many matches? With 12 or more teams a full home-and-away season is long. Split into two groups, play a single round-robin in each, then run a knockout with our bracket maker.
- Fixed pitch or table times: list the games of each round in the order shown and assign them to slots. Rotating the order each round avoids the same team always playing the late game.
- Postponed match? Leave the rest of the schedule as it is and replay the game in a free week. Re-generating would change every later fixture.
- Same draw again next season: keep “Shuffle the draw” off and enter the teams in the same order; the output is identical every time.
How we tested it
We ran the scheduling code for 2 to 64 teams, single and home-and-away. For every size we checked that each pair of teams meets exactly once (or exactly twice in home-and-away mode), that no team appears twice in the same round, and that the number of rounds matches the formulas in the table above. For an even number of teams the home-game counts of all teams were within one of each other.
Frequently asked questions
How many rounds and matches will my league have?
With an even number of teams n, a single round-robin has n − 1 rounds and n(n − 1)/2 matches. Eight teams play 7 rounds and 28 matches. With an odd number, add an imaginary team: 7 teams also need 7 rounds, and one team rests each round. Home and away doubles both numbers.
What does a bye mean?
When the number of teams is odd, one team has no opponent in each round. That rest week is called a bye. Over the whole season every team gets exactly one bye in a single round-robin, so nobody is favoured.
Are home and away games balanced?
Yes, as far as the maths allows. With an even number of teams in a single round-robin, every team gets either n/2 or n/2 − 1 home games. In home-and-away mode the second half mirrors the first with home and away swapped, so every team plays each opponent once at home and once away.
Can I randomise the order of the fixtures?
Tick “Shuffle the draw” and the teams are placed in a random order before the schedule is built, so the big games do not always land in the same rounds. Leave it unticked to keep the order you typed, which is useful if you want to repeat the same draw later.
Does it work for sports other than football?
Yes. A round-robin works the same way for darts, pool, padel, table tennis, netball, chess or an esports league. Just enter the team or player names. “Home” is simply the first-named side, which you can use for who serves first or who plays white.
Is my list saved?
Your last list and settings are kept in your own browser so a refresh does not lose them. Nothing is uploaded to a server.
Last updated: