Skip to content

Gift Exchange Generator

Add names, draw gift partners, then print cards or copy a message for each person.

Participants

Your data stays in this browser.

Each person gives one gift and receives one. Nobody draws themselves.

3 / 80
Paste several names

2–80 people. Fills empty name rows first. Add a distinguishing label for people with the same name.

Event details & exclusions

Exclusions (optional)

Rules are directional. Nobody draws themselves. Add both directions for a pair who must not exchange.

Save or reopen this project

The organizer can see every assignment. JSON files contain the full draw; give participants only their individual text card or printout.

Optional. Anyone using this browser profile may see saved data. Download a file for a separate backup.

Files are read locally. Opening a valid file replaces this draft. Maximum 1 MB.

Result

Enter 2–80 names, then draw. Your cards will appear here, ready to print or send individually.

How to run a gift exchange

Before you draw

Use this tool for a family, workplace or friends’ exchange where each person gives one gift and receives one. Agree on a budget, delivery date and any exclusions together. Optional event details appear on individual cards; write the currency with the budget so recipients do not have to guess.

Enter participants and exclusions

The three muted names are runnable examples. Starting to edit any field clears all three example names and the previous draw together. Your added rows and actual entries stay. Clear starts an empty roster. Add names one per line, then edit individual rows. Exclusions apply from a giver to a recipient. Select the reverse-direction option when neither person should draw the other. Self-draws are always excluded.

Draw, then distribute

Draw names when the roster and rules are ready. The Result area immediately shows the cards for the organizer. Print all cards and hand each person their own cut-out card. To send results by message, choose one participant under Cards to include, check their card, and use Copy message. Paste it into your private conversation with that person, or save their text/PDF card and send the file yourself. Participants do not need to use this computer. Editing names, labels, rules or event details clears the draw; old downloads cannot be recalled.

Example 1: two participants

With Alex and Blair and no extra exclusions, Alex must give to Blair and Blair must give to Alex. Excluding Alex from drawing Blair makes the draw impossible. Removing that exclusion restores the only valid assignment. Adding random attempts cannot fix an impossible set of rules.

Example 2: duplicate names

Two participants may both be named Alex. Add a distinguishing label such as Home for one and Work for the other before drawing. Their names become Alex (Home) and Alex (Work) in cards, exclusions and saved files. Matching still uses separate participant identities, so neither person draws themselves. Case or extra spaces do not hide a repeated name; blank or repeated distinguishing labels must be corrected.

Why does a draw fail?

A valid draw must match every giver to a different recipient while using every recipient once. The tool searches the allowed pairings completely. If a group has fewer possible recipients than givers, it names that group and its available recipients. Loosen an exclusion involving those people or add another participant.

Is every possible draw equally likely?

No uniform-distribution claim is made. The tool randomizes the search order and finds a valid complete matching. It does not relax your rules silently. Reciprocal pairs are allowed unless excluded, and everyone may be part of one cycle or several smaller cycles.

Can the organizer know the result?

Yes. This tool shows the organizer all assignments so they can distribute the cards. A saved JSON project also contains the full draw. Give each participant only their own card or message. The tool does not send messages automatically.

How can I keep or restart an exchange?

Save JSON for later editing and restoration on this tool. Optional device storage keeps the draft in this browser profile, where other users of that profile may see it. Clear removes the local draft and result, not already downloaded files. Opening an incompatible file preserves your current draft. A new draw replaces this page’s result but never updates old cards. A new visit or reload starts with examples unless you have chosen to remember a draft. Clear empties the current page and removes the remembered draft; it does not permanently disable examples.

Does this send invitations?

No. There are no accounts, automatic emails or live sharing links. Downloaded cards are static. Distribute each card yourself and tell participants if a replacement draw supersedes an earlier one. Browser printing can save a PDF where the browser supports it; check preview before distribution.