Secret Santa Generator
Draw gift-exchange pairs with no one getting themselves.
Running a draw
Enter the names, add optional keep-apart pairs (couples who already exchange gifts), and draw. The result is a proper derangement โ nobody ever draws themselves โ shown as tap-to-reveal rows: pass one phone around, each person taps only their own row, and the secret survives. The organiser can copy the full list as a backup before the page closes.
Why no emails is a feature
Nothing here is sent, stored or accounted: the draw happens in the browser and vanishes when the tab closes. That is deliberate โ email-based Secret Santa sites harvest a group's addresses at Christmas, and the follow-up spam is a tradition nobody wanted. The trade-off is discipline: copy the organiser list somewhere safe, because a closed tab is an unrecoverable draw.
The algorithm is FisherโYates over the cryptographic source, retried until the no-self-draw and exclusion rules hold โ with heavy exclusions in a small group it will tell you honestly when no valid assignment exists. The other classic party draws live nearby: drawing lots, team splitting and the wheel.
Frequently asked questions
How does the draw stop people getting themselves?
It generates a derangement โ an assignment where no name maps to itself โ and re-draws until couple exclusions are satisfied too.
Can I stop couples drawing each other?
Yes: list them as Alice+Ben style pairs and the draw avoids both directions. Too many exclusions in a small group may make a draw impossible, and it will say so.
Does this send emails to participants?
No โ nothing leaves the browser. Reveal assignments by passing one device around, or the organiser copies the list and messages people individually.
What happens if I close the page?
The draw is gone โ nothing is stored. Copy the organiser list first if you need a record.