Secret Santa Generator
Draw the names, keep couples apart, and hand every player a private link that reveals only their own match. No sign-ups, no email addresses, no spoilers for the organiser.
Set up the draw
Private reveal links
Send each person their own link and nothing else. Opening it shows one name — theirs.
The organiser link carries the entire draw, so keep that one to yourself — it is for moving between your own devices, not for the group chat.
How to run your Secret Santa
1. Type the guest list
One name per line. Nicknames work better than formal names here — every participant has to recognise themselves in a single line of text with no other context.
2. Add the rules that matter
Most groups have at least one pair that should not be matched: partners who already buy for each other, siblings in the same house, the two people who swapped last year. Put each pair on its own exclusion line and the draw works around them.
3. Draw, then hand out the links
Hit Draw names. Every participant gets a private link containing only their own match. Copy them one at a time, or grab the whole block and paste it into the group chat — each person opens the line with their name on it and sees nothing else.
4. Keep the budget and the date on the card
Whatever you type in the budget and date boxes travels with every link, so the reveal card answers the two questions people always ask straight after "who did I get?".
Secret Santa FAQs
How do the private reveal links work?
Each person gets their own link, and that one assignment is encoded inside the link itself. Opening it shows a single name — the person they are buying for — and nothing else about the draw. The links are built in your browser, so no email addresses are collected and nothing about the assignment is sent to a server.
Can I stop couples from drawing each other?
Yes. Put one exclusion per line, such as "Alice, Ben". Nobody named on a line can draw anyone else named on that same line, so couples, siblings, or people who already swap gifts stay apart. A line can hold more than two names if a whole household should be kept separate.
What happens if the exclusions make a draw impossible?
The generator shuffles up to 2,000 times, then switches to an exhaustive search. If no valid arrangement exists at all — for example two people who exclude each other are the only participants — it says so plainly instead of spinning forever, and points at the rule that has to give.
Does anyone draw their own name?
Never. The draw is a derangement: every participant gives one gift, receives one gift, and no one is ever matched with themselves. That is checked before any link is generated.
Can the organiser take part in the draw?
Yes. Assignments stay hidden on the organiser's screen unless the spoiler switch is flipped, so you can join your own exchange. Be honest with yourself though: the whole draw lives in the organiser's browser, so anyone determined to peek can. For a completely blind draw, ask someone outside the exchange to run it.
How random is the draw?
Names are shuffled with a Fisher-Yates shuffle driven by crypto.getRandomValues, the browser's cryptographic random number generator, falling back to Math.random on very old browsers. Re-drawing produces a completely fresh set of matches.
Where is my draw stored?
In this browser, so it is still here when you come back. Nothing is uploaded unless you press the organiser link button, which saves the draw behind an unguessable key so you can reopen it on another device — anonymous links last 30 days, or 2 years when you are signed in.