One gift to give, one gift to receive

Secret SantaGenerator

Keep partners apart, avoid self picks, and reveal each gift recipient individually. A local pass-the-device draw for a family, office or group gathering.

Free • Local processing • No account

A mint Christmas tree and wrapped gifts beside six sealed portrait-marked envelopes in a wooden mail rack

Draw names, then reveal one at a time

Complete assignments are checked before any recipient is shown.

Gift exchange participants

One person per line. 2–60 people, 120 characters per name, 10,000 input characters. Duplicate names keep separate IDs. Roster edits clear all exclusions.

UTF-8 TXT up to 40,000 bytes within text limits. Importing clears exclusions and the draw.

Participant ID reference
  • Person 1: Alex
  • Person 2: Blair
  • Person 3: Casey
  • Person 4: Drew
  • Person 5: Emery
  • Person 6: Finley

One ID pair per line, e.g. 1,2. Comma or Chinese comma. Each pair blocks both gift directions. Reverse duplicates ignored. For a household add every internal pair. Up to 10,000 characters.

6
People
—
Assignments
0
Viewed cards

Local pass-the-device reveal. The device owner can inspect all assignments; this is not authenticated private access. No emails or recipient links.

Six people and three excluded couples are ready for a local draw.

Individual recipient reveal

Draw a complete assignment first. All recipients start hidden.

Names, exclusions and the mapping remain in this tab without uploads, URL data or persistent tool storage. No project reimport. Refresh loses the draw; copied or exported records remain outside the page.

A gift assignment has a direction

Each person gives once and receives once, without needing an even group.

Draw a recipient, rather than a public partner list

This Secret Santa generator assigns every listed participant exactly one other person to buy a gift for. Every participant also receives from exactly one giver, so nobody is left without a planned gift and nobody receives two assignments. The giver and recipient are different roles: Alex buying for Blair does not require Blair to buy for Alex. An accepted draw may contain reciprocal exchanges or several separate loops unless a particular pair is excluded. This is a gift allocation, not a White Elephant turn order or a public list of two-person teams.

An office participant privately views a gift symbol on a phone while colleagues chat beside a table of wrapped presents

Keep excluded people apart in both directions

Use a forbidden pair for people who should not draw one another, such as partners who already exchange gifts separately. An exclusion between Alex and Blair blocks both Alex giving to Blair and Blair giving to Alex. It does not prevent them from taking part or remove their need to give and receive once. A household with several people needs every internal pair listed. The tool accepts complete valid assignments only; exclusions are never quietly dropped to finish the draw. Too many restrictions can make an otherwise reasonable group impossible.

Separate household portrait groups beside a gift-routing worksheet, with internal household pairs marked as unavailable

How to draw Secret Santa names

Finish the roster and rules before anyone sees an assignment.

  1. 01

    List the actual people taking part

    Enter one participant per line or import a UTF-8 TXT file. The page supports two to sixty people, names up to one hundred twenty characters and ten thousand characters in the roster. Files may contain up to forty thousand bytes. Blank lines are ignored and duplicate names remain separate numbered participants. Use a surname, team or another suffix when that helps people identify the right entry. Everyone on this list must be able to give and receive one gift; there is no separate giver-only or recipient-only pool.

  2. 02

    Add mutual exclusions by name selection or numeric ID

    Choose two participants and press Add mutual exclusion, or type one ID pair per line, such as 1,2. A comma or Chinese comma is accepted. Duplicate and reversed copies of the same pair count as one rule. Unknown IDs and self-pair rules are rejected. Editing or importing the roster clears all exclusions so a number cannot silently change identity. Review the ID reference after the roster is final. An old one-way assignment entered here becomes a two-way exclusion; there is no separate directional history mode.

  3. 03

    Draw, select the giver and reveal their card

    Generate the draw with everyone looking away from the screen. Choose the giver whose turn it is, then reveal only that person’s recipient. After reading, choose Hide and pass to next person before handing the device over. Changing the selected giver removes the previous card from the page. Leaving the window or hiding the tab also conceals recipient cards and the organizer view. The viewed count records that a reveal was opened, not that a gift was purchased or delivered. People can reopen their own card if needed.

Checked assignments with a careful reveal flow

The local interface limits casual exposure without pretending to authenticate participants.

Exact matching, not repeated guessing until timeout

The algorithm builds allowed giver-to-recipient links and finds a complete bipartite matching with augmenting paths. Giver and candidate orders are randomized using the browser’s secure random source. It either finds a valid complete assignment or proves that the entered restrictions cannot be satisfied. A single person with no options receives an ID-specific message; shared recipient bottlenecks can also make the group impossible even when everyone has an option. The completed mapping is independently checked for one incoming and outgoing gift per person, no self picks and no excluded pair.

Random order is not a uniform-outcome certificate

The matching search can return different valid draws, but it does not uniformly sample every possible legal permutation and it offers no certified or tamper-proof fairness claim. A fresh draw may repeat an earlier result. There is no saved event history, automatic last-year avoidance, mandatory single loop or universal ban on two-person exchanges. If those relationships matter, agree on the actual exclusion pairs before drawing. Once recipients have been revealed, redrawing changes everyone’s event rather than repairing just the inconvenient result.

One card on screen, deliberate organizer access

Recipients are hidden after generation. Only the selected revealed assignment is rendered in the participant card. The complete mapping is shown only after opening the organizer section, acknowledging full disclosure and pressing its show button. Closing that section, switching people or leaving the window hides it again. This is an in-person privacy aid, not a password or permission boundary: someone controlling the device can select another giver or inspect local state. Use a trusted organizer and keep the screen away from observers. There are no recipient links or email messages that could expose the whole mapping.

