Secret Santa Generator — fair draw with exclusions

Enter names (one per line), optional 'cannot give to' exclusions, and draw. Reveal codes keep it secret until the day.

Quick answer: Paste names and draw a fair Secret Santa pairing where nobody gets themselves (a proper derangement), with exclusions like couples or last year's pair. Runs locally — names never leave your browser.

How to use

  1. One name per line (add 'no:Name' on the same line to exclude a pairing).

About this tool

A fair draw is a derangement — a permutation with no fixed points — which naive 'pick a random name' gets wrong surprisingly often. This tool builds the pairing with retry-backtracking so exclusions (partners, repeat pairs) are respected, and gives each giver a private reveal code so the organizer doesn't have to DM everyone. Everything happens in your browser; share the results list, not your data.

FAQ

What if no valid pairing exists?
With too many mutual exclusions a perfect draw is impossible — the tool tells you instead of silently breaking a rule.
Can people see who they got?
Reveal happens on your screen; copy each line and send privately, or screenshot per person.