1. Teams
2. When
3. Where
4. Play-offs (optional)
4b. Fixed-date matches (optional)
5. Rainouts and cancellations (optional)
5b. A team drops out (optional)
5b-2. A team joins late (optional)
5c. Teams that share a ground (optional)
5d. Teams that share a coach or players (optional)
6. Referees and officials (optional)
Enter your teams and a start date, then click Build the schedule.
Your schedule
| Round | Date | Time | Court | Home | Away | Official |
|---|
By team
| Round | Date | Time | Court | Opponent | Venue |
|---|
Standings
| # | Team | P | W | D | L | GD | Pts | Left | Opp. pts/g | Form | Streak |
|---|
Results grid
Each row is a team's score against the team in the column (its own goals first), in table order.
Last round's scores, the table and the next round's fixtures, ready for the group chat.
Play-off race
| Team | Pts | To play | Max | Status | Points to clinch | Chance |
|---|
Play-off bracket
Pool play for a tournament (optional)
List the teams best seed first above, then split them into pools by snake draft so the strong seeds are spread out. Each pool gets its own round robin using your dates, courts, blackouts and time slots, and every pool schedule is re-checked. Type results as Hawks 3 - 2 Owls in step 4 to see who advances.
Swiss system: pair the next round
For chess, darts, board-game and esports events where a full round robin takes too long. List the players best seed first (the Teams box above), type finished games below as Ana 1 - 0 Ben (equal numbers are a draw) or Cy bye, and get the next round's boards: players with the same score meet, nobody meets twice, the bye goes to someone who has not had one, and colours alternate. The table ranks by score, then Buchholz (the sum of your opponents' scores).
A line like Eve out removes a player who has left: their games stay in the table and nobody is paired with them again.
One-day tournament: clock times for every game
Everyone plays everyone once in a single day. List the teams in the Teams box above, then set the courts, the first start time and how long a game and the changeover take. Nobody plays twice at once. Leave rest at 0 to play round by round, or ask for 1 or more slots of rest so no team plays back to back where the numbers allow. Not sure it fits? See how long a one-day round robin takes.
Americano: rotating partners for doubles nights
For social padel, pickleball, badminton and tennis nights where everyone plays with and against as many different people as possible. List the players in the Teams box above, say how many courts you have and how many rounds, and get a sheet of who partners whom each round. Games and sit-outs are shared evenly; repeat partners are avoided as far as the round count allows and counted below.
Mexicano: next round from the scores
The padel night format where each round is drawn from the table: the leaders play the leaders. List the players in the Teams box above, set the courts, and paste every finished game, one per line, like Ana & Ben 21-17 Cy & Dee. With no scores it draws round one at random. Each player gets their side's points, the best four play together (1 & 4 against 2 & 3, or a split that avoids a repeat partner), and whoever has played most sits out.
Ladder: rungs from challenge results
For clubs where players arrange their own matches. List the players in the Teams box above in starting order, top rung first, then paste each result, oldest first, like Cy beat Ana. A challenger who wins takes the loser's rung and everyone between drops one place (or just swaps, if you choose). It shows who may challenge whom and lists any challenge beyond your reach limit; those are applied, so overrule them yourself if your rules say so.
How it is built
Pairings: the circle method. One team stays fixed and the others rotate, so every pair meets exactly once per leg. With an odd number of teams an invisible extra team gives one real team a bye each round.
Home and away: set while the rounds are built. With an even number of teams the count of back-to-back home or away games is the minimum possible (teams minus two), and every team's home and away games differ by at most one. A double round robin repeats the rounds with every venue swapped.
Dates: rounds go on your chosen weekdays from the first date, jumping over skip dates. A team blackout takes only the clashing match out of its round and plays it in a makeup round after the season; if no round can be played on a date, that date is left unused and the page says so.
Courts and times: each match gets a slot by a seeded simulated-annealing search that evens out how often each team uses each court and each time. Reshuffle changes the seed.
Checked: a separate validator re-reads the finished schedule and confirms every pair meets the right number of times, no team plays twice in a round, home and away is balanced, no court is double-booked, and every date respects your weekdays, skip dates and blackouts. It cannot tell whether the schedule suits your league's own rules.
Common questions
How do I make a round-robin schedule for my league?
Type the team names one per line, pick the first date and the weekday you play on, and click Build the schedule. The generator uses the circle method, so every team plays every other team once (or twice for a double round robin), and shows each round with its date, court and time. Download it as a CSV, a calendar file or plain text to send to the league.
How does it handle an odd number of teams?
With an odd number of teams one team has a bye each round. The generator lists the bye so everybody can see which week they are off, and every team gets exactly one bye per leg of the season.
How are home and away games balanced?
Home and away is set while the rounds are built. With an even number of teams the number of back-to-back home or away games is the proven minimum, and every team's home and away games differ by at most one. With an odd number of teams nobody plays two home or two away games in a row. A double round robin is mirrored so each pair plays once at each home.
What if a team cannot play on a certain date?
Add the team and the date under blackout dates. Only the match that clashes is taken out of that round and played in a makeup round after the regular season; the rest of the round goes ahead. Skip dates, such as holidays, remove a date for everyone.
How are courts and time slots shared out?
If you list courts and time slots, the generator assigns each match to one so that every team gets a similar number of each court and each time. It uses a seeded search, so the same seed always gives the same schedule, and Reshuffle tries another one.
Can I build a play-off from the standings?
Yes. Type the results as lines like Hawks 3 - 2 Owls, choose how many teams qualify, and the page ranks the teams by points, goal difference and goals scored and builds a single-elimination bracket. If the field is not a power of two, the top seeds get a first-round bye.
Is my team list uploaded anywhere?
No. Everything is calculated in your browser from what you type, nothing is sent to a server, there are no accounts, and it works offline once the page has loaded.