Examples: three couples and an impossible small group

Check the full assignment, then keep the recipient identities off the shared screen.

  1. 01

    Six people in three excluded couples

    Use Alex, Blair, Casey, Drew, Emery and Finley. Add exclusions 1,2; 3,4; and 5,6 so the three couples cannot draw each other. One valid assignment is Alex to Casey, Casey to Emery, Emery to Blair, Blair to Drew, Drew to Finley and Finley to Alex. Every person gives once and receives once, and none gives to a partner. The tool can generate a different valid mapping. In the normal reveal flow, it does not put that whole example-style mapping on the screen.

  2. 02

    Three people and one excluded pair cannot work

    With Alex, Blair and Casey, exclude Alex and Blair. Alex can only give to Casey, and Blair can also only give to Casey. Both have a possible recipient, but Casey cannot receive two gifts while everyone must receive exactly one. A full assignment is impossible. Repeating random shuffles cannot solve that bottleneck. Add participants or revise the rule with the group’s agreement. Odd numbers alone are not a problem: three people without exclusions can form a valid directed gift cycle.

Keep the surprise useful, and keep records deliberately

The assignment is one part of organizing the exchange.

  1. 01

    Agree on spending, timing and acceptable gifts separately

    Tell participants the budget and currency, the exchange date, delivery arrangements and any group expectations before revealing recipients. This page does not collect wish lists, addresses or purchases, and it does not send reminders. Check that everyone listed has agreed to participate. With two people the exchange is forced, and in a three-person cycle someone can infer the remaining assignments from their own result. Larger groups with restrictive exclusions may also be predictable. A hidden card does not promise that every identity remains logically unknowable.

  2. 02

    Choose an individual record or a disclosed organizer record

    While one card is revealed, Copy this assignment and Print this card contain only that giver and recipient. Full copy, CSV and all-card print appear only in the explicitly disclosed organizer view. CSV has giver and recipient IDs and names with formula-leading text protected for spreadsheets. A normal browser print includes only a currently revealed card; when none is revealed it prints no assignments, even if the organizer list was open. All-card printing requires its specific organizer button. Keep full records away from the group, and fold printed cards before handing them out.

  3. 03

    Understand what hiding and leaving actually do

    Hiding removes the on-page recipient card; it does not erase an earlier clipboard copy, download, printout or photograph. All draw state remains in this tab without persistent tool storage or uploads, and nothing is placed in a page URL. Refreshing loses the draw, while exported organizer records remain wherever you saved them and cannot be reimported here. For ordinary public practice partners, use Random Pair Generator instead. A private gift exchange needs a trusted handling process as well as correct matching.

Secret Santa draw questions

Answers about exclusions, odd groups, privacy and organizer records.

How does the Secret Santa name draw avoid self assignment?

It matches givers to a separate recipient side, excludes each person’s own ID and checks that every giver and recipient appears exactly once. An accepted result is complete, not a partially filled list. Everyone listed gives one gift and receives one, even when the group is odd.

How do I stop couples or household members drawing each other?

Select both people and add a mutual exclusion, or enter their numeric IDs as one comma-separated pair. Both gift directions are blocked. For a larger household list every internal pair. Duplicate reverse rows are ignored; unknown IDs and self-pair rules are rejected instead of silently skipped.

Why can exclusions make a draw impossible?

Several givers may depend on too few available recipients. Three people with one excluded couple cannot form a complete draw because both partners can only give to the third person. The exact matching check reports no solution rather than giving someone two recipients, omitting a person or dropping a rule.

Can an odd number of people join, and what about two people?

Yes. This is a directed gift assignment rather than a split into pairs, so odd groups need no bye. Two people can only buy for one another, and excluding them makes the draw impossible. Three-person cycles also allow identities to be inferred, so small groups do not provide a strong surprise guarantee.

Is the one-at-a-time reveal private from the organizer?

It keeps the full list off the normal participant screen and hides cards when switching giver or leaving the window. It does not authenticate the viewer or prevent the device owner from selecting another person or inspecting local state. The organizer can deliberately open all results. Use a trusted device and handling process.

Can I send emails or private reveal links?

This page sends no emails and creates no recipient links. Use it with people present on a trusted device, or have a trusted organizer communicate individual records separately outside the tool. There is no encoded full mapping hidden inside a supposedly private participant URL.

Can I copy, download or print assignments?

A revealed card can be copied or printed individually. To copy all assignments, download the complete CSV or print every card, explicitly open and acknowledge the organizer view. Normal browser printing includes only a revealed card or no assignments. Clipboard copies, files and printouts remain outside the page after hiding.

Are duplicate names or saved draws supported?

Duplicate names retain separate IDs; add a clear label to distinguish the people. Roster edits or imports clear exclusions and old results, and rule changes also clear the draw. There is no persistent save or project reimport. Refresh loses the tab state, and redrawing replaces the entire assignment rather than preserving revealed recipients.

Secret Santa

One clear recipient, one person at a time

Agree on the roster and exclusion rules first.

Reveal discreetly and keep organizer records deliberately.

  • Free to use
  • No signup
  • Runs in your browser

A simple path to your next activity

  1. List the group

    Every entry gives and receives once.

  2. Keep people apart

    Add mutual exclusions before drawing.

  3. Reveal discreetly

    Hide the card before passing the device.

No self picks, one gift each way, explicit exclusions and local individual reveals.