LuckPickerSpin the Wheel

Tool

Team & Group Generator

Split any list of names into fair, balanced teams or groups.

Team & Group Generator

Paste a list of names, choose how many teams (or how many people per team), and get a genuinely random split -- not names dealt out in whatever order you happened to type them.

For splitting a group fairly when you don't want the same friend-clusters ending up together every time.

Works for anything from splitting 6 people into 2 teams to sorting a full 30-person class into small discussion groups.

How the Team & Group Generator works — and why it's fair

The tool first performs a full Fisher-Yates shuffle on your entire name list -- a well-established algorithm that produces a genuinely uniform random permutation, meaning every possible ordering of your list is equally likely to result. This matters because a common shortcut some tools use, sorting the list by a random value attached to each name, is a known-biased anti-pattern that doesn't actually produce a uniform shuffle (it can favor certain orderings depending on the sort algorithm's stability). Fisher-Yates, using crypto.getRandomValues at each swap step, avoids that trap entirely.

Once the list is genuinely shuffled, names are dealt round-robin into your chosen number of teams (or into groups of your chosen size) -- so the randomness lives entirely in that initial shuffle, and the team assignment step afterward is just deterministic dealing from an already-fair random order.

Fisher-Yates is a meaningfully different fairness mechanic than the index-based draws used by the name picker or raffle picker -- those pick one item from a list; this reorders the whole list first and then partitions the shuffled result, which is the correct approach whenever the goal is a fair full-group split rather than a single winner.

One more practical note: because the shuffle happens before the split, a team generator with 'captains' or seeded team leaders isn't quite the same problem -- this tool is built for a fully random split with no seeding, so if you need specific people anchoring specific teams, that's a different (and inherently non-random) workflow than what this tool provides.

What this gets used for

Gym teachers use it to split a class into balanced teams without picking captains and running the old playground-style draft. Corporate offsites use it to mix up small-group discussions so the same cliques don't default to sitting together. Trivia nights use it to build even teams from a walk-in crowd.

Conference organizers use it for randomized breakout-room assignments so attendees actually meet people outside their existing circle, and youth sports coaches use it for practice-scrimmage team splits that change up week to week.

If what you actually need is the whole list reordered (not split into groups), the list randomizer is built for that; for excluding self-pairing specifically, the Secret Santa generator handles that different constraint.

Hackathon organizers use it to form project teams from a pool of solo registrants, since a genuinely random assignment avoids the awkwardness of visibly picking teams by hand in front of a room.

Frequently asked questions

What happens if the group doesn't divide evenly into teams?

The extra person or people are distributed across the teams as evenly as possible rather than left over -- some teams may end up one person larger than others.

Can I keep certain people apart, like separating siblings?

Not built in as an automatic constraint -- the fastest workaround is re-rolling if a specific split doesn't work for your group.

Is sorting by a random value attached to each name the same as this?

No -- that shortcut is a known-biased approach that doesn't produce a truly uniform shuffle; this tool uses the Fisher-Yates algorithm specifically to avoid that.

Is there a max group size?

No fairness-related limit -- very large lists just take a moment longer to shuffle and deal.

How is this different from the list randomizer?

The list randomizer reorders and returns the whole list; this tool shuffles and then partitions the shuffled result into teams or groups.

Can I set team captains and randomize just the remaining members around them?

Not currently -- the tool shuffles and distributes the entire list; captain-seeding would need to be handled as a manual adjustment afterward.

Will the same two people ever end up on the same team twice if I re-run it?

It's possible -- each shuffle is independent, so re-running the tool can occasionally reproduce a prior pairing by chance.

← Back to all tools