Team Splitter
Paste names, one per line. The page shuffles them, then deals into Team 1, Team 2, and so on. Empty lines are ignored.
Rated 4.7 out of 5 based on 445 reviews
How to assign random teams
- Enter at least two names, one per line. Empty lines do not count.
- Set Teams from 2 to 50. You cannot create more teams than names.
- Generate. The list is shuffled, then names are dealt round-robin into Team 1, Team 2, and the rest.
- Copy the groups. Generate again for a new shuffle. The page does not remember last week's teams.
Random team assignment
Fisher-Yates shuffle plus round-robin buckets
| Shuffle | Fisher-Yates driven by Web Crypto |
|---|---|
| Deal | Round-robin into N buckets after the shuffle |
| Minimum names | Two non-empty lines |
| Team cap | 2 to 50, and never more teams than names |
| Balance | Sizes differ by at most one when the count does not divide evenly |
| Not a ranking | No skill, seed, or wait-list model |
Fisher-Yates, then round-robin
The page copies your names, shuffles that copy with Fisher-Yates, then walks the shuffled list and drops each person into the next team. Team 1 gets the first name, Team 2 the second, and so on, wrapping around. Because the order is random before the deal, no line at the top of the box is favored. Sampling uses Web Crypto, not Math.random.
Two names minimum, teams cannot exceed names
One person cannot fill two teams. Enter at least two non-empty lines. Teams must be at least 2 and at most 50, and must not exceed the number of names. Six names and two teams is valid. Six names and seven teams is not. Uneven counts still work: leftover names continue around the circle, so group sizes differ by at most one.
Teams versus picking winners
This job is a partition. Every name lands on a team. The list picker instead draws one or more winners and can leave people out. If you only need to mix the order of a list and keep it as one column, use shuffle list. That page also uses a Web Crypto Fisher-Yates shuffle, without buckets.
Class, pickup games, and leftovers
Paste a roster, set Teams to 2 for shirts versus skins, or higher for stations. Duplicate names in the box if two people share a first name and you need both. The splitter does not know skill, age, or who sat out last time. If you need numbered integers for bibs instead of names, use the random number generator.
Names stay in this tab
The roster is not uploaded. Refreshing the page drops unsaved edits unless the browser restored the field. Copy the output if you need a record. CZNull does not store teams.