Gift Exchange Draw Generator
A gift draw done by pulling names from a hat has two failure modes: somebody draws themselves, and a couple draw each other and quietly buy their own presents. This does the draw properly — a derangement that honours whatever exclusions you set, optionally arranged as a single chain through everyone — and then re-checks every rule on the finished result rather than trusting how it was made.
What this generator does
Shuffles until it finds a draw where nobody has themselves and no excluded pair is matched. With the single-chain option it builds one cycle through everybody instead, which rules out mutual pairs by construction.
How to use this tool
- Enter everyone's name, one per line.
- Add any pairs who should not draw each other.
- Leave the single-chain option on to avoid mutual pairs.
- Draw, and copy the result — or draw again if you were watching.
Understanding the controls
- Names
- One per line or separated by commas, between 3 and 40 people. They never leave your browser.
- Exclusions
- One pair per line, separated by a comma. Useful for partners and housemates who would rather not draw each other.
- Single chain
- On by default. It means the draw forms one loop through everybody, so no two people are buying only for each other.
- Seed
- Reproduces the same draw. Fine for trying the tool out and a poor idea for a real draw, since anyone with the seed can work out the whole thing.
Common use cases
- Running a Secret Santa where partners should not draw each other
- Arranging an office gift exchange without anyone drawing themselves
- Setting up a book or plant swap with the same rules
- Making a draw that forms one chain rather than a set of pairs
- Producing the actual draw once the feasibility checker says the rules work
How this generator works
A plain shuffle gives a random pairing; the tool keeps shuffling until it finds one where nobody has themselves and no exclusion is broken. The single-chain option instead shuffles the names into an order and has each person buy for the next, wrapping at the end — one cycle through everybody, which cannot contain a mutual pair. Before display the finished draw is re-checked: everyone gives once and receives once, nobody has themselves, every exclusion is honoured, and a single chain is confirmed to visit all the names before returning to the start.
Randomness and fairness
Uses your browser's cryptographic random source by default. A seed switches to a reproducible sequence, which is deterministic and not cryptographically secure — do not use a seed for a draw that is meant to stay secret.
For how randomness is produced across the whole site, see how Generate Random works.
Limitations and good to know
- With many exclusions on a small group there may be no valid draw at all, in which case the tool says so rather than quietly dropping a rule.
- Nobody has to run the draw without looking: the secret santa generator draws the same way and reveals one person's name at a time, so each person sees only their own. What is still not done here is sending the results out — for that you need a service that emails each participant separately.
- Exclusions are symmetric: naming a pair stops the draw in both directions.
- Wish lists, budgets and reminders are outside what a draw does.
Privacy and your data
Names and exclusions stay in your browser. Nothing is uploaded, no draw is stored, and no name is ever included in analytics — only the number of people.
Related generators
- Secret Santa GeneratorDraw fair Secret Santa pairings with exclusions, so nobody draws themselves or an excluded partner.
- Gift Exchange Feasibility CheckerTells you whether your Secret Santa rules can actually work — and which rule to drop when they cannot.
- Social Mixer Rotation GeneratorRounds of pairings where no two people ever meet twice, verified by counting every meeting across every round.
- Christmas Gift Idea GeneratorA category of gift to consider, not a specific product — useful when you're stuck for where to start.