Secret Santa Generator
Draw names for a gift exchange — with exclusions for couples, a pass-the-phone reveal and printable slips.
Couples, housemates, last year’s match. Separate the names with -, a comma or &; use the names exactly as listed above.
Details to print on the slips (optional)
The draw happens in this tab. Nothing is sent anywhere, and nobody needs an account.
Pass the phone
Hand the device to each person in turn. They tap their own name, tap Show, remember who they drew, then tap Hide & pass the phone. A ✓ marks who has already looked.
Printable slips
A4, eight slips a page. Cut along the dotted lines and fold each slip on the dashed line so the name you are buying for stays hidden on the inside.
Organiser view
Only if you are organising and not playing: every pair in one table.
| Gives a gift to… | …who is buying for |
|---|
This draw
🔒 Runs entirely in your browser — nothing you type is uploaded or stored on a server.
Type everyone’s name, say who should not draw each other — couples, housemates, last year’s match — and press Draw names. Nobody draws themselves, nobody draws a name you excluded, and unless you untick it, nobody draws the person who drew them.
Also on Txtset: shuffle or sort any list · randomize your own list.
Nobody has to trust the organiser’s eyes. The result opens as a row of names. Pass the phone round: each person taps their own name, taps Show, remembers who they got and taps Hide. A ✓ marks who has looked. If you would rather hand out paper, download printable slips — eight to an A4 page, each one folded so the name you are buying for stays hidden on the inside. Add a budget, a date and a short message and they print on every slip.
Your draw is kept on this device, so you can leave and come back. The names, the pairs and who has already looked are saved in your browser — there is no account and nothing is uploaded — so closing the tab does not lose a draw halfway through handing it out. One button deletes it when the exchange is over.
Why there are no email invitations or share links: sending each person their match would mean this site holding the whole draw on a server. It never leaves your device, which is why the options are passing the phone round and printing slips.
How to use
- Type the names, one per line. You need at least three.
- Under Who should NOT draw each other, add one pair or household per line, such as
Ana - BenorChloe, Dev, Eli. - Press Draw names, then pass the phone round so each person can look, or download the printable slips.
- Come back to the page any time — the draw is still there. Press Delete saved draw when you are done.
Examples
Ana, Ben, Chloe, Dev, EliEveryone draws exactly one other person and is drawn by exactly one.
Ana - BenAna never draws Ben and Ben never draws Ana — for couples and housemates.
Chloe, Dev, EliA household of three: none of them draws anybody else from that line.
The page names the people who are stuck, instead of trying again for ever.
Frequently asked questions
Can the organiser see who got whom?
What if someone forgets who they drew?
Can couples be kept apart?
&. The names must match the list above. If your exclusions leave no valid draw at all, the page says which names are stuck.Is it really random?
crypto.getRandomValues, the browser’s cryptographic random number generator, with rejection sampling so no number is favoured. For up to eight people the page lists every valid draw and picks one at random. For larger groups it shuffles until a shuffle satisfies your rules. Either way, every valid draw is equally likely. If the exclusions are so tight that shuffling cannot land on one in a fraction of a second, the page switches to a search that always returns a valid draw but is not exactly uniform — and says so when it does.