Free online tools to generate, calculate,
convert, format, encode, and play.
 

Secret Santa Generator

Draw names for a gift exchange, keep couples from drawing each other, add a budget note, and share a private reveal link with each person — so nobody sees the whole list. Everything runs in your browser; no names are ever sent to a server.


1. Participants

Enter each participant on a new line. Empty lines and duplicate names are ignored.
0 participants

2. Exclusion Rules (optional)

Add pairs who should never draw each other — e.g. couples, siblings, or people who already exchange gifts. The rule works both ways.

3. Options

Shown to each person on their reveal page.

How It Works

The generator collects your participants and any exclusion rules, then finds a random derangement — an assignment where nobody draws themselves and no excluded pair is matched. Names are shuffled with the Fisher–Yates shuffle seeded by the browser's Crypto.getRandomValues() for unbiased results, and the tool retries until it finds a valid arrangement.

Each person's match is packed into a hash-encoded reveal link. The recipient's name lives in the part of the URL after the #, which browsers never send to any server. Open a link and it decodes locally to show that one assignment — so you, the organizer, can run the draw without ever seeing who got whom.


Features

  • Exclusion Rules: Keep couples, siblings, or roommates from drawing each other
  • Private Reveal Links: Everyone sees only their own match, hash-encoded in the URL
  • Budget Note: Share a spending limit or theme with the whole group
  • No Backend: Fully client-side — nothing is uploaded, stored, or tracked
  • Fair Shuffle: Cryptographically strong randomization
  • Organizer Blindness: Optionally run the draw without seeing the results yourself


Feedback

Help us improve this page by providing feedback, and include your name/email if you want us to reach back. Thank you in advance.


Share with