Free Random Team Generator
Split a list of names into balanced random teams β by team count or team size. Cryptographically fair shuffle, instant reshuffle.
Saved lists
Your latest list and settings are remembered on this device. Name a list to keep it for later.
No saved lists yet.
Team names (optional)
Leave empty to use colours. You can also rename a team right on its card.
Add constraints (optional)
One group per line; separate names with & or commas. These people always land on the same team.
One group per line; separate names with & or commas. These people go on different teams.
π‘ Teams are balanced using a snake draft, so sizes differ by at most one. Shuffling uses your browser's cryptographically-secure randomness β genuinely fair. Great for PE classes, sports, group projects, game nights, and secret-santa-style splits.
Common uses
- Split a Class into GroupsRandomly divide students into balanced groups for projects and activities.
- Make Fair Sports TeamsSplit players into even teams for pickup games and practice.
- Teams for Game NightQuickly form random teams for trivia, charades, and party games.
- Breakout Groups for WorkshopsDivide workshop or conference attendees into discussion groups.
- Random Groups for Gift ExchangesSplit a big group into smaller gift-exchange pods.
How It Works
Team splitting runs entirely in your browser using a crypto-secure Fisher-Yates shuffle (powered by the Web Crypto API's crypto.getRandomValues) combined with a snake-draft distribution for balanced teams. When keep-together or keep-apart constraints are added, a union-find cluster solver with up to 400 randomized restarts finds the most evenly balanced valid assignment.
- 1Parsing the name listNames are split on newlines and commas, trimmed of whitespace, and deduplicated. You can mix both separators freely β the parser handles them in a single pass.
- 2Crypto-secure shuffleThe browser's built-in crypto.getRandomValues fills a Uint32Array with one random 32-bit integer per name. The shuffle uses these values with a scaling division instead of modulo, eliminating the modulo bias that plagues Math.random()-based shufflers.
- 3Balanced distribution or constraint solvingWithout constraints, names are distributed using a snake-draft pattern (left-to-right on even rounds, right-to-left on odd rounds) so team sizes differ by at most one. With keep-together or keep-apart rules, names are merged into clusters via union-find, then a randomized greedy solver tries up to 400 placements and keeps the assignment with the smallest size imbalance.
- 4Export as text, CSV, or shareable linkResults can be copied as plain text, downloaded as a .txt or .csv file (built with the browser's Blob API), or shared via a URL hash that encodes the full session state in base64url β no server involved at any point.
Related Tools
Wheel Spinner
Type a list of names or choices, spin the wheel and let it pick one at random, with a tick sound, confetti and an option to remove each winner.
Avatar Maker
Create clean initials avatars β pick colors, shape and size, and export a PNG.
Coin Flip & Spin Wheel
Flip a virtual coin, spin a customizable wheel, or randomly pick from a list of options. Uses your browserβs cryptographically secure randomness β not a verifiable public draw, so avoid regulated contests.