Secret Santa Generator — Fair Random Gift Exchange Pairings with Click-to-Reveal
Organize your Secret Santa gift exchange in seconds with our free online Secret Santa generator. Enter participant names, click Generate Pairings, and the tool creates a valid derangement — a random assignment where nobody draws their own name. Each pairing is hidden by default and revealed one at a time with a click, simulating the experience of physically drawing names from a hat. Perfect for family gatherings, office holiday parties, friend groups, and any gift exchange event.
How to Use the Secret Santa Generator
- Enter all participant names in the left panel, one per line. You need at least 3 people for a valid assignment.
- Click Generate Pairings. The tool runs a derangement algorithm to ensure no self-assignments.
- Each pairing card shows the giver's name but hides the recipient behind a 🎁 mystery box.
- Have each person click their own card to reveal privately who they are buying for.
- Or click Reveal All to show every pairing at once — useful for in-person group reveals.
- Copy All copies all pairings as text once every assignment is revealed.
When to Use the Secret Santa Generator
- Family Christmas — organize a Secret Santa among family members for the holiday season.
- Office holiday party — set up a staff gift exchange quickly and fairly.
- Friend group gift swap — coordinate a Secret Santa among a friend group or social circle.
- Classroom exchange — teachers use this for classroom gift exchanges with students.
- Online gift exchanges — share pairings digitally for remote teams or long-distance families.
- White elephant parties — use for any gift-exchange event where random assignment is needed.
Key Features
- Derangement algorithm — uses rejection-sampling Fisher-Yates shuffle to guarantee no person draws themselves.
- Click-to-reveal interface — each pairing is hidden by default; participants click to reveal their assignment privately.
- Reveal counter — shows "X of N revealed" so you can track progress through the reveal.
- Reveal All toggle — reveal every pairing simultaneously for group announcements.
- Reshuffle — generate a completely new set of pairings if needed.
- Copy All — copies all revealed pairings as "Name → Name" formatted text.
- Completion banner — a 🎉 "All pairings revealed!" banner appears when the entire group has seen their assignments.
Frequently Asked Questions
How does the tool guarantee no self-assignments?
The generator uses a rejection-sampling approach: it performs a Fisher-Yates shuffle of the participant list and checks whether any person is assigned to themselves. If any self-assignments exist, it reshuffles and checks again, up to 100 times. As a fallback, a direct swap correction is applied. This guarantees a valid derangement every time.
What is the minimum number of participants?
You need at least 3 participants. With only 2 people, a valid derangement would require each person to buy for the other — which is not really a "secret" Santa. Three people allows a true circular assignment (A→B, B→C, C→A or variations thereof).
Is the assignment truly private?
The tool runs entirely in your browser. Assignments are not sent to any server. For truly private reveals, have each person click their own card privately — the 🎁 mystery box is hidden until they choose to reveal it. Alternatively, share the URL and let each person access the page on their own device.
Can I add a budget or wish list?
The current version handles pairings only. For full-featured wish lists and budget tracking, consider sharing a spreadsheet alongside the pairings. A wish list feature may be added in a future update.