Split any list of names into random teams or groups. Choose the number of teams or the members per team, name the teams, and optionally mark captains. Sizes never differ by more than one person, and names are shuffled with Fisher–Yates so the split is genuinely fair. Names stay in your browser.
Settings
Recent results
Generated locally in your browser — your settings and results never leave this page.
What the team generator does
Paste a list of names and it splits them into random teams. You can set the number of teams or the number of members per team, name the teams yourself, and optionally mark the first member of each as captain. Team sizes are balanced automatically — they never differ by more than one person.
It is designed for the situations where the split needs to be not only fair but visibly fair: PE lessons, group projects, quiz nights, hackathons, five-a-side. Names are processed entirely in your browser.
How the split works
The full list of names is shuffled with Fisher–Yates, then dealt out in order — exactly like dealing cards. Because the shuffle is unbiased, every person is equally likely to land in any team, and no position in your original list is advantaged.
Every draw on this page starts with crypto.getRandomValues, the cryptographically strong random source built into your browser. That is a CSPRNG seeded from operating-system entropy: unpredictable in practice, and the right choice when a result decides something that matters. It is deliberately not described as “true randomness”, which would require a physical entropy source such as atmospheric noise or radioactive decay. Tools that claim true randomness from a browser are overstating what the platform provides.
Why dealing beats drawing
A tempting alternative is to pick a random person for team 1, then a random person for team 2, and so on. That works but makes balancing awkward and invites subtle errors near the end when only a few people remain. Shuffling once and dealing guarantees balance by construction and is a single pass through the list.
What happens when the numbers do not divide evenly
Ten people into three teams cannot be equal. Rather than creating two teams of three and one of four by accident, or leaving someone out, the tool distributes the remainder deliberately: earlier teams get one extra member each until the remainder is used up.
| People | Teams | Resulting sizes |
|---|---|---|
| 10 | 3 | 4, 3, 3 |
| 11 | 4 | 3, 3, 3, 2 |
| 7 | 2 | 4, 3 |
| 12 | 4 | 3, 3, 3, 3 |
The tool tells you on screen when sizes had to differ, so an uneven split is never a surprise that someone notices halfway through the activity.
Teams by size instead of by count
Switch “Split by” to members per team when the group size is what matters — pairs for an exercise, groups of four for a project. The tool works out how many teams that requires and still balances the leftovers, so nine people in groups of four become 3/3/3 rather than 4/4/1. A group of one is almost never what anyone wants.
Worked example
Ten students into three project groups:
Names Alice, Ben, Chloe, Daniel, Emma, Finn, Grace, Hugo, Iris, Jack Teams 3 Team 1 (4) Grace, Ben, Iris, Daniel Team 2 (3) Emma, Jack, Alice Team 3 (3) Chloe, Hugo, Finn
Using it in a classroom
Letting students pick teams reliably produces the same outcome every time: existing friendship groups, and the same people chosen last. A random split avoids that, and being seen to be random matters as much as being random — which is why the shuffle method is described openly on this page rather than hidden.
Two practical notes. First, run the generator once and commit to the result; re-rolling until the teams look “better” quietly reintroduces exactly the bias you were avoiding, and students notice. Second, use seeded mode with a noted seed if you want to reuse the same groups next lesson, or demonstrate afterwards that the split was not re-rolled.
Limitations
The split is fully random, which means it does not balance skill, keep specific people together, or keep specific people apart. That is a deliberate choice: constraint-based splitting stops being random and starts being a scheduling problem, and a tool that quietly optimises is no longer the defensible “everyone had the same chance” mechanism teachers need.
If you need constraints, the practical approach is to generate the teams and then make one or two manual swaps, or to run the generator separately on subgroups you have already chosen. Up to 2,000 names are supported, and duplicate names are removed by default with a note of how many were dropped.
Privacy
Student and participant names are personal data, and this tool treats them that way. They are processed only in your browser, never uploaded, never stored, and deliberately excluded from shareable links — so a link you send a colleague cannot carry your class list. Export or print the result if you need to keep it.
Related tools
The Random Name Picker chooses individuals from the same kind of list. The List Randomizer produces a full running order rather than groups. For deciding what each team does or which goes first, the Random Item Picker and the Wheel Spinner both work from a pasted list.
How to use the Random Team Generator
- Paste your names into the box, one per line.
- Choose whether you are setting the number of teams or the number of members per team.
- Optionally name the teams and mark the first member of each as captain.
- Press Make teams — everyone is shuffled and dealt out evenly.
- Copy, print or export the teams as CSV or JSON.
Frequently asked questions
How does the generator make teams fair?
It shuffles the full list of names with Fisher–Yates using your browser's cryptographic random source, then deals people out in order. Because the shuffle is unbiased, everyone is equally likely to end up in any team, and team sizes never differ by more than one person.
What happens if the names do not divide evenly?
Some teams get one extra member rather than anyone being left out. With 10 people and 3 teams you get sizes of 4, 3 and 3. The tool tells you when sizes had to differ so the split is never a surprise.
Can I set the team size instead of the number of teams?
Yes. Switch "Split by" to "Members per team" and enter the size you want. The tool works out how many teams that needs and still balances the leftovers rather than creating one tiny final team.
Can I keep certain people together or apart?
Not in this version — every split is fully random by design, which is what makes it defensible in a classroom. If you need to keep pairs together, generate the teams and then swap two members manually, or run the generator on subgroups.
Can I name the teams myself?
Yes. Put one team name per line in the optional names box and they are used in order; any teams beyond the names you supply fall back to Team 1, Team 2 and so on. The names appear in the on-screen result and in every export.
Is it suitable for splitting a class into groups?
Yes, and it is built with that in mind: student names are processed only in your browser, are never uploaded, and are deliberately excluded from shareable links so a link cannot leak your class list.
Can I get the same teams again later?
Yes — use Seeded mode with a seed you note down. The same names and seed always produce the same teams, which is useful if you want to reuse a split next lesson or show that it was not re-rolled until it looked favourable.
Set up a lesson
Teams, a seating plan, an order of presentations, and a fair way to pick who answers.
- Random Team Generator you are hereSplit the class into balanced groups.
- Classroom Seating Chart GeneratorLay those groups out across the room.
- Random Presentation Order GeneratorDecide the order groups present in.
- Random Student PickerCall on students without going round the same few.