Random Team Generator
Paste a list of names and split them into fair, balanced random teams. Choose the number of teams or players per team, reshuffle, and copy the results.
- Free, no account
- No watermark
- No usage limit
About the Random Team Generator
Paste your names one per line, pick how many teams you want (or how many players per team), and hit the button. You get fair, balanced random teams in about a second, free, no sign-up, and your list never leaves your browser.
A team picker has one job, and the math is the easy part. The hard part is settling the argument before it even starts. You reach for a randomizer instead of just pointing at people so nobody, not the kid picked last or the competitive uncle, can claim the split was rigged. Which means a generator that only looks random is worse than useless. It hands you a fair-looking result you can't actually defend, and plenty of the quick free ones are exactly that. This one isn't, and that gap is the whole reason it's worth using.
You paste a plain list, one name per line, and it deals everyone into groups two ways. Set the number of teams (four teams out of these eighteen people) or set the players per team (groups of three, and it tells you how many that makes). When the headcount doesn't divide evenly, it spreads the leftovers so you never end up with one bloated team sitting next to a short one. Reshuffle as many times as you like, then copy the whole thing into a chat, a slide, or a group text.
How to use
- Paste your names, one per line, into the box. Blank lines and stray spaces get cleaned up on their own, so a messy copy-paste off a sign-up sheet is fine.
- Choose how to split. Number of teams if you know you want, say, four groups. Players per team if you care about group size instead, teams of five, however many that works out to.
- Set the number with the minus and plus buttons or by typing it. In players-per-team mode it shows you how many teams you'll actually get.
- Press Make teams. Every name gets shuffled and dealt into a group, and you see each team with its members listed underneath.
- Reshuffle for a different split. The button relabels to Reshuffle after the first run, and every press is a fresh, independent shuffle.
- Copy all pulls every team and its members out as clean text, ready to paste into a doc or a group chat.
That's the whole thing. Set it once, reshuffle until it feels right, or agree on a reroll limit up front, which saves a surprising amount of bickering.
Where the free ones quietly cheat
Most quick team generators shuffle the same lazy way. Give every name a random number, then sort the list by that number. It looks random, and it mostly isn't, at least not evenly. Sorting compares names in an order that leans on where they started, and when two of those random keys land close together the result skews toward certain positions. You would never catch it by eye. Run it ten thousand times and count, though, and some people turn up on some teams more often than they should. A well-known browser shipped exactly this bug years ago, and its "random" shuffle visibly favored certain slots until researchers pulled it apart.
For most things that little skew wouldn't matter. For teams it's the one thing you're trying to kill. The entire reason you're randomizing is so no one can claim the deck was stacked, and a shuffle that leans even a hair hands them that accusation for free.
So this tool sorts nothing. It runs a real Fisher-Yates shuffle, the one method that's mathematically proven to make every possible ordering equally likely, and it pulls its random numbers from your browser's built-in cryptographic source (crypto.getRandomValues), with rejection sampling so no rounding bias sneaks back in. It's a bit of overkill for splitting a gym class, but it costs nothing, and it's the difference between a result you hope is fair and one you can actually defend.
Even teams, even when the count is ugly
Groups almost never divide cleanly. Twenty-two people into four teams. Fifteen people into groups of four. What a tool does with that leftover is where a lot of them, and most people counting heads by hand, get sloppy and dump the remainder on one poor team.
This one deals the shuffled names around the teams in a loop, first name to Team 1, next to Team 2, and so on, wrapping back to the start. Because the extra people get handed out one per team until they run out, the biggest and smallest team can never differ by more than a single person. Twenty-two across four teams gives you 6, 6, 5, 5. Fifteen in groups of four gives you 4, 4, 4, 3, four teams, not three full ones plus a lonely trio parked off to the side. That off-by-one guarantee is about as fair as an uneven number gets, nobody's stuck on a team that's badly outnumbered.
Keeping it fair in the room
A fair shuffle is only half of it. The other half is the room actually believing it, and there are two easy ways to blow that.
Run it on the screen. For a classroom or a game night, generate live in front of everyone instead of reading off a printed list you made earlier. They watched the names land, so there's nothing left to argue about.
And set your reroll limit before you press the button, out loud. The fastest way to make a genuinely random split feel rigged is to keep reshuffling until you personally like what came up. Reroll it five times and everyone assumes you're steering it, and honestly, you kind of are. Reshuffling was never the part that made it random, so the extra tries only make you look like you're fishing. One shuffle, one reroll if you need it, then live with it. If someone asks for a single swap, copy the teams into a doc and move one person by hand. One agreed change keeps everyone bought in without pretending the draw wasn't random.
Frequently asked questions
What happens if I ask for more teams than I have names?
It warns you instead of quietly making empty teams. Ask for six teams with only four names pasted and it fills the four it can and tells you the rest would come up empty. No blank groups cluttering the result, no crash, just the teams that actually have people in them.
Can it balance teams by skill instead of pure random?
Not on its own, and that's deliberate, it's a random splitter, not a rating system. If you've got a couple of ringers and you don't want them stacked on one side, the quick workaround is to split your list into two rough tiers in your head, stronger and newer, then paste and shuffle each tier on its own and merge the two results. Each team ends up pulling evenly from both levels while staying random inside its tier.
We got nearly the same teams as last week. Is the shuffle stuck?
Almost certainly not. With a small group there just aren't many ways to divide it. Split six people into two teams and only a handful of arrangements even exist, so a repeat every so often is ordinary luck rather than a broken button. If it bothers your group, jot down the previous teams and reshuffle once if the new split happens to match.
Can I use it for Secret Santa or random pairs?
For plain random pairs, yes, set players per team to two and you get two-person groups, handy for a buddy system or a partner drill. For an actual Secret Santa, know the limit. It makes random pairs but it won't stop someone drawing their own name or check against last year's matches, because it splits teams rather than running a gift exchange. For a casual office swap that is perfectly fine, but if you need strict no-self-draw rules, use a tool built for it.
Are my names uploaded or saved anywhere?
No. The list sits in your browser's memory, the shuffle runs on your own machine, and Copy all just drops the text onto your clipboard. Nothing gets sent to a server, logged, or stored, no account and no history to clear. Close the tab and it's gone, which is also why the tool keeps working if your connection drops after the page has loaded.
How many names can I paste in?
Far more than any real group needs, a full lecture hall, an office offsite, a tournament field. It all runs locally and shuffles instantly, so a long list won't slow anything down. The team count and the players-per-team value both cap at 100, well past anything a normal split calls for.