TextFizz
  1. Home
  2. Tools
  3. Random Team Generator

Random Team Generator

Paste the names, choose how many teams, press Make teams. The shuffle is a real Fisher–Yates permutation on a cryptographic random source, so no one can say the split was rigged — a life-saver for 10-man customs, PE class and office team building.

Everything runs in your browser. What you type is never sent to our server.

Try also:🕹️ Random Game Picker🗺️ Random CS2 Map🔫 Random Valorant Agent⭐ Random Brawler Picker
⧉ Embed this tool

How to use

  1. Paste or type the players, one per line. Empty lines and duplicates of spacing are ignored, so a copy from Discord or a class list works as is.
  2. Set the number of Teams (2–16). If the list does not divide evenly, the first teams get one extra player — and which teams those are is random too.
  3. Pick a naming style: Team 1, 2…, Colors or Animals. Names are just labels; they do not affect who lands where.
  4. Press Make teams. Do not like the result? Press again — every press is a fresh shuffle.
  5. Use Copy all to paste the roster into Discord, a group chat or a lobby.

How the shuffle works: Fisher–Yates, not "sort by random"

The tempting way to shuffle a list is names.sort(() => Math.random() - 0.5). It is also wrong: sort algorithms expect a consistent comparator, and with a random one certain orders come out far more often than others — measurably, not theoretically. That is how "random" team pickers end up putting the same two friends together every week.

This tool uses the Fisher–Yates shuffle: walk the list from the end, and swap each element with a randomly chosen one that has not been fixed yet. Every one of the n! permutations is exactly equally likely, and it takes one pass. The random index comes from crypto.getRandomValues with rejection sampling, so there is no modulo bias either. After the shuffle the list is simply cut into the requested number of teams, one name after another.

What this means in practice: for 10 players in 2 teams there are 126 possible splits and each has a 1-in-126 chance. Press the button twice and you will almost never see the same split.

Fair splits when the numbers do not divide

PlayersTeamsResult
1025 + 5
1126 + 5
1335 + 4 + 4
2747 + 7 + 7 + 6
3065 × 6

The extra players go to the first teams in the list — but since the list itself was shuffled and the team labels are assigned afterwards, "first" is random as well. If you need exactly equal teams, remove one name and let that player referee, or add a bot slot.

Where people use it

  • CS2, Valorant and Dota 2 customs — 10 names in, two fair fives out, no captain drama. For skill-balanced teams put your two best players in separately and split the other eight.
  • Minecraft and Roblox events — bed wars squads, build battles, hide-and-seek teams for a server night.
  • Teachers — group projects and PE. Random groups stop the same kids always pairing up, and the "computer picked it" answer ends every complaint.
  • Team building and offices — quiz teams, hackathon groups, Secret Santa circles (use 2 teams of 1 to pair people).
  • Sports — pickup football, basketball or volleyball at the park; use Colors naming and hand out bibs.
  • Streamers — viewer games: paste the names from chat, split into squads live on screen.

Tips for "no hurt feelings" splits

Random is fair, but it is not always balanced. A few tricks that keep it both:

  1. Seed the captains yourself. Split only the non-captains, then assign one captain per team. Fair for everyone else, balanced at the top.
  2. Two-pass split for skill tiers. Shuffle the strong players into N teams, then shuffle the rest into N teams and merge Team 1 with Team 1, and so on.
  3. Show the screen. The whole point of an unbiased shuffle is that it is public. Share your screen or paste the copied roster right away.
  4. Reroll rule. Agree beforehand: one reroll maximum, and only by unanimous vote. Otherwise someone will click until they like it.

What makes ours different

  • Real Fisher–Yates shuffle on a cryptographic source, not the biased "sort by random" trick.
  • Up to 16 teams, uneven groups handled fairly and predictably.
  • Color and animal team names for kids, classes and bib colors.
  • One-click copy of the whole roster for Discord or a lobby chat.
  • No sign-up, no limit on the number of names, no ads over the button, works on a phone at the pitch.

Privacy

The names you paste never leave your device. The shuffle runs in the browser, nothing is stored, and pressing the button sends nothing to a server. Close the page and the list is gone.

FAQ

How many people can I split into teams?

There is no hard limit on names; the number of teams is 2–16. A whole school year of 200 students into 16 groups takes a fraction of a second.

Is the team generator really random?

Yes — it uses the Fisher–Yates algorithm with a cryptographic random source, so every possible split is exactly equally likely. There is no memory of previous splits and no hidden weighting.

Can I make teams of a fixed size instead of a fixed number of teams?

Divide your player count by the size you want and enter that as the number of teams: 20 players into teams of 4 means 5 teams.

Can I balance teams by skill?

Not automatically — the tool has no rank data. Split your top players first, then the rest, and merge the groups; or assign captains by hand and randomize only the remaining players.

What happens with an odd number of players?

The first teams get one extra player. Since the list was shuffled before the labels were attached, which team gets the extra is random too.

Can I use it for a school class or a workshop?

That is one of the most common uses. Paste the class list, choose the number of groups, press once, and show the screen — nobody can argue with a shuffle everyone watched.

Related tools

Latest guides