Team generator
Split a roster into balanced teams, with keep-apart rules.
12 people into 3 teams
0 constraints
Team 1 4
- Katherine
- Leslie
- Alan
- Barbara
Team 2 4
- Jean
- Margaret
- Donald
- Frances
Team 3 4
- Edsger
- Ada
- Radia
- Grace
How it works
The roster is shuffled with Fisher–Yates and then dealt round-robin into the teams, which keeps the sizes within one of each other automatically — twelve people into five teams gives 3, 3, 2, 2, 2 rather than four teams of three and one empty.
Keep-apart constraints
Constraints are satisfied by rejection sampling: generate an arrangement, check it, and try again if it violates a rule. This is simple and stays perfectly fair among the valid arrangements, but it cannot succeed when the constraints are impossible — five people who must all be separated cannot fit into three teams, and the tool will say so rather than quietly breaking a rule.
Random is not balanced
These teams are randomly assigned, not skill-balanced. For a fair contest, either seed the teams by ability yourself, or use the snake-draft convention — 1, 2, 3, 3, 2, 1 — over a ranked list.
Reproducible groupings
Setting a seed makes the arrangement stable, so reloading the page or sharing the link gives the same teams. Useful when you want the same groups for a whole term rather than fresh ones every session.