Activity and Random Tools

Random Team Generator for Balanced Groups

Paste names, choose a team count, and distribute everyone so team sizes differ by no more than one person.

Processed in your browser. Your input is not sent to the server.

Private and balanced randomization

Enter names and choose the number of teams

Use one name per line. Names never leave your browser.

0 names

From 2 to 20, and no more than the member count

Eight example names are ready. Choose a team count and generate the teams.

Balanced result

Generated teams

Ready
Members 0
Teams 0
Team size

Your balanced teams will appear here after the draw.

Private local export

Export the generated teams

Files are generated in your browser from the latest draw.

Quick answer

How can I split a list into random balanced teams?

Enter one name per line, choose the number of teams, and select Generate teams. The tool shuffles names with Fisher–Yates using values from Web Crypto, then deals names across the teams in turn so the largest and smallest teams differ by no more than one member.

How to use this tool

  1. Enter one name per line, or select Paste to read names from the clipboard after you grant permission.
  2. Choose from 2 teams up to the number of members, with a maximum of 20 teams.
  3. Generate teams, review the result, then copy or export it to Print, Excel, PDF, or TXT.

How the calculation works

The tool trims whitespace, detects duplicate names, and accepts 2–200 members. It applies a Fisher–Yates shuffle with crypto.getRandomValues and rejection sampling to reduce modulo bias, then deals the shuffled names round-robin into teams 1 through N. Randomization stays on the device and neither names nor results are stored.

Examples

Example Input Expected result
Split 8 people into 2 teams
Alex, Ben, Cara, Dana, Eli, Fran, Gio, Hope; 2 teams
Two teams of 4; membership order changes with each random draw
Split 10 people into 3 teams
10 unique names; 3 teams
Team sizes of 4, 3, and 3; membership depends on the random draw
One team per member
5 names; 5 teams
Each team contains one member

Limitations

  • The tool accepts 2–200 unique names and 2–20 teams; the team count cannot exceed the number of members.
  • Names that match after trimming and case folding are rejected. Add an initial or number to distinguish people with the same display name.
  • Each draw has no reproducible seed and is not a third-party audited lottery record.
  • The tool does not assess skill, gender, age, preferences, or relationships between members.

Frequently asked questions

Will every team have the same number of people?

All teams are equal when the member count divides evenly. Otherwise, the largest and smallest team differ by no more than one person.

How are the teams randomized?

The tool uses a Fisher–Yates shuffle with crypto.getRandomValues and rejection sampling in the browser to reduce bias when mapping random values into a required range.

Does the website store names or generated teams?

No. Names, settings, randomization, and file generation stay in the browser and are not sent to the server or written to local storage.

Can I balance skill levels or keep certain members apart?

This version gives names equal random treatment and balances team sizes only. It does not support weights, skill levels, or constraints between members.

References

  1. Legacy THcount — Random Team Generator Verified 2026-07-31
  2. W3C — Web Cryptography Level 2: getRandomValues Verified 2026-07-31

Content and calculation method last reviewed: