Secret Santa Generator
List at least three names and this generator draws a Secret Santa in which nobody is assigned their own name, and any pair you exclude never draws each other. Pass the device to reveal one match at a time, or print fold-and-reveal cards.
Draw fair Secret Santa gift assignments with optional exclusion pairs, then reveal them one at a time by passing the device around — no email, no server.
Processed entirely in your browser — nothing you enter here is ever uploaded.
Result
About this tool
Secret Santa only works if the draw is actually fair and nobody peeks at someone else's assignment early. This generator handles both problems at once: paste in a list of names, optionally mark pairs who should never draw each other — couples, siblings, desk partners — and the tool runs a proper derangement so nobody ever draws their own name and no excluded pair is ever matched.
Everything happens in this browser tab. There is no server, no account and no email step, so an assignment is never sent anywhere it could be intercepted or screenshotted by the wrong person. The whole draw, from the name list to the final matches, lives only in this page's memory for the current session.
Reveal the results by passing the device from person to person: each participant taps their own name, reads who they are buying for, then taps again to hide it before handing the phone or laptop to the next person. Prefer paper? Switch to the print view and hand out fold-and-reveal cards instead — the assignment stays hidden under the fold until each person opens their own card.
Example. Four names with no exclusions produce a derangement in which nobody is assigned to themselves.
Limit. The backtracking search gives up after 200000 steps, so an exclusion set that leaves no derangement is reported as impossible.
Frequently asked questions
Can someone draw their own name?
No. The draw is a derangement: every person is assigned someone else. If the exclusions make a fair draw impossible, the page says so instead of handing out an illegal pairing.
How do I keep a couple from drawing each other?
Add one line in the exclusions box, with the two names separated by &, matching the names in the list. Those two will not be assigned to each other. Other pairs are still drawn normally.
What is the minimum group size?
Three names. With two people the only pairing is that they draw each other, and the generator does not run a draw that small.
How does the reveal stay private?
After the draw, each person taps their own name, reads the match, and taps again to hide it before handing the phone or laptop on. Nothing is emailed. The print view makes a fold card per person so the match stays covered until they open it.
Is the assignment saved on a server?
No. The pairing exists only in this browser tab. Reloading the page clears it, so print the cards or finish the reveal before you leave.