What this tool does
This Secret Santa generator draws names for a gift exchange at work, in a class, with friends or with family. Everyone gives exactly one gift and receives exactly one. Nobody draws themselves, and by default no two people draw each other, so a pair cannot work out the secret by comparing notes.
The organiser's screen never shows who drew whom. Instead every person gets a private link, and only opening that link reveals their match, the wish list of the person they drew, their budget, the exchange date and an optional mission. That way the organiser can take part too and hand out the links without spoiling their own surprise.
On a phone, the Send button opens the share sheet so you can pick WhatsApp, Messages or any chat app; on a computer, Copy puts a ready-to-paste message on the clipboard. Each person is ticked off once their link is sent, so you can see at a glance who is still waiting.
How to use it
- Type or paste the names in step 1, one per line or separated by commas. You can also paste cells straight from a spreadsheet: a second column becomes that person's wish list.
- In step 2, add a group name, a budget, an exchange date and a short message for everyone. Use “Add a pair who won't draw each other” for partners, housemates or last year's pairs, and turn on missions if you want each person to get a small secret task.
- Press “Draw names”. When a draw keeps every rule, step 4 lists everyone with a Copy button (and a Send button on a phone).
- Work down the list, starting with the outlined button, and send each person their own link in a private chat — not the group chat. They open it when nobody is looking and tap “Open the envelope”.
- For a class without phones, “Print slips” prints folded paper slips with each match hidden under the fold.
The result lives in the link, never on our server
Each private link carries one person's match after the # sign, scrambled so it does not show in the link text. Browsers never send the part after # to a website, so opening a link tells this site nothing about who drew whom. The link itself is message text, though: your chat app carries and keeps it like any other message. The draw happens in your browser, and the organiser's list and sent ticks stay in this browser.
Be clear about what the scrambling does: it works like an envelope, not a lock, and anyone with this page's code can undo it. Anyone holding a link can open it, the organiser included. If you are taking part yourself, send other people's links without opening them. If you need the full list — say you are a teacher who is not playing — “Show who drew whom” reveals it after a warning.
Fair, and honest when the rules are too tight
The draw uses your browser's cryptographic random numbers. It shuffles everyone, throws away any draw that breaks a rule and tries again, so every draw that keeps the rules is equally likely and nobody is more likely to get a particular person. Only when the rules are so tight that this rarely succeeds does it switch to a step-by-step search, which is still random but not exactly equal. If your exclusions leave no possible draw, the page says so instead of quietly bending a rule.
Missions and an exchange date suit the many groups that play for a week or two before the big reveal: each person gets one mission at random, and their link shows the date with the number of days left.
Lost links and late changes
Open the page again in the same browser on the device where you made the draw: the links and the sent ticks are still there, so you can resend a lost link or catch up with anyone you missed. Links never expire. If someone drops out or joins, edit the list and press “Draw again” — everyone gets a new match, so send all of the new links and ask people to ignore the old ones.
Your data
Names, wish lists and the draw are handled only in this browser and never sent to our server. Each person's match is stored inside their link after the # sign, which browsers do not send to the website; the chat app you send it through keeps the message, as it keeps any message. The organiser's list, settings and draw stay in this browser's local storage so you can come back and resend links, and “Clear everything in this browser” deletes them at once. Lists under “Saved lists” are deleted there.
Questions and answers
Can the organiser take part without seeing the matches?
Yes. After the draw the page lists names and send buttons only. As long as you do not open other people's links or press “Show who drew whom”, you only learn your own match. A link is like an envelope, though: opening it shows what is inside.
Do I need email addresses?
No. Nobody signs up and no email is sent. Send each link however your group already talks: a private chat message, a text, a DM or a work chat.
Why are mutual pairs blocked?
If the person you drew also drew you, you would both guess quickly. Blocking it is the default; untick the option if you want to allow it.
How many people can take part?
From 3 to 300. With two people each one simply draws the other, so there is no secret to keep.
Can someone see other people's matches from their link?
No. A link only contains its owner's match, so there is nothing else in it to find.
What about a class without phones?
Press “Print slips”: each slip has the giver's name on top and their match below a dashed line. Fold along the line and hand them out. Whoever prints them sees every match, so it is best done by someone who is not playing.