Secret Santa Pair Assigner
Random
A Secret Santa draw is a derangement (a permutation with no fixed points) — every participant gives to someone else, and nobody gives to themselves. This tool generates a uniformly random derangement honoring any exclusion pairs you supply (couples, roommates, anyone who shouldn't draw each other). Each assignment is hidden behind a per-person reveal card so the host running the draw can hand the device to each participant one at a time without ever seeing the full mapping. Up to 2,000 random shuffles are tried; if the exclusion graph is over-constrained (e.g. 3 people all excluding each other) the tool reports no solution rather than producing an invalid draw. Everything runs locally — no names or pairings leave the browser.
Notes
A derangement is computed locally in the browser by random trial (up to 2,000 attempts). Privacy: assignments are hidden behind individual reveal buttons so the host can pass the device person-to-person without seeing everyone's match. To run a fully anonymous draw, use the Copy all button only once everyone has revealed their own card.
How to use
- Add 2 or more participants (use Add to add rows).
- Optionally click another participant's chip to exclude them — e.g. spouses or anyone who shouldn't draw each other.
- Press Draw to generate assignments.
- Hand the device to each participant, who clicks Reveal to see only their own recipient, then Hide before passing it on.
- Use a preset for a quick start: Family Christmas, Office Party, Couples Group, Big Holiday Bash.
Frequently asked questions
- What's a 'derangement' and why does this need one?
- A derangement is a permutation where no element ends up in its original position. For Secret Santa that means: nobody draws themselves. If you just shuffle names there's roughly a 1/e ≈ 37% chance at least one person draws themselves. This tool rejects any shuffle with a self-pick, so the output is always a valid derangement.
- How does the exclusion list work?
- Each participant has a list of people they can't draw. Spouses, roommates, or siblings often want to exclude each other so the gift exchange feels less obvious. The algorithm tries up to 2,000 random shuffles and returns the first one that satisfies all exclusions. If no valid assignment exists (e.g. only 3 people who all exclude each other), it reports no solution — you'll need to loosen the constraints.
- Is the draw private if I'm the host running this in one device?
- Yes, if everyone follows the protocol: each person clicks Reveal, looks at only their own recipient card, then clicks Hide before passing the device. The host should not glance at the cards as they pass. For absolute privacy use mailto: per-person emails (a feature on the roadmap) or have everyone draw on their own phone using a shareable seed.
- Could two participants get each other?
- Yes — that's mutual giving (A→B and B→A), which is allowed by default. If you don't want any mutual pairs, add a 2-way exclusion between every pair that's already paired (clicking exclusion both directions blocks the symmetric case for that round).
Related tools
Random Number Generator
Generate cryptographically random numbers in any range — with or without duplicates, optionally sorted.
Group Maker
Split a list of names into balanced random groups — pick the group count or the people per group.
Raffle Draw
Pick N winners from a list of names — cryptographically random, with or without duplicates.
Dice & Coin Roller
Roll polyhedral dice (d4–d100) or flip a coin with cryptographic randomness.
Random Picker — Roulette & Ladder
Pick a winner with a spinning wheel or a ladder (ghost-leg) draw.
Password Generator
Generate strong, random passwords that never leave your browser.