Random Team Generator

Global tools

Paste a list of names, choose how to split it, and this page draws the teams. The result is a sheet you can copy or download, with the seed that produced it printed on top: paste that number back into the form and the same teams come back next week, on a different computer.

Anything can go in here - names, pairs, ticket numbers, tasks. A list pasted from a spreadsheet works as it is.

"Number of teams" spreads the remainder as evenly as it goes; "people per team" makes whole teams only and names whoever is left.

Teams, or people per team - whichever the setting beside it says. Whoever cannot be placed is named rather than dropped.

A blind draw treats every ordering of the list alike. The serpentine draft is for a list that is already ranked: it deals down and back up, so the first and last picks land together.

One pair per line, in the shape "Alex, Beth". The draw is retried until the pairs are separated - up to 400 times - and when that fails, the pairs it could not separate are named instead of being quietly ignored.

The same seed gives the same teams on any machine. Leave it blank and each press of "Draw again" draws from the clock; the seed that was used is printed beside the sheet, and pasting it back freezes that exact draw.

Leave it blank and the two files are "team-draw.txt" and "team-draw.csv".

Results update as you type. Nothing leaves your device.

Teams drawn

3

11 names split as 4 + 4 + 3. Seed 4032928743, drawn from the clock when this page ran.

Names in
11
Teams
3 4 + 4 + 3
Largest team
4
Method
Blind draw

Your team sheet

Team draw - 11 people, 3 teams
Seed 4032928743

Team 1 (4)
  Eli Farrow
  Kai Lindgren
  Farah Idris
  Beth Okafor

Team 2 (4)
  Chris Nakamura
  Grace Lindqvist
  Jonah Pryce
  Dana Whitfield

Team 3 (3)
  Ines Duarte
  Hugo Marek
  Alex Rivera

Copy it, or download it. The seed is inside the text on purpose: with the same list and the same settings, that number gives this exact sheet back.

Team by team

TeamPeopleWho
Team 14Eli Farrow, Kai Lindgren, Farah Idris, Beth Okafor
Team 24Chris Nakamura, Grace Lindqvist, Jonah Pryce, Dana Whitfield
Team 33Ines Duarte, Hugo Marek, Alex Rivera

The same names as the sheet above, in a shape that is easier to scan on a phone.

What the numbers do not say

  • The blind draw shuffles the whole list and then hands out blocks of it, so the order your list is written in does not matter - but it does change the sheet, because the shuffle starts from the list as given.
  • A draw cannot be balanced. This page knows the names and nothing else: not skill, not age, not who works well together. If teams have to be balanced, put the strongest and the weakest in the list first and choose the serpentine draft, or use the draw as a starting point and swap by hand.
  • The seed is the promise: the same list, the same settings and the same seed give this exact sheet, here and on any other machine. Leave the seed box empty and each draw comes from the clock instead, and the seed that was used is printed above so it can be pasted back.
  • This sheet came from a clock seed rather than a typed one, which is why the box on the form is still empty: nothing about it can be reproduced until that seed is typed in.
  • The draw is arithmetic, not a lottery machine: a shuffle seeded with 4032928743 gives the same order every time, which is what makes the seed worth printing. It is not cryptographic and it must not be used for anything that has to be unpredictable.
  • 11 names went in and 11 came out in teams, with 0 waiting.
Drawn in this browser tab from the list on the left. The names were never sent anywhere - there is no endpoint behind this page that could accept them - and the same goes for the two files, which are built in the tab when the button is pressed.

Two things are worth saying before the numbers. First, a draw is not a balance - this page knows the names and nothing else, so it cannot tell a strong player from a weak one, and it says so rather than pretending. Second, your list never leaves the tab: the shuffle happens in your browser, there is no server behind this page, and the two downloads are built the moment you click.

About this random team generator

Split a list of names into random teams and this page draws the sheet: choose how many teams you want or how large each should be, and pin chosen people into different teams when it matters. The seed that produced the draw is printed on top, so the same teams come back next week on a different computer.

The draw is one seeded shuffle of the whole list, dealt out in order, which is why the same seed always rebuilds the same sheet and why a result can be re-run rather than re-rolled. It is a fair draw of names only: the page cannot tell a strong player from a weak one, and it says so instead of pretending to balance a group it knows nothing about.

Your list never leaves the tab: the shuffle happens in your browser, there is no server behind the page, and both the copy and the download are built the moment you click. Read it as a quick, repeatable way to divide people you already know, not as an assessment of them.

How this random team generator works

The draw: one seed, one shuffle, one sheet

Your list is read from top to bottom, with tabs treated as separators - and commas too, when there are no line breaks at all - which is what a paste out of a spreadsheet looks like. The names are then shuffled with a seeded generator: the seed is a number, and the shuffle is arithmetic on that number rather than a reading of the clock, so the same seed always produces the same order.

The seed comes from the box on the form when you type one, and from the clock when you leave it empty. That is why the box is never silently filled in: a page that typed a number into it would erase the difference between "this is the draw I chose" and "this is the draw I got". The number the sheet actually used is printed beside it - and when keeping people apart needed more than one attempt, the number printed is the one that worked.

Two ways to deal: blind draw and serpentine draft

The blind draw shuffles the list and then hands out blocks of the shuffled order: with eleven names and three teams, the first four shuffled names go to Team 1, the next four to Team 2 and the last three to Team 3. Every ordering of your list is equally likely to have produced the sheet, which is what "random" usually means.

