Random Team Generator (Group Maker)
Paste a name list and split it into fair random teams — by team count or team size, with a cryptographic shuffle and one-click copy.
1,247 views
Enter at least 2 people and a valid number.
How the Shuffle Actually Works
Splitting a list fairly comes down to one question: is every possible arrangement of people equally likely? This tool uses the Fisher-Yates shuffle, an algorithm with a surprisingly long history — it was first described in 1938 by statisticians Ronald Fisher and Frank Yates as a manual, pencil-and-paper procedure for randomizing rows in statistical tables. In 1964, Richard Durstenfeld adapted it into the efficient, computer-friendly version used today, which runs in linear time by walking through the list once and swapping each element with a randomly chosen one from the remaining unshuffled portion. Donald Knuth later popularized this version in "The Art of Computer Programming," which is why it is sometimes called the Knuth shuffle.
The randomness itself comes from crypto.getRandomValues, the browser's cryptographically secure random number source — the same one used in our giveaway picker — rather than Math.random, which is faster but not designed to resist prediction. Correctness matters here too: a naive shuffle, such as picking a random swap position from the entire list at every step instead of only from the remaining unshuffled portion, silently introduces statistical bias. Some final arrangements end up more likely than others — a subtle effect similar in spirit to the birthday paradox, where the real odds work out differently than intuition suggests. A properly implemented Fisher-Yates shuffle avoids this: at every step it picks uniformly from only the elements not yet placed, which is what keeps every possible ordering equally probable.
What You Should Know
Splitting people into groups that do not divide evenly is a separate design decision from the shuffle itself. When a list cannot be split into perfectly equal teams, the remainder is spread one extra person per team, starting from the first team, rather than piling every extra person onto a single team — the fairest way to resolve a remainder that has no perfectly even answer.
- Choose to split by a target number of teams or by a target team size — whichever number actually matters for the situation.
- Re-splitting runs the shuffle again from scratch with fresh randomness, producing a genuinely different arrangement rather than a rearrangement of the previous one.
- Names are shuffled entirely inside the browser; nothing is sent anywhere, which makes it fine for confidential class lists or team rosters too.
Frequently Asked Questions
What happens when the list does not divide evenly?
The remainder is distributed one extra person per team starting from Team 1 — with 11 people in 3 teams you get 4-4-3, never 5-3-3.
Is the split really random?
Yes — an unbiased Fisher-Yates shuffle driven by crypto.getRandomValues, the browser's cryptographic source. Re-splitting produces a genuinely fresh arrangement each time.
Can I keep two people apart or together?
Not automatically — split, then swap a pair by hand if needed. Constraint-based splitting is on our idea list.
Where does the Fisher-Yates shuffle come from?
It was first described in 1938 by Ronald Fisher and Frank Yates as a manual shuffling procedure for statistics. Richard Durstenfeld turned it into the efficient computer algorithm used today in 1964, and it was later popularized by Donald Knuth — which is why it is also known as the Knuth shuffle.
Why not just use a simpler random shuffle?
Naive approaches, such as swapping every element with a position picked from the whole list instead of only the remaining unshuffled portion, quietly favor some final arrangements over others. A correctly implemented Fisher-Yates shuffle picks each swap only from the elements not yet placed, which is what makes every possible ordering equally likely.
Similar Tools
Report a Problem
Random Team Generator (Group Maker)
Comments
No comments yet — be the first to write one!