A free Secret Santa generator with exclusions and private reveals
This Secret Santa generator draws names for a gift exchange in one click. List everyone taking part, add any rules — couples who shouldn’t draw each other, family groups, or “Dev shouldn’t get Emma” — set a budget and a date, and press Draw names. Every person gets exactly one person to buy for, nobody gets themselves, and every rule is kept.
Then reveal it privately, without email. Pass one phone round the room and let each person tap their name, check nobody is looking and flip their card; or copy a private link for each person and send it on WhatsApp, Slack or text. It is free, needs no sign-up, and the draw never leaves your device.
How to use the Secret Santa Generator
- Type the names, one per line (add an initial if two people share a name).
- Add rules:
Ben, Chloekeeps a couple apart,A, B, Ckeeps a whole family apart, andDev > Emmastops one direction only. - Set the budget, the exchange date and an optional note, then press Draw names.
- Choose Pass the phone — each person taps their name and presses Reveal — or Private links to send everyone their own link.
- Organising but not playing? The Organiser tab shows all pairs or downloads a CSV.
Secret Santa Generator features
Exclusions that always hold
Couples, families of any size and one-way rules. If no draw can satisfy them, it tells you which person is stuck.
No two-person swaps
Optionally stop A buying for B while B buys for A, so the surprise lasts.
Pass-the-phone reveal
A flip card for each person on one device; the result hides again before the phone moves on.
Private links, no email
One link per person to paste into any chat app. No addresses collected, nothing sent by this page.
Fair randomness
Drawn with your browser’s cryptographic random numbers; every valid arrangement can come up.
Saved on this device
The draw stays on this browser, so you can finish revealing later.
How the Secret Santa draw works
A Secret Santa draw is what mathematicians call a derangement: a shuffle in which nobody ends up with their own name. Rules add more “not allowed” pairs. The generator builds the list of people each person may buy for, starts with whoever has the fewest options, and tries the possible recipients in random order, backing up when it hits a dead end. That search always finds a valid draw when one exists and proves it when one does not.
Some rule sets cannot work. With four people where three are one family, all three would have to buy for the fourth person — so the tool says no draw fits instead of breaking a rule. Three people with no rules always work as a loop: A buys for B, B for C, C for A.
Secret Santa ideas and etiquette
- Set a clear budget everyone is comfortable with — say £15, $25 or ₹1,000 — and keep it the same for all; it appears on every reveal.
- Keep it inclusive. A wishlist or “three things I like” note helps people who don’t know each other well.
- Use tags — the gift tag maker prints “To / From Secret Santa” tags.
- Need to pick teams or a single winner instead? Try the team generator or the random name picker.
Secret Santa Generator FAQ
Is this Secret Santa generator free?
Yes. There are no accounts, no ads in the draw and no limits on names.
Can it send Secret Santa emails?
No — on purpose. This Secret Santa generator collects no email addresses. Copy each person’s link or message and send it however your group talks: email, WhatsApp, Slack or text.
How do I stop couples drawing each other?
Type them on one line in the rules box, separated by a comma: Ben, Chloe. For a family, list everyone on one line.
Can the organiser see who got whom?
Only if they choose to: the Organiser tab hides the pairs until you press Show. With private links, opening someone else’s link would show their match — so send each link without opening it.
Are the private links secure?
They hide the name from a casual glance but are not encrypted, and the draw is not stored online. Treat them like a folded slip of paper: private if people play fair.
What if someone drops out?
Remove their name and draw again, then resend the links — an old draw is replaced when you draw again.