gizmobench

Spin the Wheel

Paste your options, press Spin, and watch the wheel slow onto a winner that your browser had already chosen before the first frame was drawn. The pick comes from the browser's cryptographic random generator, mapped onto the list so that every entry has exactly the same chance, and the animation is built from that result rather than the other way round. Set aside really removes a winner from the wheel for the spins that follow, the wheel is drawn on a canvas so a long list still turns smoothly, and nothing leaves the page: no upload, no account, and your list is remembered in this browser only.

Spin the wheel

Entries appear on the wheel

Nothing on the wheel yet.

Decided before the wheel movesSet aside really removes an entryNothing leaves your browserNo account, up to 500 entries
Winner
Spin length
Sound

Ready. Press Spin, or the space bar.

Press Space to spin without reaching for the mouse. Entries are separated by line breaks and by commas, so a column pasted from a spreadsheet and a comma list both work. Editing the list rebuilds the wheel and clears the history. Reset puts every entry back without touching the list, and Shuffle changes the order on the wheel without changing anyone's chance.

The spin decides nothing. The winner is drawn from crypto.getRandomValues the moment you press Spin, and the angle the wheel stops at is worked out from that winner's segment before the first frame is drawn. Watching it slow down cannot change who came out. Each entry on the wheel has the same chance: the index is taken by rejection sampling rather than a remainder, so no position in your list is favoured, and the spin length changes how many turns you watch, not the odds. An entry typed twice is two segments, which is how you give someone two chances, and the header over the list counts the repeats so it is never a surprise.
Accuracy. The winner is drawn from the browser's cryptographic random generator before the wheel begins to turn, with every entry given the same chance, and the spin only shows a result that has already been decided. A name typed twice is two entries and has two chances.

Common questions

Is the wheel really random?
Yes. The winner is drawn from crypto.getRandomValues, the browser's own cryptographic generator, and mapped onto your list by rejection sampling rather than by a remainder. A remainder would hand the first few entries one extra chance each, because 2 to the power 32 is not a multiple of most list lengths; draws that land above the last whole multiple are thrown away and redrawn instead, so every entry on the wheel has exactly the same chance on every spin. The only other random number in a spin decides where inside the winning segment the pointer settles, and that is kept away from the segment's edges so a stop never sits on a dividing line.
Can the wheel be rigged?
Not from this page. The draw happens the moment you press Spin, before the wheel begins to turn, and the angle the wheel stops at is worked out from the winner's segment. The animation is a display of a result that already exists, so nothing about watching it, the spin length you chose or the order the entries sit in can change who comes out. Everything runs in your browser, so there is no server that could be asked to change the outcome and no record of the spin beyond the history on your own screen. There is one honest way to weight it: an entry typed twice is two segments and has two chances, which the header over the list reports as a repeat so it is never a surprise.
How does Set aside work?
With Winner set to Set aside, which is the default, the winner is removed from the wheel when it stops, so the next spin is drawn from what is left and nobody comes up twice until the wheel is empty. The header over the list counts how many entries are set aside, and the history under the controls lists each spin with what happened to the winner. Switch to Keep in wheel and every entry stays on, so the same one really can win twice: the right setting when each spin is a separate question. Reset puts every entry back on the wheel and clears the history without touching your list. Editing the list rebuilds the wheel from scratch.
How many entries can I put on the wheel?
Up to 500. Above that the segments are thinner than a pixel on any screen, so the tool says so and points you to the random name picker, which draws from a list of any length without pretending to draw it. Labels are printed on the segments while there is room for them and drop off as the list grows, but the winner is always written under the wheel and in the history, so a 300-entry wheel is still a usable one. Entries are separated by line breaks and by commas, so a column pasted from a spreadsheet and a comma list typed by hand both work.
Does it work offline?
Once the page has loaded, yes. The draw, the drawing and the history all happen in your browser, and a spin fetches nothing. Your entries, the Winner setting, the spin length and the sound switch are remembered in this browser only, so the wheel is ready with your list the next time you open it. Reloading the page needs the site again unless your browser has kept a copy of it.
Can I make the spin longer or turn off the ticks?
Spin length offers Short, Normal and Long spins of 3, 5 and 8 seconds; a longer spin turns more times before it settles, and the odds are the same at every length. Sound switches the tick that plays as each segment edge passes the pointer, and it is only ever started by a press, never when the page loads. If your system asks for reduced motion, the wheel jumps straight to its final position instead of turning.

The winner is drawn from the browser's cryptographic random generator before the wheel begins to turn, with every entry given the same chance, and the spin only shows a result that has already been decided. A name typed twice is two entries and has two chances.