Draw the names and send each person their match
Type everyone's names, one per line, and choose Draw names. Nobody draws themselves, and with three or more people nobody draws the person who drew them, so two people cannot simply guess each other. To keep couples or housemates apart, put them on one line under Keep apart: "Anna, Ben" means neither draws the other, "Anna > Ben" means only that Anna does not draw Ben, and three or more names on a line keep a whole household apart.
Each person gets a link that opens this page with their match hidden until they choose to see it, together with the budget, the date and your note; with a date, they can add the exchange to their calendar. The draw is kept in the part of the link after #, which browsers do not send to any server. The names in a link are scrambled so they do not show in a chat preview, but this is not encryption: send each person only their own link, and do not open the others yourself.
No phones at hand? Choose Pass this device around: each person in turn sees their match and hides it before passing it on. Print slips makes one slip per person with their match inside a fold. The organiser's link reopens the same draw later, so you can send someone a lost link again without drawing new names.
Worked example
Anna, Ben, Chloe, David, Emma and Finn, with "Anna, Ben" under Keep apart and a budget of $25: Anna might draw Emma and Emma draw Ben, but Anna never draws Ben, Ben never draws Anna, and nobody draws the person who drew them. Anna's link opens on "Anna, your Secret Santa match is ready" and shows Emma and the $25 budget only after she taps.
Before you rely on the result
Two to 200 names, each different and up to 60 characters. Some rules leave no possible draw, such as one person kept apart from everyone else; the page names who is stuck. A link cannot tell whether someone has opened it, and anyone who has a link can see that person's match. Nothing is uploaded or stored.
Cite this page
ToolOctopus. “Secret Santa generator.” Updated . https://tooloctopus.com/secret-santa-generator.
Add an access date if your instructions require one.
Citation formatting uses citeproc-js by Frank Bennett and Citation Style Language styles. License and source code.