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.