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.
Private and balanced randomization
Enter names and choose the number of teams
Use one name per line. Names never leave your browser.
Balanced result
Generated teams
Your balanced teams will appear here after the 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
- Enter one name per line, or select Paste to read names from the clipboard after you grant permission.
- Choose from 2 teams up to the number of members, with a maximum of 20 teams.
- 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 | |
Two teams of 4; membership order changes with each random draw |
| Split 10 people into 3 teams | |
Team sizes of 4, 3, and 3; membership depends on the random draw |
| One team per member | |
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
- Legacy THcount — Random Team Generator Verified 2026-07-31
- W3C — Web Cryptography Level 2: getRandomValues Verified 2026-07-31
Content and calculation method last reviewed: