Random team generator

Balance team sizes and enforce keep-apart pairs.

Processed only in this browser

Create balanced teams and specify pairs who must stay apart.

Participants and draw settings
Replay seed and settings file

A chosen seed makes the result predictable and can be selected repeatedly. Seeds and hashes support reproduction and change checks; they do not certify the organizer’s impartiality.

No share URL is created. Exported JSON contains names and settings; check who will receive the file.

Names, seeds and photo filenames are processed only in this tab, without sending or saving them to a server, URL or persistent browser storage. Files you explicitly copy or download remain on your device.

Without constraints, a uniform shuffle is used. With keep-apart rules, a bounded search finds a balanced valid assignment; it does not guarantee uniform probability over every valid arrangement.

How to use this tool

  1. Enter distinct participant names and the desired team count.
  2. Optionally add keep-apart pairs in the form Name | Name.
  3. Make teams, inspect each roster and size, then copy or save the result as CSV.

Separate a pair while balancing a group

Input and settings
Six people; two teams; Mina | Jun must stay apart
Result
Two teams of three; Mina and Jun are on different teams

If the participant count does not divide evenly, team sizes differ by at most one person.

Balance and keep-apart rules

Balance refers to headcount: ten people in three teams produce sizes four, three and three, with the larger-team position shuffled by the seed. Numbers or labels inside a name are not treated as gender, skill or seniority scores; people must review the result when skill balance matters.

A keep-apart rule places | between two registered names and requires those people to be on different teams. One person may appear in multiple rules. Up to 100 people, 2–20 teams and 300 rules are supported; repeated copies of a rule are merged.

Handle impossible or difficult conditions

Without constraints, names are uniformly shuffled and partitioned by team capacity. With rules, a bounded backtracking search handles the most connected participants first. This finds an assignment that respects the rules but does not sample all valid team configurations with equal probability.

Exhausting the search without a solution and reaching the 50,000-node search bound produce different messages. Reaching the bound does not prove impossibility. Reduce the constraints or increase the team count to retry; rules are never silently discarded to manufacture a successful result.

Common questions

Can there be fewer people than teams?

Empty teams are not created, so the team count cannot exceed the participant count. Reduce the number of teams for a small group rather than duplicating names to fill seats.

Can I reproduce these teams at a later meeting?

Import the settings JSON into the same algorithm version to apply the identical seed, roster and constraints. Adding people or changing rules defines a new assignment and changes its settings hash.

Standards and references

Read alongside this tool