GenerateRandomSearch

Secret Santa Generator

Enter participants and draw Secret Santa gift pairings. Nobody is ever assigned themselves, and you can exclude specific pairs (like couples) from matching each other.

Need gift tags? View kraft gift tags on Amazon.(affiliate link)

As an Amazon Associate we earn from qualifying purchases.

How to use this tool

  1. Enter participants, one per line.
  2. Optionally add exclusion pairs, one per line, comma-separated.
  3. Draw names, then reveal each person's assignment individually.

Understanding the controls

Participants
One name per line, three or more. Blank lines are skipped.
Exclusions
One pair per line as two names with a comma between them: "Alex, Jordan". A pair counts in both directions. Spell each name exactly as it is in the participants box, capitals included, because a pair naming somebody who is not on the list changes nothing; and keep to two names a line, because a line with one name or with three is passed over without a message.
Reveal
Each row has its own. Revealing one person's recipient hides the last one revealed, so only one pairing is on the screen at a time.

Worked examples

An office exchange of twelve people
Enter all twelve names and draw. Nobody gets themselves, and everybody both gives and receives exactly once.
A family draw with two couples
Add each couple as an excluded pair so partners cannot draw each other in either direction — the usual reason a family draw gets re-run.

Common use cases

  • Organising an office or family gift exchange
  • Running a Secret Santa with couples who shouldn't match
  • Quick, fair gift-draw for any group

How this generator works

The list of participants is shuffled with your browser's Web Crypto random generator to produce a candidate set of pairings, which is then checked: if anyone has drawn themselves, or an excluded pair has matched in either direction, the whole arrangement is thrown away and a fresh shuffle is tried. This repeats up to five hundred times, and drawing again rather than patching up a bad result is what keeps every valid arrangement equally likely — swapping two names to fix a clash would quietly bias the outcome. If five hundred shuffles all fail, which takes exclusions that leave only a handful of valid draws, one is found by matching givers to permitted recipients instead: still valid and still random, but no longer equally likely among the few that exist.

Limitations and good to know

  • Everyone who can see the screen sees every pairing. The tool does not send anyone a private message, so the organiser inevitably knows the whole list — if the draw must be secret from everyone, use a service that emails each participant separately.
  • At least three people are needed. With two, the only valid arrangement is for them to draw each other, which is not a secret exchange.
  • Exclusions can rule out every arrangement — for example a group of three where two may not draw each other. The draw then says that no draw satisfies them, which is established by search rather than by giving up, and you will need to remove a restriction.
  • The pairings are never saved. Once the page is closed they are gone, so record them before you navigate away; only the list of names can be kept, from the save panel on this page.

Privacy and your data

The draw runs in your browser and the pairings are never uploaded or stored. The list of names is stored only if you press Save in the panel on this page, and then only in this browser. Nothing appears in the page address, so a shared link cannot leak who drew whom. The important caveat is not technical but practical: everyone who can see the screen can see every pairing, so reveal names one at a time rather than showing the full list to the group.

This tool does not provide anonymous individual delivery — anyone viewing the results screen can see every pairing, so reveal names one at a time and don't share the full list with the group.

Frequently asked questions

Can I stop someone from drawing their partner?
Yes — add exclusion pairs and the draw will never assign someone to buy for anyone on their exclusion list, while keeping the rest of the draw fair.
Does anyone else see who drew who?
No — the draw runs entirely in your browser and no name or pairing is sent to a server, so only the person running the draw sees the full pairing list unless they choose to share it.