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.