Secret Santa

Type in the participants and each gets one person to buy a gift for. Nobody draws themselves — the circle is closed.

—

Runs in your browser — the list is not sent anywhere

One circle instead of random pairs

It seems easy: shuffle the list, hand out at random, check that nobody drew themselves. Almost everyone does exactly that — and ends up with a game that sometimes falls apart.

Random assignment can produce two isolated clusters: five people exchanging among themselves and three others separately. Formally fair, nobody drew themselves, but instead of one group you have two disconnected ones.

We build one closed circle: the list is shuffled with the Fisher–Yates algorithm, each person gives to the next and the last gives to the first. Giver and receiver coinciding is impossible by construction rather than merely unlikely, and everyone is in the same chain.

Running it without spoiling the surprise

Whoever presses the button sees the whole circle. That is unavoidable when the result goes on screen. Two fixes: ask someone outside the game to press it, or send each participant only their own line.

Agree on the budget before the draw. An upper limit removes the awkwardness of one person bringing a book and another bringing headphones.

Draw two or three weeks ahead. People need time to choose and buy, and online orders need delivery time.

Collect wish lists in advance. A short list of what someone would like saves everyone from filler gifts.

If there are many participants

For a large group splitting into groups is handier — it also has team and pair modes if you need a different kind of draw.

Questions

Frequently asked questions

Can someone draw themselves?

No. We build one closed circle rather than random pairs: the list is shuffled and each person gives to the next, with the last giving to the first. Giver and receiver coinciding is impossible by construction, not merely unlikely.

Why a circle rather than random pairs?

Random assignment can produce isolated clusters: five people exchanging among themselves and three others separately. Formally fair, but the game splits into two disconnected groups. One circle covers everyone.

How do I run it without learning the result?

Whoever presses the button sees the whole circle. Either ask someone outside the game to press it, or send each participant only their own line without showing the rest.

How many people are needed?

Three or more. With two the game is pointless. There is no upper limit, though above twenty it gets hard to track who already received a gift.

Is anything sent anywhere?

No, everything is computed in your browser. The participant list never reaches a server.

When should the draw happen?

Two or three weeks before the holiday: people need time to choose and buy, and online orders need delivery time. Agree on a budget ceiling before the draw, not after.

Next

Other tools

Copied