Your roster
Type names — one per line. Duplicates are ignored optionally before the split.
Paste a list of names and split them into balanced teams — by number of teams or by team size, with a fair draw and entirely in your browser. Perfect for sports, games and group projects.
0 names
Add at least two names to generate teams.
Type names — one per line. Duplicates are ignored optionally before the split.
Set how many teams you want, or how many people each holds — the tool does the rest.
A Fisher–Yates shuffle with the browser’s cryptographic generator and an even spread.
Enter the names — one per line — choose whether to set a number of teams or a number of people per team, and press "Generate teams". The names are shuffled randomly and distributed across the teams.
Yes. The list is shuffled with a Fisher–Yates shuffle powered by crypto.getRandomValues plus rejection sampling — no bias, every person has an equal chance of landing in any team.
With "Number of teams" you set how many teams you want and people are spread as evenly as possible across them (sizes differ by at most one). With "People per team" you set a size and as many teams are made as needed — the last one may be smaller.
In "Number of teams" mode — yes: we distribute round-robin so team sizes differ by at most one person. In "People per team" mode every team is exactly the size you set, except possibly the last one.
Splitting teams for sports and games, project groups in class or the office, assigning tasks, forming pairs, and anywhere you need an impartial way to divide people into groups.
No. Everything runs locally in your browser via JavaScript — your list of names never leaves your device and nothing is stored.