Skip to main content

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

  1. Enter at least two names, one per line. Empty lines do not count.
  2. Set Teams from 2 to 50. You cannot create more teams than names.
  3. Generate. The list is shuffled, then names are dealt round-robin into Team 1, Team 2, and the rest.
  4. 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

ShuffleFisher-Yates driven by Web Crypto
DealRound-robin into N buckets after the shuffle
Minimum namesTwo non-empty lines
Team cap2 to 50, and never more teams than names
BalanceSizes differ by at most one when the count does not divide evenly
Not a rankingNo 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.

Team splitter questions

Why did I get an error about names?
You need at least two non-empty lines. Empty lines are ignored, so a box that looks full can still fail.
Can I make more teams than people?
No. Each team needs at least one name after the deal, so teams cannot exceed the name count.
Are the groups the same size?
Sizes differ by at most one. Round-robin leftover names go to the earlier teams in the cycle.
Is the first name in the box more likely to be captain?
No. The list is shuffled before anyone is dealt. There is no captain role unless you assign one after.
Is this the same as shuffle list?
Both use a Web Crypto Fisher-Yates shuffle. Shuffle list returns one mixed column. This page then deals that order into labeled teams.
Does CZNull save the roster?
No. Names stay in this tab until you copy them or close the page.