Secret Santa Generator
EverydayRandomly assign Secret Santa gift pairs from a list of names. No sign-up, no app — paste your names and get instant, fair assignments in seconds.
Reviewed by the thecalcu.com team · Last updated July 8, 2026
What is a Secret Santa?
A Secret Santa Generator automates the name-drawing step of a gift exchange, the moment when names go into a hat, get shuffled, and each participant pulls out the name of the person they will buy a gift for. The generator replaces the hat entirely: paste in the list of participant names, click Generate, and receive a complete, randomised set of assignments instantly.
The tool enforces two rules that a physical hat draw sometimes fails: every person gives exactly one gift, every person receives exactly one gift, and no one draws their own name. This last condition, called a derangement, is easy to forget when shuffling manually, especially in small groups. The generator guarantees it on every run.
Secret Santa exchanges are common in Indian workplaces during the office Christmas party or year-end celebration, in college hostel groups, in extended families during Diwali or Christmas gatherings, and in online friend groups that want to exchange gifts across cities. The generator works for any of these contexts, the names can be in any language or script as long as they appear one per line.
Once you have the assignments, share each person's line privately, via WhatsApp message, email, or a quick DM, so the draw stays secret. The organiser sees the full list while distributing it, but each participant only needs to know their own assignment.
For groups that want a fully blind draw where even the organiser does not know the pairings, each participant can open the tool, paste the same full list, and note only their own assignment. Since the draw is random each time, this only works if you agree on a single canonical draw in advance. The simplest approach remains the organiser distributing assignments individually.
Use the Team Generator if you need to split your group into balanced teams rather than one-to-one pairs. Use the Random Name Generator if you need a list of placeholder names to test the draw format before committing to real participant names.
Why Use a Secret Santa Generator?
The traditional hat-and-paper draw has two failure modes: someone accidentally draws their own name and has to redraw (which subtly biases the remaining draw), or someone peeks at another participant's paper while shuffling. A digital generator eliminates both problems by running the full derangement check silently and never displaying any assignment except to the person looking at the screen.
For distributed groups, office teams on hybrid work schedules, friend groups across different cities, a physical draw is not possible at all. The generator lets the organiser run the draw remotely and share individual assignments over message.
Running the draw digitally also solves the logistics problem: with 20+ participants, a physical draw requires everyone to be present at the same time, someone to manage the hat and the redraw, and a way to handle last-minute dropouts. The generator handles any number of names, produces results in under a second, and can be rerun immediately if a participant drops out and the list needs to be updated.
Who Should Use This Generator?
Office party organisers, HR coordinators and team leads running a year-end gift exchange can generate assignments for any team size and share them via email or messaging apps without requiring everyone to gather in person.
Family group admins, the family member who organises the annual gift exchange (often during Diwali, Christmas, or a large family reunion) can use this to replace the usual hat draw and share each cousin's assignment directly on WhatsApp.
College hostel and friend groups, student groups celebrating the end of semester or a festival who want a fair draw without someone rigging who gives to whom.
Online communities, Discord servers, Reddit exchanges, and social media communities running a gift-by-post exchange between members who have never met in person. Use the Random Number Generator alongside this if you also need to assign gift budget amounts or draw order positions.
Event planners, anyone setting up a group activity where random one-to-one pairing is needed, whether for a gift exchange, a pen-pal assignment, or a mentorship pairing.
What Insights Does the Secret Santa Generator Give You?
The output is a complete list of gift-giving pairs, every participant appears exactly once as a giver and exactly once as a recipient. The format is Giver → Recipient for each line, making it easy to scan the full draw or copy individual lines to share.
Each run of the generator produces a different valid draw, so re-running gives a fresh set of assignments while maintaining the same fairness guarantees. There is no way to predict the output in advance, the randomisation is genuine, not pseudorandom.
For the organiser, the full list makes it easy to verify that no one appears twice as a giver, no one appears twice as a recipient, and no one is assigned to themselves, all properties that the generator enforces automatically.
How to use this Secret Santa calculator
- Enter participant names, type or paste one name per line into the Participants field. Names can include full names, nicknames, or any identifier the group uses, the tool treats each line as one participant.
- Remove any blank lines, the generator skips blank lines automatically, but cleaning up the list avoids confusion in the output.
- Click Generate, the tool shuffles the list and produces a deranged pairing instantly. The result appears as a list of
Giver → Recipientassignments. - Copy individual assignments, use the copy button next to each line or select and copy the text. Send each participant only their own line.
- Re-run if needed, if a participant drops out or is added at the last minute, update the names list and click Generate again to produce a fresh draw for the updated group.
- Distribute privately, share each person's assignment via a private message so the draw remains secret until the exchange event.
Formula & Methodology
The generator uses a Fisher-Yates (Knuth) shuffle with derangement rejection sampling: 1. Copy the input list into a working array. 2. Shuffle the array in-place: starting from the last element, swap each element with a randomly chosen element at or before its current position. This produces a uniformly random permutation. 3. Check the derangement condition: if any indexihasshuffled[i] === original[i], the shuffle is invalid (someone drew their own name). 4. If invalid, repeat the shuffle. Repeat until a valid derangement is found, up to 200 attempts. For any group of n ≥ 2 participants, the probability that a random permutation is a valid derangement is approximately1/e ≈ 36.8%. This means the average number of shuffle attempts needed ise ≈ 2.72, so the loop almost always terminates in 1–3 iterations. The 200-attempt limit is a safety ceiling that will never be reached in practice. Example with 4 participants: - Input: Alice, Bob, Charlie, Diana - After shuffle: Bob, Diana, Alice, Charlie - Derangement check: Bob ≠ Alice ✓, Diana ≠ Bob ✓, Alice ≠ Charlie ✓, Charlie ≠ Diana ✓ - Valid, output: Alice → Bob, Bob → Diana, Charlie → Alice, Diana → Charlie
Frequently Asked Questions