Quick answer
Paste your list (one name per line), choose a number of groups or a group size and press Make groups. The tool shuffles with crypto.getRandomValues and splits so that group sizes differ by at most one: 10 people in groups of up to 3 become 3-3-2-2. Add a gender or skill column after each name and every group gets a similar mix and a similar skill total.
Key points
- Group sizes never differ by more than one, and nobody is dropped or listed twice.
- Split by number of groups or by people per group, and choose what happens to leftover people.
- A text column (gender, class, position) is spread evenly; a number column (skill 1–5) is balanced by total.
- Random team leaders, one-tap reshuffle, copy, CSV download and a big-text display mode for classrooms.
- Everything runs in your browser; the share link keeps the compressed list after the # so it never reaches our server.
What is a random team generator?
Counting off around the room or drawing names from a hat takes time and still leaves people grumbling: friends sitting together end up on the same team, or all the strong players land on one side. This tool takes the whole list you paste, shuffles it with the browser's secure random generator and splits it evenly, optionally balancing gender or skill as well. Results appear instantly, ready to project in class, paste into a group chat or download for a spreadsheet.

How to make random groups
- 1
Paste the list into the box on the left, one person per line. Pasting straight from Excel or Google Sheets works too: tab-separated columns are kept.
- 2
To balance gender or skill, add columns after the name (for example “Alex Turner, M, 4”). The tool detects text and number columns and shows the counts under the box.
- 3
Choose “Number of groups” or “People per group” (plus what to do with leftovers). The preview line shows how many groups you'll get and their sizes.
- 4
Tick the options you need: remove duplicates, pick leaders, spread a text column evenly, balance a number column. Press “Make groups”.
- 5
Not happy? Press “Shuffle again”. Then copy the result, download a CSV, press “Present” for big text on a projector, or copy the list link to reopen it later.
Splitting by group size: where do leftovers go?
The number of people rarely divides evenly. The “Leftover people” setting decides whether to form an extra, smaller group or add them to existing ones; either way sizes differ by one at most.
| People | Per group | Extra, smaller group | Add to existing groups |
|---|---|---|---|
| 10 | 3 | 4 groups: 3, 3, 2, 2 | 3 groups: 4, 3, 3 |
| 22 | 5 | 5 groups: 5, 5, 4, 4, 4 | 4 groups: 6, 6, 5, 5 |
| 30 | 4 | 8 groups: six of 4, two of 3 | 7 groups: two of 5, five of 4 |
| 37 | 6 | 7 groups: two of 6, five of 5 | 6 groups: one of 7, five of 6 |
| 14 | 7 | 2 teams of 7 | 2 teams of 7 |
Swipe sideways to see the whole table →
An extra group guarantees no group exceeds your size (handy when tables seat four); adding to existing groups guarantees none is smaller (handy when each group needs enough hands).
List formats the tool understands
| You paste | The tool reads |
|---|---|
| Alex Turner | One person, no extra columns. |
| Alex Turner, M | Name plus a text column: turn on “Spread evenly” for a similar gender mix in every group. |
| Alex Turner, M, 4 | Name, text column and number column: balance gender and skill total at the same time. |
| Rows pasted from a spreadsheet (tabs) | Each column as in the sheet; decimals such as 7.5 are read correctly. |
| First line “Name, Gender, Skill” | A header row: not counted as a person, its labels are used in the result and CSV. |
| Alex, Bella, Chloe, Daniel (one line) | Four people separated by commas. |
Examples
A class of 40, eight discussion groups
22 boys and 18 girls. Choose 8 groups and spread the Gender column: every group has exactly 5 students with 2 or 3 boys and 2 or 3 girls, so no single-gender groups. Add leaders so each group has someone to keep things moving.
Five-a-side football with 10 players
Rate everyone 1–5 after their name, choose 2 groups and balance the number column. The two teams of 5 usually end up within one point of each other, and every reshuffle gives new teams that stay even.
Team building for 37, groups of 6
Set “People per group” to 6. With an extra group: 7 groups (two of 6, five of 5). If every group must have at least 6: 6 groups (one of 7, five of 6).
A sign-up sheet with duplicates
A form export of 52 rows has 3 people who submitted twice. Keep “Remove duplicate names” on (case and extra spaces ignored): 49 people remain and the counter says 3 duplicates were removed.
Common mix-ups
- Writing “F”, “f” and “Female” and getting three categories.
- Case and extra spaces are ignored, so “F” and “f” match, but “F” and “Female” don't. Pick one spelling for the whole column.
- The skill column has words like “good” so it can't be balanced as a number.
- A column only counts as numeric when every cell is a number. Convert to a scale (good 3, fair 2, beginner 1), or keep the words and use “Spread evenly” so each group gets every level.
- Groups of 5 were requested but one group has 4.
- If the total doesn't divide evenly, some groups must be smaller. Switch leftovers to “Add them to existing groups” to make every group at least 5.
- A shared list link doesn't open for the recipient.
- Very long links (the tool warns above 2,000 characters) can be cut off by chat apps. For long lists, send the copied result or the CSV instead.
How the split stays random and even
The whole list is first shuffled with the Fisher–Yates algorithm using the browser's crypto.getRandomValues (not Math.random). Every order is equally likely, so nobody can predict or game which group they'll land in.
People are then dealt round-robin into group 1, 2, 3 and back to 1. When spreading a text column, each value is lined up together first (all M, then all F) before dealing, which guarantees each group's count of every value differs by at most one while overall sizes still differ by at most one.
For a number column, higher-rated people are dealt first in snake order (1 → 4, then 4 → 1), and the tool then tries swapping pairs between groups (same gender if that is being balanced) whenever it brings the totals closer. Finally the group order and the order inside each group are shuffled, so group 1 isn't always the one with extra people or the best player.
Display mode for classrooms
“Present” opens the result across the whole window in large type, one colour per group, readable from the back of the room on a projector or TV. On a computer a Full screen button hides the browser chrome too. A “Shuffle again” button sits right there for when the class demands another go; Esc or Close takes you back.
Share links and privacy
Names are processed only in your browser. “Copy list link” compresses the list and settings and puts them after the # in the address; browsers never send that part to the server, so the list doesn't end up in our logs. Anyone with the link can read it, though, so keep sensitive details out. Links over 2,000 characters get a warning, and beyond 16,000 the tool won't make one.
Glossary
- Fisher–Yates
- A shuffle that makes every possible order equally likely.
- crypto.getRandomValues
- The browser's built-in secure random number generator.
- Snake draft
- Dealing 1 → N then N → 1, so the group that got the strongest pick waits longest for the next.
- Stratified split
- Spreading each category (M, F…) evenly so groups differ by at most one per category.
Frequently asked questions
Is the split truly random?
Yes. It uses Fisher–Yates with crypto.getRandomValues, so every split is equally likely and not even the website knows the outcome in advance.
How do I get a mix of boys and girls in each group?
Add a gender column after each name, such as “Chloe Davis, F”, and turn on “Spread evenly”. Each group's count of each gender differs from the others by one at most.
How do I make two fair football teams?
Give each player a 1–5 rating after their name, choose 2 groups and balance the number column. Totals usually land within a point, and reshuffling gives different but still even teams.
How many people can I split?
Up to 1,000 people and 100 groups at a time. Extra lines are dropped and reported under the list.
What happens to duplicate names?
By default duplicates are removed, ignoring case and extra spaces. If two people really share a name, turn the option off or add something like “Sam (A)”.
How are leaders chosen?
At random within each group after the split: exactly one per group, listed first with a Leader tag.
Is my list saved anywhere?
Not on our server. To reuse it, copy the list link or download the CSV; opening the link restores the list and every setting.
Does it work on a phone?
Yes. Paste a list from your notes or a chat, make the groups and copy the result back into the chat; display mode fits small screens too.
How is this different from the team mode in the Random Picker?
The Random Picker splits quickly by number of teams. This tool adds group sizes, gender and skill balancing, leaders, display mode, CSV and list links.
Ratings and comments
Loading…