100% on-device · nothing uploaded
Random picker — a wheel, dice, and a draw you can check
One list, nine ways to draw from it. The wheel decides with the same random source as everything else here, so what the animation shows is the result rather than the cause — and every draw is written to a log you can copy, which is the part that matters when someone asks whether the raffle was fair.
How to use it
- Type or paste your list, one entry per line. Add “*3” to the end of a line to give it three times the chance — no need to paste the same name three times.
- Pick a mode along the top. Wheel, Draw, Teams and Order use your list; Dice, Coin and Number do not need one.
- Leave “don’t draw the same one twice” on when you are picking several winners. Drawn entries move to a tray below and stay out until you put them back.
- Save a list under a name to reuse it. It is stored in this browser only — there is no account and nothing is uploaded.
The wheel decides before it spins
It would be easier to spin the wheel with a random amount of force and read whichever sector ends up under the pointer. Almost nothing that looks like a wheel does it that way, and for good reason: the outcome would then depend on the easing curve, the frame rate of your device and the angle the wheel happened to be resting at. A slow phone and a fast laptop would not be drawing from the same distribution.
So the winner is drawn first, using the same random source every other mode here uses, and the animation is then aimed at that sector. The spin is presentation. If you turn on reduced motion in your operating system, the wheel skips the animation entirely and shows the result, and the result is neither more nor less random for it.
Why “pick a number from 1 to 6” is harder than it looks
The obvious way to choose one of six things is to take a random 32-bit number and divide by six, keeping the remainder. That is subtly unfair. Four billion does not divide evenly by six, so the first few values win one extra time each, and the low options come up slightly more often than the high ones. On six sides the effect is about one part in seven hundred million and you would never see it. On a two-hundred-name raffle drawn all afternoon, it is a real thumb on the scale.
This page throws away the ragged tail of the range and draws again instead, which costs nothing and removes the bias completely. It is the sort of detail that never shows up in a screenshot, so it is worth saying plainly: the numbers here are drawn from your browser’s cryptographic random source, and nothing rounds them into a preference.
Why a gift exchange is drawn as a ring
Assigning names for a gift exchange looks like a shuffle, and it is not. The obvious method — deal the names out and swap whenever somebody draws themselves — is not evenly random, and it can get stuck at the end with one person left holding their own name and nobody to swap with. Worse, it happily produces pairs who drew each other, which is the outcome that flattens the whole surprise.
So the names are shuffled into a ring instead: the first gives to the second, the second to the third, and the last one back to the first. Nobody can draw themselves, because nobody is next to themselves, and two people cannot draw each other unless there are exactly two of you. The keep-apart box handles the other common rule — a couple who already buy for each other — by drawing again until the constraint is satisfied, and telling you plainly if what you asked for is impossible rather than quietly ignoring it.
Drawing without repeats, and a log that survives the argument
The common frustration with a spinner is picking several winners in a row: most wheels put everyone back after each spin, so the same name wins twice and you end up deleting entries by hand between draws. Here, drawn entries move into a tray and are held out of the next draw until you choose to put them back — which is what “draw five winners from two hundred” actually means.
Every result is also written to a log with the time it happened, and the log can be copied as plain text. That is the part people reach for after the fact: a classroom draw, a prize giveaway or a rota is much easier to defend when you can show the order things came out in, rather than asking everyone to take your word for it.
Questions
Is this true randomness, or pseudo-randomness?
Pseudo-random, in the strict sense — but the cryptographic kind, which is a different thing from the everyday kind. Draws come from your browser’s interface to the operating system’s generator, the same source used to produce encryption keys. That is a deterministic algorithm, but it is continuously reseeded from a pool the system fills with physical noise: interrupt timings, disk and network jitter, and a hardware noise circuit inside the processor itself. The output cannot be predicted, or replayed from earlier draws, without breaking the cipher underneath it. What it is emphatically not is JavaScript’s ordinary Math.random, whose internal state can be recovered from a few dozen outputs, after which every following value is predictable — that is what a lot of spinners use. Genuine physical randomness would mean asking a remote service that measures atmospheric or quantum noise, which would mean sending your draw off this device, and that is the one thing this site will not do. For a raffle the difference is unmeasurable; the thing that actually distorts a draw is rounding bias, which is dealt with above.
Why is there no “seed” box?
A seed makes a sequence repeatable, which is exactly right for testing a game and exactly wrong for a prize draw — anyone who knows the seed knows the outcome in advance. If you need a result you can defend later, use the draw log instead: it records what came out and in what order, which is what people actually want to see afterwards.
What dice notation is supported?
The usual tabletop grammar. “1d20” rolls one twenty-sided die, “3d6+2” rolls three six-sided dice and adds two, and “4d6kh3” rolls four and keeps the highest three, which is the standard way to roll ability scores. Advantage and disadvantage are just “2d20kh1” and “2d20kl1” — the same grammar rather than a special button. You can also drop dice with dh and dl.
Can I weight one option more heavily than the others?
Yes — put “*3” at the end of a line and that entry takes three times the space on the wheel and three times the chance in a draw. Weights work in the Wheel and Draw modes. They are applied by scaling to whole numbers before the draw, so a weighted pick is exactly as unbiased as an unweighted one.
Where are my saved lists kept?
In this browser, in local storage on your own device. They are not uploaded, not synced and not tied to an account, which also means they do not follow you to another browser or another computer, and clearing your browsing data will remove them. If a list matters, keep a copy of the text somewhere.
What happens in a bracket when the number of entries is not 2, 4, 8, 16…?
The surplus entries get a bye into the second round, which is what real knockout draws do. The alternative — an uneven first round — leaves later rounds with odd numbers all the way down. Byes are shown at the top of the draw rather than hidden, so you can see exactly who did not have to play first.
How many entries can the wheel handle?
There is no cap. Very long lists stop being readable as a wheel long before anything breaks — past roughly forty entries the sectors are too thin to label, and the labels are hidden rather than overlapped. For a long list the Draw mode is the better tool: it does the same thing and simply tells you the answer.
Updated 2026-08-12. Runs fully in your browser — nothing is uploaded.