The serpentine draft deals down the teams and then back up them - Team 1, 2, 3, 3, 2, 1 - so the first pick and the last pick end up together. It exists for one situation: a list you have already put in order, strongest first. Used on an unordered list it is still unbiased, but it spreads the two ends of your list evenly instead of at random, which is exactly what you did not ask for.

Splitting by team count or by team size

"Number of teams" divides the list as evenly as the arithmetic allows and gives the remainder to the first teams: eleven people into four teams is 3, 3, 3, 2. "People per team" makes whole teams only: eleven people at four per team is two teams and three people left over, and those three are named under the sheet rather than padded into a short team nobody asked for.

Asking for more teams than there are people is one team per person for as long as the names last, and asking for more people per team than you have is simply one team.

Keeping two people apart

A line in the "keep these apart" box - Alex, Beth - is a constraint, not a preference. The draw is retried with the next seed until the pair are in different teams, up to four hundred attempts, and the sheet says which draw it took. If no attempt separates them, the page names the pairs that are still together instead of quietly handing over a sheet that ignored the instruction.

Constraints fail for honest reasons: two names, two teams and a pair between them is impossible when the pair are the only two people. A name in the box that is not in the list is reported too, because a typo there would otherwise look like a rule that was obeyed. Two people with the same name are reported rather than guessed at: "keep Alex away from Beth" has no single answer when Alex appears twice.

Worked examples

Each example below was run through the calculator on this page when the site was built, so the numbers match what you see when you enter the same inputs.

Eleven names into three teams

Names, one per line: Alex Rivera Beth Okafor Chris Nakamura Dana Whitfield Eli Farrow Farah Idris Grace Lindqvist Hugo Marek Ines Duarte Jonah Pryce Kai Lindgren · Split by: Number of teams - split as evenly as it goes · How many: 3 · Method: Blind draw - shuffle, then hand out blocks · Keep these apart (optional): — · Seed: science-class

Teams drawn

3

11 names split as 4 + 4 + 3. Seed 702047720, typed on the form.

Names in: 11 · Teams: 3 · Largest team: 4 · Method: Blind draw

Eleven does not divide by three, so the first two teams take four and the third takes three - the way a person writing the sheet by hand would do it. The seed is typed here, so this example is the same sheet on every visit.

Keeping a pair apart, and what the retry costs

Names, one per line: Alex Beth Chris Dana · Split by: Number of teams - split as evenly as it goes · How many: 2 · Method: Blind draw - shuffle, then hand out blocks · Keep these apart (optional): Alex, Beth · Seed: 0

Teams drawn

2

4 names split as 2 + 2. Seed 1 (draw 2 of 400), typed on the form.

Names in: 4 · Teams: 2 · Largest team: 2 · Method: Blind draw

Seed 0 happens to put Alex and Beth in the same team, so the page moves on to seed 1 and prints that one instead. Pasting 1 into the seed box reproduces the same two teams in a single attempt, which is the whole point of printing the seed that was used rather than the one that was typed.

Frequently asked questions

Is the draw really random?

The shuffle is Fisher-Yates over a seeded generator, which gives every ordering of the list the same chance - that is arithmetic you can check, and the page is tested for it. What the page cannot do is know anything about the people in the list, so "random" here means "unbiased", not "well balanced". If balance matters, order the list strongest-first and use the serpentine draft, or use the draw as a starting point and adjust by hand.

Why does the same seed give the same teams?

Because the shuffle is a function of the seed and nothing else - not of the clock, not of the browser, not of the day. That is what lets a sheet be reproduced after a refresh or out of a shared link, and it is why the seed is written into the downloadable file. Leave the box empty and each draw comes from the clock instead, which is the right behavior for "just give me a different set".

Can it keep two people in the same team instead of apart?

Not directly: the constraint this page implements is "must not be together", because that is the request a draw can satisfy by retrying. Keeping a pair together is better done by treating them as one entry in the list - write both names on one line - and then splitting the result by hand if you want them counted separately.

What happens when the numbers do not divide evenly?

With "number of teams" the remainder goes to the first teams, so nobody is dropped and the sizes differ by at most one. With "people per team" only whole teams are made and whoever is left is listed under the sheet, because padding a team just to make the arithmetic look tidy would be a decision this page has no business making for you.

Does the page store my list, or send it anywhere?

No. Everything - the shuffle, the retries, the two files - happens in your browser, and the page makes no network requests at all. Reloading gives you the form with the sample list in it, and the only trace of a draw is what the browser keeps in the address bar, which is the settings rather than a log of your names.

Is the seeded randomness safe for passwords, coupons or lotteries?

No - and it is not meant to be. The shuffle uses a reproducible seeded generator (mulberry32, a deterministic 32-bit pseudo-random number generator), which is exactly why the same seed and the same list always rebuild the same teams. That reproducibility is the feature for arranging groups, but a sequence fully determined by its seed is the opposite of unpredictable. For anything that must be unpredictable - a password, a coupon code, a lottery draw - use the password and UUID tools on this site instead, which draw from `crypto.getRandomValues`.

Assumptions and sources

  • Teams are drawn with a seeded shuffle, so one seed gives one order in every browser.
  • When you ask for certain pairs to be separated, the page tries up to 400 seeds and prints the one that worked.
  • Names are used only as the exact text you typed; nothing is uploaded, stored or analyzed.

Last reviewed 2026-09-16. Runs locally on your device; keep backups; no financial advice applies. Read the full disclaimer.

Where a figure on this page comes from an official agency — HUD, IRS, FICO or a state body — the site keeps a dated snapshot of the source page in its sources library, and a scheduled job re-checks that snapshot, so the number can be traced back to the document it came from.