Generators

Random Team Generator

Shuffle pasted names into balanced squads.

Loading interactive tool…

Embed this tool on your site

About this tool

A Fisher-Yates roster shuffler that takes a list of names and splits them into however many teams you choose, returning a balanced division ready to paste into a Slack channel or whiteboard. Manually splitting groups introduces unconscious bias — friends end up together, the organizer's favorites cluster near the top. This tool eliminates that bias entirely using a mathematically provably uniform shuffle before dividing the roster. When the participant count does not divide evenly, leftover names are distributed one per team so sizes stay as equal as possible. Coaches splitting practice squads, classroom teachers forming project groups, hackathon organizers seeding tables, and remote-team leads picking breakout rooms all save time and sidestep fairness disputes by letting the tool handle the split.

Why use it

  • Fisher-Yates Shuffle: The Fisher-Yates algorithm, driven by the Web Crypto API, gives every arrangement of the roster an equal chance. This matters when participants will question the result if their team feels stacked.

  • Balanced Splits: Shuffled names are dealt to the teams in turn, like cards, so team sizes differ by at most one person when the roster does not divide evenly.

  • Empty-Line Tolerant: Pasting directly from a spreadsheet column often introduces blank rows. The tool trims each line and drops empty ones before splitting, so no phantom entry ever takes a slot.

  • Reshuffle Without Retyping: Click Generate teams again to produce a completely different split from the same input. This is useful when you want to show participants that the split is truly random before committing to one arrangement.

  • Clear Labelled Output: Each team appears in its own box with a Team number and a comma-separated list of names, easy to read aloud or screenshot for a group chat.

  • Browser-Local: Your participant roster never uploads to a third-party server. Names stay in your browser tab and are cleared when you close the page, making this safe for student names and other sensitive lists.

How to use

  1. Paste your full roster into the Names (one per line) box — the tool trims spaces and ignores blank lines automatically.
  2. Set the Number of teams field (minimum 2); you need at least as many names as teams.
  3. Click Generate teams to run the Fisher-Yates shuffle and deal the shuffled names into teams.
  4. Review each team in its own box, labelled Team 1, Team 2 and so on, with names separated by commas.
  5. Click Generate teams again for a different arrangement, then select and copy the result to share it in your channel.

When it helps

  • When splitting a sports practice squad into scrimmage teams and you want a defensibly fair division without accusations of favoritism.
  • When forming student project groups in a classroom and you need balanced sizes without friends always ending up together.
  • When seeding hackathon tables or breakout rooms and you want each group to have a random mix of participants rather than a self-selected cluster.
  • When a remote team needs to split into virtual breakout groups for a workshop and the meeting host needs to assign groups quickly.
  • When running a tournament bracket and you need to randomize which participants seed into which starting group.
  • When a coach needs to rotate practice partners across training sessions so every player gets exposure to different teammates.

Examples

8 names into 2 teams

Input

Alice Ben Carla Dan Eve Finn Gabi Hugo

Expected result

Team 1: Carla, Hugo, Ben, Eve Team 2: Finn, Alice, Gabi, Dan

9 names into 3 teams

Input

Riley Sam Tia Uri Val Wes Xena Yan Zoe

Expected result

Team 1: Tia, Yan, Sam Team 2: Wes, Val, Riley Team 3: Zoe, Uri, Xena

11 names into 4 teams (uneven)

Input

11-player roster, one name per line, Number of teams: 4

Expected result

Teams of 3, 3, 3, 2 — shuffled names are dealt one per team in turn, so sizes differ by at most one

Tips

  • Paste names one per line — a comma-separated list on a single line is treated as one name.
  • Reshuffle a few times before committing if a particular split looks lopsided — even fair random distributions can produce aesthetically unbalanced groupings occasionally.
  • Pair the team reveal with the Spin Wheel Picker for added theater when announcing captains or the first team in a live event or stream.
  • Screenshot the team boxes to share the split in a group chat exactly as it appeared on screen.
  • For skill-balanced teams, always start with the random split and adjust manually after — beginning from random is fairer than beginning from a hand-sorted list.

Frequently Asked Questions

Are the teams perfectly balanced in size?
Teams are as balanced as the math allows. If your roster divides evenly, every team gets the same number. If it does not, names are dealt one at a time to each team in turn, so sizes differ by at most one person.
Can I generate teams with weighted skill levels?
The tool performs a purely random split without skill weighting. For skill-balanced teams, use the random split as your starting point and then manually swap a few players between teams based on known ability levels. The random baseline prevents deliberate clustering.
Will the same person ever be on the same team twice if I shuffle again?
Yes — randomness does not guarantee unique historical assignments across multiple shuffles. Each shuffle is independent. If you need to prevent repeat pairings across sessions, keep a record of previous splits and manually move any repeated partners after the shuffle.
Can I lock specific players to specific teams?
No. For mixed locked-random scenarios, assign the locked players manually first, then use the tool to split the remaining names and merge the results by hand.
Does the order I paste names in affect outcomes?
No. The Fisher-Yates shuffle fully randomizes the order regardless of how names are arranged in the input. Alphabetical, copy-paste order, or spreadsheet order all produce identically distributed results after the shuffle.
What is the maximum roster size?
There is no hard cap enforced by the tool — it handles hundreds of names without performance issues in a browser. The only rule is that you need at least as many names as teams.
Can I name the teams instead of Team 1, Team 2?
No. Teams are labelled numerically. After copying the result, you can rename them in whatever channel or document you paste into.
How do I share the result in Slack or Notion?
There are no copy buttons, so select the team boxes with your mouse or finger, copy, and paste into Slack, Notion or any other tool. Each team pastes as its label followed by a comma-separated list of names.

Explore the category

Glossary

Fisher-Yates Shuffle
A well-known algorithm for producing a uniformly random permutation of a list. Every possible ordering has exactly equal probability, making it the gold standard for fair randomization tasks like team splits and draw orders.
Uniform Permutation
A shuffled arrangement where every possible ordering of the original list is equally likely. A truly uniform permutation is essential for fairness claims because any bias toward certain orderings would systematically favor some participants.
Roster
The full list of participants to be divided into teams. In the context of this tool, a roster is any newline-separated list of names or identifiers pasted into the input field.
Bracket
A structured tournament format where teams or participants are matched against each other in a predetermined or seeded order. Random team generation is often the first step in bracket seeding.
Round-Robin
A tournament format where every team plays every other team at least once. Random team generation followed by a round-robin schedule ensures no team has a structural advantage from its assignment.
Group Assignment
The process of allocating individuals to groups or teams. Algorithmic group assignment eliminates the social dynamics and bias that emerge from manual or self-selection methods.
A LITTLE HELP. A LOT DONE.
Good tools.
Great flow.

Your shortcut to the everyday. Create, convert, calculate,
and get back to what you love.

✓ Free to use✓ No sign-up✓ 500+ possibilities