TOOLTIKI Lovable tool, really free
Random Groups

Secret Santa generator

Press Draw to see who gives to whom

Local · Sattolo cycle — no self-draws, no swaps
Advertisement
320 × 100

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

1 Paste everyone taking part, one name per line.
2 Draw. The list shows each giver and who they buy for.
3 Tell each person their own name privately, or copy the list and paste each line into a separate message.

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.

Sattolo’s algorithm — a cyclic permutation shuffleMDN — Crypto.getRandomValues()
Advertisement
300 × 250
Was this tool any good?
INTERNAL SIGNAL ONLY · WE USE IT TO FIND TOOLS WORTH REBUILDING