A 7-team single round-robin is a common format for recreational hockey leagues. The math is clean: 21 games, 7 rounds, every team plays every other team exactly once, with one team sitting out each round.
This page lays out the full matchup schedule. Drop your team names into the 7 slots below and pair each game with an ice slot on your calendar.
How a 7-Team Round-Robin Works
With 7 teams, the structure is:
- Total games: 21
- Rounds: 7
- Games per round: 3 (one team has a bye each round)
- Games per team: 6 (one against each opponent)
Because 7 is odd, the rotation includes a bye every round — each team gets exactly 1 bye across the season, spread out so the same team isn't sitting out repeatedly.
The Full Matchup Schedule
Below is a standard round-robin rotation for 7 teams. Teams are labeled 1–7. Replace the team labels with your actual team names when you build your schedule.
Round 1
| Home | Away | |------|------| | Team 1 | bye | | Team 7 | Team 2 | | Team 3 | Team 6 | | Team 5 | Team 4 |
Round 2
| Home | Away | |------|------| | Team 7 | Team 1 | | Team 6 | bye | | Team 5 | Team 2 | | Team 3 | Team 4 |
Round 3
| Home | Away | |------|------| | Team 1 | Team 6 | | Team 5 | Team 7 | | Team 4 | bye | | Team 3 | Team 2 |
Round 4
| Home | Away | |------|------| | Team 5 | Team 1 | | Team 6 | Team 4 | | Team 3 | Team 7 | | Team 2 | bye |
Round 5
| Home | Away | |------|------| | Team 1 | Team 4 | | Team 3 | Team 5 | | Team 6 | Team 2 | | Team 7 | bye |
Round 6
| Home | Away | |------|------| | Team 3 | Team 1 | | Team 4 | Team 2 | | Team 5 | bye | | Team 6 | Team 7 |
Round 7
| Home | Away | |------|------| | Team 1 | Team 2 | | Team 3 | bye | | Team 4 | Team 7 | | Team 6 | Team 5 |
This rotation uses the standard round-robin algorithm (fix one team, rotate the rest). Every team appears exactly once per round — except for the team on a bye that round, and no matchup is repeated.
What This Generator Doesn't Do
This is a matchup-and-slot starter — not a constraint solver. It won't:
- Automatically assign ice slots based on team availability
- Detect conflicts if a team's preferred night changes mid-season
- Cascade reschedules — if a game moves, you manually update downstream games
- Balance rest time — depending on how you fill the slots, some teams may end up with back-to-back ice times
For leagues where those constraints matter — most leagues with more than a single ice surface or meaningful team preferences — that's where a real schedule builder earns its keep.
Frequently Asked Questions
Can I use this for a different team count?
No — this matchup matrix is only valid for 7 teams. For other team counts, browse the other hockey round-robin generators on the Hockey schedules hub.
How are byes handled?
With 7 teams (odd), one team sits out each round. The rotation balances byes across the season so no team sits twice in a row, and every team gets the same number of byes overall.
Can I use this for other sports?
The matchup matrix is sport-agnostic — the same rotation works for any sport where every team plays every other team once. The download is formatted for hockey (ice slots, 1-hour game blocks) but the matchup structure works for any sport that uses a round-robin.
What if a team drops out mid-season?
If a team drops, the round-robin structure becomes irregular and is best handled by re-generating the schedule from the new team count. For recreational hockey leagues that experience mid-season changes regularly, the static matrix breaks down quickly — that's where LeagueNav's schedule builder helps.