Random Team Generator
Split a list of people into random teams
About This Tool
You've got 23 people who need to be split into 4 teams for a workshop, and rock-paper-scissors gets old fast. Paste the names, pick the team count, and the splitter handles it — randomized, with as-even-as-possible team sizes given the input.
If the count divides cleanly (12 people into 4 teams), each team gets 3. If it doesn't (23 into 4), the leftover gets distributed across the first few teams (6, 6, 6, 5 in this case). No weird edge cases of one team getting all the leftovers.
Click again to reshuffle if the first split landed two friends on the same team. The randomness is a fresh roll each time.
Under the hood, the splitter shuffles the full name list using Fisher-Yates and then deals names out to teams round-robin. Fisher-Yates is the standard unbiased shuffling algorithm — for each position from last to first, swap it with a random earlier position (or itself). The math guarantees every permutation is equally likely, which is what 'random' should mean for fairness. Round-robin dealing then ensures the team sizes differ by at most one.
A worked example: 23 names, 4 teams. After the shuffle, you get a random permutation of the 23 names. Round-robin: name 1 to team A, name 2 to team B, name 3 to team C, name 4 to team D, name 5 back to team A, and so on. After 23 names, team A has names at positions 1, 5, 9, 13, 17, 21 — 6 people. Team B has names 2, 6, 10, 14, 18, 22 — 6 people. Team C has names 3, 7, 11, 15, 19, 23 — 6 people. Team D has names 4, 8, 12, 16, 20 — 5 people. Final split: 6/6/6/5. The maximum size difference is exactly 1, which is the best you can do with 23 split into 4.
Where you might want different behavior: workshops where you'd like balanced skill levels across teams, not just balanced sizes. The basic generator can't see skill, so it can't optimize for it. The workaround is to manually tag people into 'experienced' and 'newer' buckets, then run the generator separately on each bucket — pulling the resulting two splits side-by-side gives you teams with equal sizes from each skill tier. Two passes, but it produces the balance you want.
For genuinely large groups (100+ people), the generator handles the math fine but the UX of pasting names gets unwieldy. CSV import or copy-paste from a spreadsheet column works. For repeated workshops where the same group gets re-split each session, save the generated lists somewhere and avoid running it twice — getting the same name on the same team across multiple sessions is exactly what users perceive as 'broken randomness,' even though it's mathematically possible from genuinely random shuffles.
The about text and FAQ on this page were drafted with AI assistance and reviewed by a member of the Coherence Daddy team before publishing. See our Content Policy for editorial standards.