Random Team Picker

Fair team assignments from a list of names

Paste a list of names and split them into balanced random teams using a Fisher-Yates shuffle and round-robin distribution. Ideal for classroom groups, sports sides, and hackathon teams. It runs free in your browser on Gera Tools, with nothing uploaded.

Last updated Source: Gera Tools

How does it keep teams balanced?

After shuffling the names randomly, it deals them out round-robin into the teams. This guarantees the team sizes never differ by more than one person.

Split any group into fair, random teams

Whether you are dividing a class into project groups, picking sides for a pickup game, or forming hackathon teams, doing it by hand invites unconscious bias and arguments. This Team Picker shuffles your roster using a proven algorithm and splits it into the number of teams you choose, keeping the sizes as even as possible.

How it works

The tool processes your input in three steps:

Step 1 — Parse: names are split on newlines and commas, trimmed of whitespace, and de-duplicated. Blank entries are silently dropped, so pasting a list with trailing newlines produces clean results.

Step 2 — Fisher-Yates shuffle: starting from the last position in the list, each element is swapped with a randomly chosen earlier element (including itself). The key property of Fisher-Yates is that it produces a uniformly random permutation: every possible ordering of names is equally likely, with no favouritism toward any particular arrangement. This is different from “random sort” approaches that produce biased results due to inconsistent comparison ordering.

Step 3 — Round-robin assignment: the shuffled names are dealt out like cards — name 1 goes to team 1, name 2 to team 2, and so on, wrapping around. Round-robin is optimal for balance: the largest and smallest team sizes differ by at most 1, regardless of how many people are in the pool.

Worked example

Eight names, three teams. After shuffling, the round-robin deal produces:

  • Team 1: names 1, 4, 7 (3 people)
  • Team 2: names 2, 5, 8 (3 people)
  • Team 3: names 3, 6 (2 people)

The maximum size difference is 1 — as balanced as it is possible to be without splitting a person.

Use cases and tips

Classroom groups: paste a class roster and choose how many groups you need. Re-roll if the algorithm produces a grouping where known best friends or rivals land together — each re-roll is fully independent.

Sports and games: for pickup games, entering all attendees and picking two teams is faster and fairer than captains picking alternately, which tends to produce a visible skill-ordering at the end of the draft.

Hackathons and workshops: paste the attendee list and set the number of teams equal to your table count. The balanced sizes mean no team is significantly smaller than others.

Named teams: the tool outputs numbered teams by default. If you want Red, Blue, and Green, assign names to the numbered slots after generation — the tool’s output is a starting point you can relabel freely.

Re-roll as many times as you like: each press of the button is an independent shuffle, so there is no “correct” answer to land on. All processing happens locally in the browser — your name list is never uploaded.