Secret Santa Generator

Add your group, press Draw, and everyone gets a fair, random Secret Santa match. Keep couples and family apart, set a budget, and send each person a private link or pass one device around. No sign-up, no emails, and nothing is stored.

0 people

0 people. You need at least 3.

One group per line, names separated by + . Nobody in a group can draw anyone else in it.

Add a budget, date or note (optional)
How will people see their match?

Your draw

Your Secret Santa draw will appear here.

How to run a Secret Santa draw

  1. List the players. Type or paste one name per line. Use a first name and initial if two people share a name, such as "Sam K" and "Sam L".
  2. Add rules if you need them. To keep couples or relatives from drawing each other, list them as a group, like "Ava + Ben". Tick "Avoid direct swaps" if you do not want two people buying for each other. You can also add a budget, a date and a note.
  3. Choose how matches are shared. Private links lets you send each person their own link. Pass the device lets everyone check their match on one screen. Show everything lists every match, which suits an organizer who is not playing.
  4. Draw. Press Draw names. Nobody can draw themselves, and every rule you set is checked. If the rules make a draw impossible, the tool tells you what to loosen.

How many draws are possible

A Secret Santa draw is a shuffle in which nobody lands on their own name, which mathematicians call a derangement. Here is how many valid draws a group has when there are no other rules.

PeopleValid drawsShare of all shuffles
3233.3%
4937.5%
54436.7%
626536.8%
814,83336.8%
101,334,96136.8%
12176,214,84136.8%

About 36.8% of random shuffles have nobody drawing themselves, however large the group, so the tool rarely has to retry. Each rule you add removes some draws, which is why very strict rules in a small group can leave no valid draw at all.

Worked examples

Four common setups. Press "Load this example" to fill in the form and draw straight away.

An office gift swap

Eight colleagues, a budget and a date, with private links to send out.

8 names / Budget $20 / Private links

A family with couples

Eight relatives where the couples should not draw each other, and nobody swaps with a partner's match.

8 names / 2 couples excluded / No swaps / Pass the device

Friends across different cities

Six friends who will each get a private link by message, plus a note for the group.

6 names / Date 20 December / Private links

A party with one device

Everyone gathers round one phone and taps their own name to check their match.

7 names / Pass the device

Tips for a smooth Secret Santa

Draw early. Give people at least two to three weeks to shop and post gifts, especially if the group is spread across cities.

Set a budget everyone can afford. A fixed limit keeps things fair, and a note about one small gift or a handmade item keeps it light.

Collect wishlists separately. Ask people to send ideas to the organizer or post them in the group chat, so a giver can ask for hints without giving away who they drew.

Plan for dropouts. If someone leaves after the draw, redraw with the updated list and send new links. Patching one match by hand risks leaving someone with no gift giver.

Pick the sharing method to fit the group. Private links suit remote groups, Pass the device suits parties, and Show everything suits an organizer who is not taking part and wants a full record.

How the draw works and what stays private

The group is shuffled with crypto.getRandomValues, the secure source browsers use for encryption, using the Fisher-Yates method. Each shuffle is checked against your rules and thrown away if it fails, so every valid draw is equally likely. If the rules are tight, the tool falls back to a systematic search, and it tells you if no valid draw exists.

Nothing is sent to our server or saved. A private link holds one match, written into the part of the link after the # sign, which browsers never send to a website. The match is hidden from casual view but it is encoded, not encrypted, so anyone who has the link can read it. When someone opens a link, the page removes that part from the address bar straight away.

Secret Santa generator questions

How does the Secret Santa generator draw names?

It shuffles everyone with your browser's secure random source and checks the result against your rules. Nobody can draw themselves, and if a shuffle breaks a rule it is thrown away and the tool tries again until it finds a valid draw.

Can I stop couples or family members drawing each other?

Yes. In "Who should not draw each other" put one group per line, such as "Mum + Dad" or "Alex + Sam + Jo". Nobody in a group is matched with anyone else in the same group, in either direction.

Will I be able to see who everyone drew?

Not if you choose "Private links". The page shows each person a button that copies their own link, so you only see names, not matches. The link hides the match from casual view but it is not encrypted, so pick "Pass the device" if you want the organizer to be certain.

How do people find out who they got?

In Private links mode each person opens their own link and taps Reveal. In Pass the device mode everyone taps their own name on one screen, reads their match and hides it again. The organizer list mode shows every match at once.

What does "avoid direct swaps" do?

It stops two people drawing each other. Without it, Ava can get Ben while Ben gets Ava, which some groups find less fun. With 3 people it changes nothing, because a draw of three is always a circle.

Can I add a budget, a date or a note?

Yes. Anything you type into the budget, date and note boxes is included in every private link, so each person sees it when they reveal their match.

What if someone drops out after the draw?

Remove them from the list and draw again, then send out new links. Old links still show the old match, so ask everyone to use the new one.

How many people can take part?

From 3 to 100. Two people cannot do a Secret Santa draw, because each would simply draw the other.

Is my list stored or sent anywhere?

No. The draw happens in your browser and nothing is uploaded or saved. A private link carries the match inside the link itself, after the # sign, which is never sent to our server.

Go deeper