Random Group Generator

Split names into fair, random teams • Free and instant

GROUP GENERATOR

Type names (one per line or comma separated)



Click "Make Groups" to see results

Random Group Generator – Fair Teams Every Time

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.

How to use the group generator

Where random groups shine

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.

How this generator splits the list

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.

Shuffle first, then slice

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.

Tools that go with this one

Pick one person with the name picker, time each breakout with the classroom timer, and settle who presents first with a coin flip.

Frequently asked questions

Can I keep two people apart?

No. Assignment is purely random, and there is no field for separating two names or pinning one person to a team.

Does the order I type the names in matter?

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.

How many people should each group hold?

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.

How can I check the shuffle is fair?

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.