Split names into fair, random teams • Free and instant
Type names (one per line or comma separated)
Click "Make Groups" to see results
Paste your list of names, choose how many groups you need, and this free group generator shuffles everyone into balanced, random teams in one click. It's the quickest way to split a class, a workshop, or a sports session without arguments about who ends up with whom.
Teachers split classes into project teams and reading circles. Workshop facilitators mix departments so the same people don't always cluster together. Coaches build scrimmage teams, and event organisers run Secret Santa or networking sessions. Because assignment is random, nobody can claim the teams were stacked – and every click produces a completely new, unbiased combination.
The button runs generateGroups(), which reads the box through getGroupNames(): newlines and commas both separate names. The group count is clamped between one and one group per person. Names are then copied, shuffled and cut into blocks sized by floor division, with leftover people going one each to the lowest-numbered groups, and each result label prints its own size.
Cutting an unshuffled list gives the same teams every run: whoever sits near the top lands in Group 1. Sorting alphabetically repeats that, and dealing alternately only rearranges it. Randomising has to be uniform, and this loop is: at step i it takes one of the i + 1 earlier positions with Math.floor(Math.random() * (i + 1)) and swaps, so the paths multiply out to n factorial, one for each ordering. A loop drawing from the full array length spreads n to the n paths over n factorial outcomes, so three names share 27 paths across 6 orderings and some arrangements recur more often while every group stays the same size.
Pick one person with the name picker, time each breakout with the classroom timer, and settle who presents first with a coin flip.
No. Assignment is purely random, and there is no field for separating two names or pinning one person to a team.
No, since the copy is shuffled before it is cut. Blank lines and stray spaces are ignored, and a name typed twice counts as two people.
Breakouts work at three to five; above five the quieter people stop contributing. Thirteen players into three groups come out as 5, 4 and 4, so five-a-side needs fifteen players or a rotating group.
Run one list through many clicks and tally where people land. With even division every group takes the same share, and over 100 runs into two groups the usual spread around fifty is five, so 40 to 60 is normal. Nothing is counted or stored, and the draw is not cryptographic.