Method 1 — Random
Best for casual games where skill differences are small. Fast, neutral, removes favouritism.
Three simple methods — random, skill-balanced, and snake-draft — and the embedded tool to do all three in seconds.
The free version does the job. The optional template pack just makes brackets look beautiful for events, classrooms and clubs.
Free forever for basic use · No signup required
Anyone organising recurring games or events who wants the same fairness method every time so people stop arguing. The guide explains why each method works; the tool runs it.
Best for casual games where skill differences are small. Fast, neutral, removes favouritism.
Sort by rating, deal in a snake pattern (1, 2, 2, 1, 1, 2…). Spreads strong and weak players evenly. The tool does this automatically when ratings are present.
Two captains, alternate picks, but with a twist: don't pick from the same end of the rating list. The generator removes the social drama, but if you must use captains, hide weak/strong info.
When we say a split is fair we mean two specific things. First, team sizes differ by at most one — never by two — regardless of how the headcount divides. Second, in skill-balanced mode the total rating per team stays within roughly one rating point of the average. Those are mathematical guarantees of the algorithm, not marketing language. If you want to verify, generate the same input twice with different seeds: the per-team totals will land in the same narrow band each time. Pure-random mode trades that balance for surprise — useful when the ratings are noisy or the activity is recreational. Read the full algorithm description on the methodology page if you want the snake-draft maths.
Three small habits make the output noticeably better. (1) Strip leading numbers and bullets from your list — paste plain names, one per line, so the parser doesn't treat '1. Alex' as a name. (2) If you have ratings, append them after the name with a space, e.g. 'Alex 4'. The generator accepts integers and decimals from 1 to 10. (3) Decide up-front whether absentees should be excluded or kept as ghosts. Excluding gives tighter teams; keeping them lets you swap names back in later without regenerating. The 'Copy as text' button preserves your line order so you can edit and re-paste.
It can produce streaks (one stronger team). Over a season, random averages out — but for a single high-stakes match, use balanced.
Quick 1–5 from your gut. Update after each session. Within a few weeks, ratings stabilise.
No. The team generator runs entirely in your browser using JavaScript. The names you paste are kept in component memory only and are never transmitted, logged, or persisted unless you explicitly export them. Closing the tab clears the data. See the privacy and methodology pages for the technical detail.
Yes. After generating, click any name to swap it with another, or use drag and drop in the team panel. For one-off groupings (siblings, carpool partners) this is the fastest path. For repeated locks across many regenerations, give the locked group a shared rating that's slightly above average and use balanced mode — they'll cluster together most of the time.
On very small inputs (under ~10 names) there are only a handful of mathematically distinct splits, so repeats are inevitable. The shuffle is cryptographically random — it's just that the space of valid outputs is small. Either add more names or accept the duplicate; either is fine.
Stop one team carrying the whole game. Rate each player 1–5 and we'll split them into teams whose total skill is as even as possible.
OpenDrop in any list of names and we will split it into two even teams in seconds — random, or balanced by skill rating if you prefer.
OpenFor organisers of regular football games who are tired of the same arguments about fair sides.
OpenStop the same striker carrying the same team every Tuesday. Rate your group, generate two balanced fives.
OpenFree forever for basic use. No signup required. The free version really does do the job.
Want prettier prints? See the optional template pack