ZumaTools

Secret Santa Generator

Paste your list of names, add optional exclusions, and draw a fair Secret Santa assignment where nobody gets their own name.

0 names entered

Exclusions (optional) — the first person will never draw the second

Everything runs in your browser — names are never uploaded or stored.

How it works

  1. Type or paste at least three names into the box, one name per line.
  2. Optionally add exclusion pairs so that a specific person can never draw another — for example, couples who already exchange gifts.
  3. Press Generate to draw the assignments, then use the hide toggle to pass the phone around and reveal each match one at a time.

Frequently asked questions

How does the Secret Santa draw work?
The generator builds a random assignment where every person gives exactly one gift and receives exactly one gift, and nobody is matched with themselves. It uses a randomized search that respects your exclusion rules, so every valid arrangement has a chance of being drawn.
What are exclusions and when should I use them?
An exclusion says that one specific person must not draw another — the rule is one-directional, so add two rows if you want it both ways. Typical uses are couples or housemates who already give each other gifts, or repeating last year’s draw in reverse to avoid identical matches.
Why does it say no valid assignment exists?
With enough exclusions, a group can become mathematically impossible to match — for example, if someone is excluded from drawing everyone else on the list. The generator searches all possibilities before giving up, so the message means no arrangement satisfies your rules, not that it was unlucky. Remove an exclusion or add more people and try again.
Are the names or results sent anywhere?
No. The entire draw runs in JavaScript on your own device, and nothing is uploaded, logged, or stored on a server. You can load the page, go offline, and still generate assignments — which also means results disappear when you leave, so copy them first.
How do we keep the matches secret if we share one phone?
Turn on the hide toggle after generating. All receivers are masked, and tapping a row reveals only that one match while hiding any other open row. Each participant taps their own name, memorizes their match, and taps again before handing the phone on.

About this tool

This Secret Santa generator turns a plain list of names into a complete gift-exchange assignment in one click. Every participant is matched with exactly one recipient, nobody ever draws their own name, and optional exclusion rules let you block specific pairings — the classic case being partners who already buy each other presents. The result is what mathematicians call a constrained derangement: a shuffle of the group in which no one stays in place and none of your forbidden matches occur.

Everything happens locally in your browser. The names you type are never transmitted to a server, which matters when the list is your family, your team, or your classroom. Under the hood the tool runs a randomized backtracking search: it shuffles candidate receivers for each giver and explores arrangements until it finds one that satisfies every rule. Because the search is exhaustive, a failure message is a mathematical fact rather than bad luck — it means your exclusions have made the group impossible to match, and loosening one rule will usually fix it.

The hide toggle solves the practical problem of drawing names when the whole group is looking at one screen. With hiding on, every receiver is masked and only one row can be open at a time: each person taps their own name, reads their match privately, and taps again to close it before passing the device. For remote groups, generate with hiding off and message each person their match individually, or copy the full list and keep it as the organizer’s record.

A few tips from repeated use: enter each name only once and add a surname initial if two people share a first name; add exclusions in both directions when a pairing should be blocked mutually; and copy the results somewhere safe before closing the tab, because nothing is stored. Groups as small as three work, though four or more makes the draw feel genuinely secret.

Related tools