Secret Santa Generator
| Group size | What works |
|---|---|
| 3 people | One circle - but everyone pairs with everyone, so no exclusion can work |
| 4-5 people | 1-2 exclusion pairs are safe; more may have no solution |
| 6+ people | Several exclusions fine - couples, roommates, rivals all avoidable |
Every Secret Santa draw starts the same way: someone shakes a hat, someone peeks, and someone's cousin ends up buying for their own spouse. This generator replaces the hat with a seeded shuffle - paste the names one per line, list any pairs who should not draw each other (couples, roommates, the two rivals in accounting), and the whole assignment appears at once, giver to receiver, so nobody has to remember who they picked.
Bottom line: the draw is deterministic - the same name list with the same exclusions always produces the same assignment, because the random seed is derived from the list itself. Want a different draw? Press Re-roll, which bumps the seed and reshuffles; the result stays reproducible from that seed alone.
The honest part: nothing leaves your browser. There is no server, no email collection, no 'enter your phone number to receive your assignment' - the classic ads of online Secret Santa sites. Names pasted here are processed in the page and stored (if at all) only in this browser's local storage. With 3 people everyone necessarily draws with everyone else, so exclusions need at least 4 participants to work.
How to use
- Paste the participant names into the big box - one per line, first names are enough.
- List exclusions in the small box, one pair per line like 'Alice | Ben' - each pair means neither person draws the other.
- Press Draw names for the full assignment list, or Re-roll for a different but equally fair draw; share the page or read the names out loud.
Frequently asked questions
How does the name drawing work?
The list is shuffled with a seeded random number generator (a 32-bit hash of your names and exclusions seeds a mulberry32 shuffle - the same construction used in game code). The shuffled list forms a circle where each person gives a gift to the next, which guarantees nobody draws themselves. If an assignment breaks one of your exclusion pairs, the circle is repaired by swapping positions until every pair is honored, with reshuffles as backup. The seed means the exact draw can be reproduced - useful when someone claims the draw was rigged.
Can two people draw each other?
In this draw, no - everyone is arranged in one circle and gives to the next person along it, and a circle of three or more people never contains a two-person loop. So mutual pairs like both spouses buying for each other cannot happen by construction. If your group's tradition wants mutual draws allowed, drawing twice from a Re-roll will not create one either - that is the trade for the cleanest audit trail.
Why can't exclusions work with only 3 people?
With three people, every person necessarily gives to one of the other two and receives from the other - so each person is paired with both others no matter how you arrange the circle. An exclusion like 'Alice not Ben' is unresolvable with 3 participants; you need at least 4, where Alice can sit in the circle with her two pairings being the two non-Ben people. This is not a limitation of the algorithm - it is arithmetic, and any honest draw tool will tell you the same.
What if someone drops out after the draw?
Re-draw rather than improvise: add or remove the name, press Re-roll for a fresh seed, and announce the new assignments. A hand-off ('you buy for who they would have') quietly creates a two-person loop exactly half the time, which is the one structure Secret Santa draws exist to avoid. The budget side - what each person spends - is a separate question, and the Secret Santa calculator handles the pool math.