About This Site
Most team pickers do one thing: shuffle a list. That is genuinely enough for a party game, but it quietly fails the two situations people actually reach for a generator in — a pickup match where a stacked side kills the game, and a gift draw where someone pulls their own name. This site exists to do those two cases properly, and to say plainly which algorithm produces which result.
It is built and maintained by an independent developer who makes small, focused web tools. There is no company behind it, no account system, and no data collection.
The four algorithms, named
- Fisher–Yates shuffle — used by the random split and to break ties before the balanced draft. It is the standard unbiased shuffle: every ordering of the list is equally likely. It runs on your device's built-in random number source, which is not cryptographic-grade, but is far more uniform than counting off 1-2-1-2 around a circle.
- Largest-remainder sizing — when the roster does not divide evenly, the extra people are handed to the first teams one at a time, so team sizes never differ by more than one. 23 people into 6 teams is always 4+4+4+4+4+3, never 8+3+3+3+3+3.
- Snake draft — balanced mode. Everyone is shuffled, then sorted by their 1–5 skill weight, then dealt in the order 1→N, N→1, 1→N… so the team that picks first in one round picks last in the next. The same mechanism fantasy-sports drafts use.
- Sattolo's algorithm — the Secret Santa draw. It is a one-line variant of Fisher–Yates that produces a single cycle through all participants, which mathematically cannot contain a fixed point. That is why "nobody draws themselves" is a guarantee here rather than a retry loop.
All four live in one small, dependency-free source file and are covered by a test suite that checks the invariants directly — that every person is placed exactly once, that sizes stay within one, that the balanced split lands within a point on the published 8-person example, and that 1,000 consecutive derangements contain zero self-draws.
Honesty rules
- Every number on the site is computed, not typed. The comparison tables on the home page and the landing pages are generated at build time by the same functions the tool runs, with a fixed seed. If the code changed, the tables would change with it.
- No invented statistics. You will not find a claim that "teams are 40% fairer". Where a real figure exists — the 63.2% failure rate of a naive Secret Santa shuffle, which is 1 − 1/e — the formula is shown so you can check it.
- Limits stated up front. Balanced mode cannot even out a roster of one 5 and nine 1s, so the tool prints each team's skill total instead of claiming success. The Secret Santa draw has no exclusion rules, and the page says so rather than half-implementing them.
- Weights are a convenience, not an assessment. The algorithm neither knows nor cares whether a 4 means "good at football" or "third year in the team".
Your data
Everything runs in your browser. There is no server that receives names, no database, and no
analytics on what you type. The share link stores the roster after the # in the URL,
which browsers never transmit — but it does mean anyone you send that link to can read the full
list, so share results rather than links when the roster is sensitive. Full detail is on the
privacy page.
Corrections
If a number is wrong, an algorithm is described inaccurately, or a claim overreaches, please say so — corrections get priority over features. Use the contact page.