Random Team Generator
Paste your names, one per line, choose how many teams you want (or how many people per team) and press Split: the list is shuffled fairly and dealt out like cards, so no team is ever more than one person bigger than another. The example splits 10 names into 3 teams of 4 + 3 + 3: Team 1 is Gus, Chloe, Jada, Femi; Team 2 is Elena, Hana, Ava; Team 3 is Dev, Ivan, Ben. Press Reshuffle for a new split, copy the teams as text, or copy a link with a seed that gives the same split again. Your names never leave your browser.
Updated Runs in your browser: nothing you enter is uploadedHow this tool works
Your teams
10 people in 3 teams of 3 or 4.
The names or settings changed: press Split into teams to update.
Team 1
- Gus
- Chloe
- Jada
- Femi
Team 2
- Elena
- Hana
- Ava
Team 3
- Dev
- Ivan
- Ben
The link holds the seed and settings. Anyone opening it needs the same names in the same order, unless you put the names in the link (after the # sign, which is never sent to a server).
Team sizes for common group sizes
| People | 2 teams | 3 teams | 4 teams | 5 teams | 6 teams |
|---|---|---|---|---|---|
| 8 | 4 + 4 | 3 + 3 + 2 | 2 + 2 + 2 + 2 | 2 + 2 + 2 + 1 + 1 | 2 + 2 + 1 + 1 + 1 + 1 |
| 10 | 5 + 5 | 4 + 3 + 3 | 3 + 3 + 2 + 2 | 2 + 2 + 2 + 2 + 2 | 2 + 2 + 2 + 2 + 1 + 1 |
| 12 | 6 + 6 | 4 + 4 + 4 | 3 + 3 + 3 + 3 | 3 + 3 + 2 + 2 + 2 | 2 + 2 + 2 + 2 + 2 + 2 |
| 15 | 8 + 7 | 5 + 5 + 5 | 4 + 4 + 4 + 3 | 3 + 3 + 3 + 3 + 3 | 3 + 3 + 3 + 2 + 2 + 2 |
| 18 | 9 + 9 | 6 + 6 + 6 | 5 + 5 + 4 + 4 | 4 + 4 + 4 + 3 + 3 | 3 + 3 + 3 + 3 + 3 + 3 |
| 20 | 10 + 10 | 7 + 7 + 6 | 5 + 5 + 5 + 5 | 4 + 4 + 4 + 4 + 4 | 4 + 4 + 3 + 3 + 3 + 3 |
| 23 | 12 + 11 | 8 + 8 + 7 | 6 + 6 + 6 + 5 | 5 + 5 + 5 + 4 + 4 | 4 + 4 + 4 + 4 + 4 + 3 |
| 25 | 13 + 12 | 9 + 8 + 8 | 7 + 6 + 6 + 6 | 5 + 5 + 5 + 5 + 5 | 5 + 4 + 4 + 4 + 4 + 4 |
| 30 | 15 + 15 | 10 + 10 + 10 | 8 + 8 + 7 + 7 | 6 + 6 + 6 + 6 + 6 | 5 + 5 + 5 + 5 + 5 + 5 |
What a share link contains
| Part | Example | What it does |
|---|---|---|
| seed | 2f6b1d9a | Eight hexadecimal digits (32 bits) that start the seeded shuffle. |
| by | count | “count” for a number of teams, “size” for people per team. |
| teams | 3 | The number of teams, or the people per team. |
| dedupe | 1 | Only present when “Count repeated names once” is ticked. |
| #names | after the # sign | Optional, and only if you tick “Put the names in the link”. Everything after the # stays in the browser and is not sent to any server. |
How to split a list of names into random teams
- Paste the names. One name per line. A single line separated by commas works too. Blank lines and extra spaces are ignored, and the note under the box tells you what was skipped.
- Choose the split. Pick “Number of teams” and say how many, or “People per team” and say how big. When the people do not divide evenly, team sizes differ by one at most (10 people in 3 teams make 4 + 3 + 3).
- Name the teams (optional). Type your own team names, one per line. Teams without a name are called Team 1, Team 2 and so on.
- Press Split, then Reshuffle if you like. Reshuffle makes a completely new split of the same list. Tick “Make the split shareable” first if you want to send the result.
- Copy or share. Copy the teams as plain text, or copy a link: anyone opening it with the same names in the same order gets the same teams. You can put the names in the link too, after the # sign.
Frequently asked questions
- How does the random team generator split names fairly?
- The list is shuffled with a Fisher–Yates shuffle, in which every possible order is equally likely, and then dealt like cards: the first person to Team 1, the next to Team 2, and so on around. A person’s place in your list gives them no advantage, and each team ends up within one person of the others.
- What if the names do not divide evenly?
- Team sizes then differ by one at most. With 10 names in 3 teams you get 4 + 3 + 3; with 7 in 4 teams, 2 + 2 + 2 + 1. The bigger teams are always the first ones in the list, but who is in them is random. If you choose people per team instead, the tool makes as many teams as needed and evens them out, so 10 people at “4 per team” become 3 teams of 4, 3 and 3 rather than 4, 4 and 2.
- How does the share link give the same split again?
- When “Make the split shareable” is ticked, each split starts from a random 32-bit seed, and the link carries that seed. Opening the link seeds a small pseudorandom number generator (mulberry32) that runs the same Fisher–Yates shuffle, so the same seed, the same names in the same order and the same settings always give the same teams, on any device.
- Are my names in the link?
- Not unless you ask. By default the link holds only the seed and the settings, so the person you send it to must paste the same list in the same order. If you tick “Put the names in the link”, they are added after the # sign, which browsers do not send to servers, so this site never sees them; anyone who gets the link can read them, though, so leave it off for private lists.
- Is a shareable split as random as a normal one?
- Each person is placed fairly, and the seed itself comes from your browser’s cryptographic random number generator. But a 32-bit seed can start only about 4.3 billion different shuffles, while a list of 13 names already has more orders than that, so a shareable split can reach only some of all possible arrangements. For a normal draw, leave the option off: the shuffle then uses crypto.getRandomValues directly and every arrangement is possible.
- Can I keep certain people apart or together?
- Not in this tool: it makes a plain random split. If two people must not share a team, press Reshuffle until they are apart, or place them by hand and split the rest.
- What happens to blank lines and repeated names?
- Blank lines and spaces at the ends of lines are ignored, and a note says how many. A name that appears twice counts as two people (two people can share a name) unless you tick “Count repeated names once”, which ignores case and spacing when comparing.
- How many names can it handle?
- Up to 10,000 names, and any number of teams from 2 up to the number of names (at most 1,000).
- Does it work with names in other languages?
- Yes. Names are treated as Unicode text, and right-to-left names such as Hebrew or Arabic read in the correct direction in the box and in the team lists.
- Is my list saved or sent anywhere?
- No. The shuffle happens in your browser, and the list is never uploaded or stored. If you allow analytics, the site only learns that a button was pressed, never a name or a count.
How it works
Names are read one per line (or split at the commas of a single line), trimmed, with blank lines ignored; with “Count repeated names once” on, a later name equal to an earlier one after Unicode NFC normalization and lower-casing is dropped. The list is shuffled with a Fisher–Yates shuffle (for i from n − 1 down to 1, swap item i with a random item from 0 to i). Each random number is drawn without modulo bias: a 32-bit word from crypto.getRandomValues is discarded if it falls in the incomplete last block of the range, and drawn again, so every value is equally likely. The shuffled list is then dealt round-robin to the teams, so with n people and t teams the first n mod t teams get ⌈n ÷ t⌉ people and the rest ⌊n ÷ t⌋. With “people per team”, the number of teams is ⌈n ÷ size⌉. For a shareable split the words come instead from mulberry32 (Tommy Ettinger’s public-domain 32-bit generator), started from a 32-bit seed that is itself drawn from crypto.getRandomValues; the seed is written as 8 hexadecimal digits in the link. mulberry32 is not cryptographically secure and a 32-bit seed reaches at most 4,294,967,296 shuffles, so it suits sharing a result, not security. A link reproduces a split only for the same names in the same order, the same number of teams and the same version of the tool.
Sources
More free tools
- Random Name PickerPaste a list and pick a random winner, shuffle it or split it into teams. Every entry has the same chance, and your list never leaves your device.
- Random Number GeneratorPick a random number between any two numbers, draw several with or without repeats, flip a coin or roll dice. Fair, unbiased and drawn on your device.
- Remove Duplicate LinesRemove duplicate lines from a list, keep the first or last copy, and sort A to Z, naturally or at random. Works in any language and stays in your browser.
- Percentage CalculatorWork out X% of Y, what percent X is of Y, percentage change, a % increase or decrease, and the original before a discount, with the formula shown.
- Fraction CalculatorAdd, subtract, multiply and divide fractions and mixed numbers like 2 3/8 + 1 5/16, simplify, and convert to decimals, with every step shown.
- Aspect Ratio CalculatorFind the aspect ratio of any width and height (1920×1080 is 16:9), resize to a ratio to solve the missing side, or get a screen’s size from its diagonal.