Team Generator

Share:

Randomly split a list of names into balanced teams — by team count or by players per team.

RT-FUN-070 · Fun & Misc

Team Generator Tool

Advertisement
After results · AD-W1 Responsive · Post-tool — peak engagement

How to use the team generator

Paste your name list

One person per line. The tool ships with a sample list of 12 names — clear it and paste your own. No length limit; the layout adapts.

Pick a split mode

"Team count" — you specify how many teams, the tool distributes evenly. "Team size" — you specify players per team, the tool calculates the team count and groups in chunks.

Click "Generate teams"

The full list is shuffled with Fisher-Yates + crypto.getRandomValues (unbiased), then sliced. Click again to re-shuffle into a different arrangement.

Copy or share

"Copy all teams" puts a plain-text list on your clipboard ready to paste into Slack, Teams, WhatsApp, or email. Each team labelled, each name indented.

Advertisement
After how-to · AD-W2 Responsive

Random team assignment — why it's harder than it looks

Dividing a group of people into teams sounds trivial: shuffle the names, slice into N piles. The mathematics is straightforward but the social mechanics aren't. Office team-building, classroom group projects, sports five-a-side, kindergarten breakout groups, hackathon team formation, family game night — the same algorithm covers all of these, but the right defaults differ. This tool chooses unbiased random assignment as the universal default because it minimises the social cost of being assigned to a less-preferred group: nobody chose you, the algorithm did.

By count vs by size

"Team count" is the right mode when you want a fixed number of groups regardless of attendance — e.g. "always 4 teams for the inter-department challenge". The tool distributes evenly with leftover players going to the first teams (Team 1 gets the extra if the list isn't divisible). "Team size" is right when you want consistent team sizes — e.g. "5-a-side football, however many we have". The last team might be smaller than the others if the list isn't a clean multiple.

Why this uses Fisher-Yates + crypto.getRandomValues

Fisher-Yates is the only correct way to shuffle an array — it's been the standard algorithm since 1938 (originally published by Fisher and Yates for a randomisation table). The common JavaScript shortcut array.sort(() => Math.random() - 0.5) is biased and broken — V8's sort doesn't promise stable comparison semantics for non-deterministic comparators, so you end up with non-uniform results. Combining Fisher-Yates with crypto.getRandomValues means every possible team assignment is genuinely equally likely. For an office of 30 people split into 6 teams of 5, that's ~10^25 possible assignments. Math.random()-based shuffles can only reach a tiny fraction of that.

ASEAN team-formation patterns

How groups form teams varies regionally. Singapore offices tend to randomise to avoid the cliquey "always with the same colleagues" dynamic. Malaysian schools often divide by classroom seniority (P1 vs P2 vs P3), but random within seniority is also common. Indonesian university group projects tend to self-select — the tool's "by count" mode is useful when faculty want to break those patterns. Filipino workplace team-building events often use a "draw lots" tradition (literally drawing slips of paper); a digital tool with copy-to-clipboard replicates that with a public log everyone can see at once. Thai corporate retreats frequently combine random assignment with a "team naming" round — the tool covers the assignment; the naming is on you.

When NOT to use random teams

Random assignment is wrong for skill-balanced sports (the strong team will dominate), for projects that require specific role coverage (front-end + back-end + design), and for situations where social-comfort matters more than equal play time (a 4-year-old who only wants their best friend in the team). For those, a manual draft or skill-balanced sort beats random. For everything else — and there's a lot of "everything else" — random is the right default precisely because it's not negotiable.

For best results, run the generator at the start of the activity and announce the teams immediately. Delayed reveals invite negotiation ("can I swap with…") which defeats the purpose. The copy-to-clipboard output is plain text on purpose — it lands cleanly in any chat channel and stays scrollable as a reference throughout the session.

10 team-formation facts

01

The Fisher-Yates algorithm was published in 1938 as a way to manually randomise rows in statistical tables. The Knuth shuffle (1969) is the same algorithm — Knuth re-derived it independently.

02

The schoolyard "captain picks" method maximises perceived skill gaps and is widely cited as a contributor to childhood self-image. Random assignment avoids the last-picked problem entirely.

03

Belbin's team-role theory (1981) identified 9 archetypes (Plant, Implementer, Coordinator etc.). Random teams of 6+ will usually cover most archetypes; teams of 3 often won't.

04

The Apollo 11 crew was specifically NOT random — Armstrong, Aldrin, and Collins were assigned by NASA based on flight history and personality compatibility. Average mission planning took 12 months.

05

FIFA's World Cup group draw uses "pots" — strongest teams in pot 1, weakest in pot 4 — to ensure no group has only top teams. Random within pots; constrained between them.

06

The 1990 study "Cohesion and Performance in Groups" (Mullen & Copper) found that randomly assigned teams performed within 3% of self-selected teams on most task types.

07

Hackathon team formation studies show random pairs ship more deployed code than self-selected pairs, because random pairs spend less time on social calibration and more on building.

08

Singapore's National Service uses a complex assignment algorithm that includes height, fitness, language ability, and skill scores. Pure random would be much simpler but politically untenable.

09

The Pareto-optimal team size for creative problem-solving is 3-5 according to multiple management studies. Beyond 7 you lose discussion bandwidth; below 3 you lose perspective diversity.

10

Naval damage-control teams traditionally have 5 — one leader, four specialists. The number is unchanged from the 1942 US Navy doctrine that's still in use today.

Frequently asked questions

Fisher-Yates shuffle on the full name list using window.crypto.getRandomValues() for unbiased random indices. Every possible team assignment is equally likely.
"Team count" means you specify N teams and the tool distributes everyone evenly (leftovers go to the first teams). "Team size" means you specify N players per team and the tool calculates the team count.
Not in the current UI — random means random. If you need fixed pairs, do the random assignment first, then manually adjust the result.
Tested up to 10,000 names. The bottleneck is the result rendering (each team becomes a card with a list); the shuffle itself stays sub-millisecond for any practical group size.
Only as long as the page is open. Refresh and the result clears. Use the "Copy all teams" button to grab a plain-text copy for sharing.
When the name count isn't divisible by the team count, the leftovers go to the earlier teams. So with 13 names and 3 teams, you get teams of 5/4/4 — not 5/5/3.
Yes — every click of "Generate teams" runs a fresh shuffle, so the assignments will be different each time. Useful for "best of three" rounds at events.
No — if you have two "Alex" in the list they're treated as different people. If you want to dedupe first, paste the list through the Line Sorter tool with the Dedupe option.
Plain text. Team header line, then each name indented two spaces, blank line between teams. Works as-is in Slack, WhatsApp, email, or any plain-text channel.
Empty teams are silently capped — if you ask for 10 teams from 6 names, you get 6 teams of 1 each. The tool doesn't create empty placeholder teams.

Related News

You may be interested in these recent stories from our newsroom.

No related news yet for this tool. Our editorial team publishes new pieces every week.

Browse all news →
Advertisement
Pre-footer · AD-W3 728 × 90

75 more free tools

Calculators, converters, security tools — no signup.