Secret Santa generator
Press Draw to see who gives to whom
Everyone gives a present to exactly one person and receives one from exactly one person, and nobody draws their own name. The draw forms a single chain — Ana gives to Ben, Ben gives to Chiara, and so on back round to Ana.
How to draw Secret Santa names
The single chain is deliberate and is what separates this from a plain shuffle. A naive draw can produce mutual pairs — Ana and Ben buy for each other — which is technically valid but ruins the game, because each of them immediately knows who has them. Sattolo’s algorithm produces a single cycle instead, so no pair is mutual and knowing your own recipient tells you nothing about who has you. The honest limitation is the obvious one: whoever runs the draw sees every assignment. If that matters, have someone outside the group run it.
Questions
No. The algorithm makes it structurally impossible rather than redrawing until it happens not to.