Secret Santa generator
Type the names, keep couples and households apart, then pass one phone around so each person sees only who they are buying for. No emails, no accounts, and the organizer can play too.
Draw names
Pass the phone
Not in the same room? Text each person privately
Print slips to cut apart
Organizer: show all matches
| Person | Buys for | Copy |
|---|
How to draw names on one phone
- Add everyone's name. Paste a whole list from a group chat or add names one at a time.
- Put couples and families who live together into households, and add a can't-draw rule for anyone who had the same person last year.
- Press Draw names, then hand the phone around. Each person taps their name, confirms it is them, reads their match and presses "Hide and pass on". Names that have been seen get a check mark, so you can tell who is still waiting.
If someone forgets who they have, they can tap their name again later. The draw is saved on this phone until you press "Draw again" or "Forget this list", so closing the page by accident does not lose it.
How the draw stays fair
Before drawing, the tool checks that your rules leave a possible answer. If they do not, it tells you exactly who runs out of options, for example "Ann and Bo can only draw from Cy between them", instead of spinning forever.
Then it shuffles the whole group, like shuffling a hat full of names, and checks the result against every rule. If anyone drew themselves or someone they should not, it throws that shuffle away and shuffles again. Because each shuffle is equally likely, every allowed set of matches is equally likely too. Nobody's name is more likely to land with any one person.
With very tight rules, shuffling can fail thousands of times in a row. After 20,000 tries the tool switches to a step-by-step search that is certain to find a valid draw when one exists. That result follows every rule but is not exactly equally likely, and the tool tells you when it happened. The shuffles use your browser's cryptographic random source, with no rounding shortcuts that favor some results.
Rules groups often use
- Couples and households. Buying for your own partner defeats the point, so most families keep them apart.
- No repeats from last year. After a draw, "Avoid these matches next time" saves this year's pairs as hidden rules for the next draw. They stay hidden so nobody is spoiled.
- One big loop. Everyone sits in one chain: Ann buys for Bo, Bo for Cy, and so on back to Ann. No two people swap gifts with each other, and at the exchange you can open presents in chain order.
- Kids buy for kids. Run two separate draws, one for adults and one for children, each with its own list.
Splitting a big group into smaller exchanges first? The team generator divides a list into random groups.
Secret Santa questions
How does a Secret Santa generator work?
You type everyone's name, add any rules (couples, households, last year's matches), and press Draw. The tool gives each person one name to buy for, so everyone gives one gift and gets one gift, and nobody draws themselves.
Can we draw names without emails or sign-ups?
Yes. Nothing here asks for an email address or an account, and nothing you type is sent anywhere. Pass one phone around the room so each person sees only their own match, print slips to hand out, or copy each person's message and text it to them yourself.
How do I stop couples from drawing each other?
Put them in a household. Nobody draws someone from their own household, in either direction. For a one-way rule, such as "Sam had Jo last year, so not again", add a can't-draw rule instead.
What if it says the draw is impossible?
Your rules leave someone with no one to buy for. The message names the people who run out of options. The usual cause is one household holding half the group or more, or several rules stacked on the same person. Remove one rule and draw again.
Can the organizer take part without seeing everyone's match?
Yes. In pass-the-phone mode the full list stays hidden. The organizer taps their own name like everyone else. The full list appears only if someone presses "Show all matches" and confirms.
Is the draw really random?
Each draw shuffles the whole group using your browser's cryptographic random source and keeps the shuffle only if it breaks no rule. That makes every allowed set of matches equally likely. Automated tests count thousands of draws to check it.
Suggest a game or report a problem
Spotted a wrong rule, a bug, or a game we should add? Tell us here. We read every message.