Random Team Generator
Paste your list, pick how to split it, get fair random teams — with a shuffle that's actually fair and names that never leave your browser. Built with classrooms in mind.
Spotted a mistake or have an idea? — errors get fixed and credited publicly.
Last updated: September 9, 2026 · Formulas verified by automated tests that block every release. Editorial review dates are shown in the sources block above.
How do I make random teams from a list of names?
Paste a list of names, choose the number of teams or the desired team size, and generate groups instantly. The shuffle uses a cryptographic randomness source, team sizes stay within one person of each other, and the list stays in your browser — it is not sent to CalcNotebook's servers, stored, or shared.
Number of teams vs team size
The two modes answer different classroom questions. Number of teams fits "I need 6 stations, fill them": 24 students → 6 teams of 4. Team size fits "lab benches take 4": 24 students → 6 teams, but 26 students → 7 teams of 4-4-4-4-4-3-3. We balance the remainder instead of creating one sad understaffed team.
Mixed teams from two groups
Sometimes plain random isn't the assignment — "every team should have both girls and boys" is a classic classroom requirement. The Mix two groups evenly mode does stratified assignment: each group is shuffled separately, then dealt so every team gets its fair share of both — 15 girls and 10 boys into 5 teams means 3 + 2 in every team, no exceptions. And deliberately, the tool never asks what your groups are: A and B can be genders, grade levels, language levels or departments. The meaning stays with you.
When the draw comes out badly — and what honest teachers do
Sooner or later the shuffle puts all four strong students on one team, or separates the two children who cope only when together. Every group leader faces this, and almost nobody talks about it, so here is the honest version: re-rolling until you like the result is not random any more — it is your judgement wearing a costume. That is not always wrong, but it should be admitted rather than hidden.
Three approaches, in order of how well they hold up:
- Constrain first, then shuffle. If the requirement is real — mixed ability, both languages in every group, no two people who must stay apart — express it as two groups and use the mixing mode. The randomness stays genuine inside a rule everyone can see.
- Shuffle once, adjust openly. Generate, then move one or two names in front of the group and say why. A visible correction reads as fairness; a silent re-roll until the "right" answer appears reads as favouritism if anyone notices.
- Re-roll blindly. Fine for a game night, poor for anything with stakes. Repeating a draw until it suits you produces exactly the outcome you would have chosen anyway, minus the honesty of choosing it.
Groups that meet every week
One-off randomness is easy; the recurring version has a quirk that catches people out. Draw teams from the same twenty names every week and pairs will repeat far sooner than intuition expects — the same two people share a team roughly once every few rounds, and someone will notice before you do. If your groups meet regularly and mixing is the point, keep last week's teams on the sheet and split the pairs that repeat by hand after generating. Alternatively, rotate deliberately: shuffle once, then move each team's members one position along each week. It is not random, but it guarantees what random only promises — that eventually everyone works with everyone.
How to divide a class fairly
Random is the fairest method that exists: no accusations of favoritism, no popularity contest, no "why am I always with him". The visible shuffle does the social work for you — "the computer decided" ends arguments that "I decided" starts. When randomness produces a genuinely unworkable combination, click a name to move it quietly to the next team; one manual touch preserves both fairness and peace.
Random is not the same as balanced, though. This tool doesn't know who your strong readers are — and we believe it shouldn't: tools that rank students create exactly the dynamics group work is meant to avoid. If you need skill-balanced teams, randomize first, then apply your professional judgment with a couple of clicks.
Made for classrooms — and their privacy rules
Student rosters are sensitive data. This generator was built so there's nothing to review: names are processed entirely in your browser, never transmitted, never stored, never placed in a shareable URL, and masked from analytics recordings. It alsoembeds on a class page with the same guarantees — see the wholeteacher's toolkit.
Methodology, privacy and limitations
- Formula: Fisher–Yates shuffle seeded by crypto.getRandomValues (rejection sampling — no modulo bias), then sequential deal into groups; sizes differ by at most one
- Assumptions: Every valid line is one participant; duplicates are kept but flagged. Random captains are chosen uniformly within each team. In mix mode each group is shuffled and dealt separately (stratified assignment): per-group and total team sizes both stay within one.
- Not included: Skill ratings, compatibility scoring or any ranking of participants — deliberately. Random assignment does not guarantee pedagogically balanced teams; that judgment stays with the teacher. Names are never stored or transmitted.
- Last reviewed: July 23, 2026 by the CalcNotebook team
Frequently asked questions
The random teams came out unbalanced — should I just generate again?
You can, but be honest about what it means: re-rolling until you like the result is your judgement, not randomness. If the balance requirement is real, express it instead — use the two-group mixing mode so every team gets a fair share of each group, and the shuffle stays genuine inside a visible rule. If you only need one fix, generate once and move a name in front of the group, saying why. A visible adjustment reads as fair; repeated silent re-rolls do not.
How do I stop the same people ending up together every week?
Plain randomness will not do it for you — with twenty names, the same pair shares a team every few rounds, and students notice. Keep last week's teams visible and manually split any repeat pairs after generating. If mixing everyone is the actual goal, rotate deliberately instead: shuffle once, then shift each team's members one position along each session. That guarantees full mixing, which randomness only promises.
What happens when the names do not divide evenly?
Sizes stay within one person of each other rather than leaving one small leftover group: 26 people into teams of four becomes 4-4-4-4-4-3-3, not five fours and a pair. For activities where an uneven team is genuinely a problem — a tournament, paired exercises — decide in advance whether you will add a floating helper or run one team short, because doing it afterwards looks arbitrary.
Is it safe to paste a class list here?
Yes, and deliberately so. The names stay in your browser — nothing is uploaded, stored or logged, there is no account, and we never ask what your two groups represent. That last part is on purpose: whether A and B mean languages, ability levels, departments or anything else stays with you. For schools this matters beyond preference, since pupil data is regulated differently in every country — the simplest compliance answer is a tool that never receives the data at all.
How do I split students into random groups?
Paste the names (one per line), choose either the number of teams or the people per team, and hit Generate. Names shuffle with a cryptographic algorithm and deal into groups whose sizes differ by one at most. Click any name to nudge it into the next team.
What happens to the names I enter?
Nothing — they never leave your browser. The list is not sent to our servers, not stored, not put in the URL, and not visible to analytics (input areas are masked in session recordings). Closing the tab erases everything.
What if the class doesn't divide evenly?
We balance instead of dumping the remainder: 10 names into teams of 4 gives 4–3–3, not 4–4–2. The header always states the actual sizes, and they never differ by more than one person.
Can I make mixed teams — for example, an even split of girls and boys?
Yes: tick "Mix two groups evenly", paste each group into its own list, and every team receives a fair share of both — within one person per group. It works for any two groups: girls/boys, seniors/juniors, native speakers/learners. Group labels exist only in your head; the tool never asks what the groups mean.
Can I pick team captains?
Yes — tick "Pick a random captain per team" and each team gets a ★ next to one randomly chosen member. Pre-selecting captains yourself and balancing teams around them is coming in a future version.