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.