Team generator

Paste the names, deal them into fair teams, or spin the wheel and let it choose. Same seed, same names, same split. Argue with the seed, not with us.

0 NAMES
Kept in this browser. Never sent.

Deal them

Paste a few names on the left and press Generate. The names fall into their teams one at a time.

Make
Team names and rules

0 NAMES 3 TEAMS

What the seed does

A random split is only random once. The seed is the number the shuffle starts from: give the page the same seed and the same names, in the same order, and you get the same teams every time. That is how the share link works, and it is how you prove to the losing side that the draw was fair. Leave the seed blank and the page picks a fresh one from the browser's real random source, then shows it under the teams so you can keep it.

Keeping people together or apart

Write Ana + Ben to put two people on the same team and Ana - Ben to keep them off it. Names match the way you typed them, ignoring case. The page deals the split, checks every rule, and deals again if one is broken; after a few hundred deals it starts swapping people between teams until the rules hold. If a rule cannot hold at all, say three people kept together in teams of two, it tells you which one and deals the fairest split it can.

The wheel

Every name gets a blade the same size. The wheel spins for about four seconds, slows down the way a real one does, and clicks past each blade on the way to the winner. Remove the winner to spin again among everyone else, or put them all back. With a seed the wheel lands on the same name every time; without one it is real randomness, the kind your browser uses for passwords.

Keyboard
Cmd or Ctrl + Enter in the names
Generate
R
Reshuffle
Space on the wheel
Spin
Left and right on the tabs
Switch
This browser

The names, the settings and the rules are kept in this browser so they are here next time. A share link carries them in its address; open one and it replaces what was here.

Fair by construction

Teams differ by at most one person. The shuffle is a Fisher-Yates over a mulberry32 stream when seeded and crypto.getRandomValues when not.

What stays here

Everything on this page is plain JavaScript in your browser. There is no server doing the shuffle, so there is no list of names anywhere but here. The names are kept in this browser's storage and nowhere else; a shared link carries them in its address and nothing more. The only thing this page records is that a button was pressed, and how many names were on the page.