Why this Secret Santa generator?
- Supports exclusions (NG pairs) and optional groups (same household/team).
- Reveal recipients one by one (the full table stays collapsed by default).
- Secure randomness by default via crypto.getRandomValues.
- Copy, download (TXT/CSV/JSON), and share settings-only URLs.
How to use (3 steps)
- Paste participants (one per line).
- Add exclusions / groups if needed.
- Generate, then reveal each giver’s recipient.
Create assignments fast
Secret Santa tool
Paste names, add constraints, and generate a one-to-one assignment.
Formats: Alice,Bob / Alice -> Bob / tab-separated. Mutual is recommended.
Advanced options
Example: Eve+Frank means they won’t be assigned to each other (when “avoid same group” is ON).
Seeded mode is for reproducibility. It is not intended for cryptographic secrecy.
Result
Reveal (recommended)
Select a giver and reveal their recipient. This reduces accidental leaks compared to showing all pairs at once.
All assignments (collapsed)
| Giver | Receiver |
|---|
Reverse view (receiver → giver)
| Receiver | Giver |
|---|
Share / Advanced URL
Advanced URLs can include names/constraints only if you explicitly enable them (privacy warning).
Use this when exclusions and private reveals matter
Secret Santa is the right page when the final result is a valid gift-exchange graph with exclusions, household rules, and one-by-one reveals. If you only need winners from a list or random groups, switch tools before you start building constraints.
Fast workflow
- Paste the participant list once the roster is final and spell names consistently.
- Add exclusion pairs for forbidden matches, then use groups for larger no-match clusters such as households.
- If the solver cannot find a result, relax the most restrictive rule first instead of repeatedly regenerating the same impossible graph.
- Test your reveal flow before sending the final share link to participants.
When to use a different tool
Use Random Picker when you only need winners from a pool. Use Team Generator when the result is groups instead of gift pairs. Stay on Secret Santa when exclusions, households, or private reveal flow are part of the requirement.
FAQ
When should I use Secret Santa?
What is an exclusion (NG pair)?
What are groups?
Why can’t it find a solution?
What is seeded mode?
Are names stored or uploaded?
Before you send the final draw
- Confirm that the privacy settings in the share URL match what you want recipients to see.
- Keep a backup seed or saved setup in case someone loses their reveal link.
- If a participant drops out late, rerun the full draw after updating constraints instead of editing one pair manually.