How ChoiceSpin Picks Winners

A random picker is only useful if people trust the pick. So this page walks through what happens when you spin, in plain language.

Spin the wheel

The short version

Every spin picks the winner with your browser's built-in random number generator. Each enabled entry has a chance proportional to its slice of the wheel, and by default all slices are equal.

Ads and other page content do not participate in the spin logic. Neither does how often you spin, whether you saved or downloaded the wheel, or what your previous results were. The animation is just there so you can watch it happen. The random draw itself decides the winner.

Equal by default

Every enabled entry gets the same slice size and the same chance, unless you visibly change it.

Odds you can see

Duplicates and weights show up as bigger shares of the wheel, so the wheel itself is the odds display.

Recent results at a glance

When storage succeeds, Results keeps up to 250 recent winners on this browser and can be cleared.

What happens when you click Spin

Step by step, in order:

  1. 1

    ChoiceSpin reads your current list of enabled entries and their weights (equal unless you set weights in Advanced mode; while Advanced is on, weights count whichever tab is showing). Only entries drawn on the wheel take part. Hidden entries do not count, and of the rest the wheel draws the first 1,000 by default. Entries Visible in Customize can set that limit anywhere from 2 to 2,000. With Show Duplicates off, a repeated label inside that limit keeps only its first slice. In a live room, Advanced is off and Entries Visible and Show Duplicates are not used: every non-empty line of the room list is one equal slice.

  2. 2

    It asks the browser's random number generator for a fresh random value and uses it to pick the winning entry. Each entry's chance matches its share of the wheel.

  3. 3

    The wheel spins and comes to rest with the winning slice under the pointer, so everyone watching sees the same result land.

  4. 4

    A popup names the winner, and the name is added to the visible Results history. An empty Advanced row that wins shows no popup and is not listed. Outside a live room, a winner that repeats the previous result within two seconds is not listed again; in a live room, two separate spins that pick the same name are both listed. When browser storage succeeds, Results keeps up to 250 recent winners on this device and can be cleared. It is a convenience, not proof or a durable record. With several wheels on one page, each wheel draws its own winner with the same random source, and each wheel's panel keeps its own list of up to 50 recent winners. With several wheels on the page, the same winner popup collects each wheel's winner.

Equal by default, and every change is visible

All enabled entries get equal-sized slices and equal odds. If you change that, the wheel shows it:

Duplicates get extra slices. By default, a name that appears twice in your list occupies two visible slices and has twice the chance, which is handy for bonus entries in a draw. If you switch Show Duplicates off, the extra slices and their extra chances are removed together, so the wheel you see always shows the real odds. In a live room this switch has no effect, so there every copy of a repeated name keeps its own slice.

Weights (Advanced mode) change slice sizes to match. A weighted entry takes up a visibly bigger share of the wheel, so anyone watching can read the odds straight off the wheel.

Removed or hidden entries leave the wheel entirely, and the remaining entries re-share the odds. Auto remove winner never leaves fewer than two non-empty lines in your list, although two matching lines make only one slice when Show Duplicates is off (outside a live room). With Show Duplicates on, it removes one line with that label, so another identical label can remain and win again. With a plain list that is the first matching line; in Advanced mode it is the row that won. With Show Duplicates off, it removes every exact matching line only when at least two non-empty lines would remain; in Advanced mode that means every enabled row with the winning name, while hidden rows stay in the list, still hidden. In a live room it removes only the line that won, even with Show Duplicates off, and only after a spin from your own browser while you can edit the room. If removal would leave fewer than two, the list stays unchanged. Handle the final two entries manually.

When several wheels share a page, this floor covers only the first wheel. On the other wheels, Auto remove winner can keep removing winners until no entries are left. In the shared view of a Share (/w/) or Gallery (/p/) link, Auto remove winner can still leave an Advanced winner on the wheel.

Example with visible weights

Entry A 40%
Entry B 30%
Entry C 20%
Entry D 10%

More details

The randomness, explained honestly

In modern browsers, Web Crypto (crypto.getRandomValues()) selects the winning slice. With standard motion, Web Crypto also randomizes a safe visual landing point inside that chosen slice. With reduced motion, the wheel uses the slice midpoint instead. The visual landing point never selects or changes the winner. On old browsers without Web Crypto, the wheel falls back to Math.random(), which is not a cryptographically secure source. The wheel does not show which source a spin used, but the randomness audit described below reports which one your browser provides. If it reports the fallback, do not use that browser for a draw where unpredictability matters.

ChoiceSpin is designed for classrooms, games, team picks, and everyday community draws. Each spin starts a fresh draw in your browser, and the hosted service does not choose the winner. In a live room, the draw happens in the browser of the person who spins, and the room service passes that result to the other browsers: a browser whose wheel matches the list used for that spin replays the spin, any other shows the stored winner. Web Crypto makes a result difficult to predict for someone who does not control the device or page, but ChoiceSpin is not a certified lottery system or a tamper-proof record.

Because spins are independent, streaks happen. The same entry can win twice in a row, just like a coin can land heads twice in a row. A streak isn't a malfunction. It's normal behavior for independent random draws.

The randomness audit runs a separate simulation in your browser using the same kind of random source and unbiased equal-entry mapping. It helps you inspect long-run distribution. It cannot certify the code delivered for an individual spin, prove that a device was not modified, or make a regulated draw compliant.

If you're running a regulated contest, sweepstake, or anything with legal requirements, follow your platform's rules and local laws. ChoiceSpin is built for everyday visible draws, not legal compliance. See our terms.

How to run a draw people trust

The tool handles the randomness, but people also need to see it happen. A few habits make an everyday draw easier to follow without turning it into a verified draw:

Spin where people can see. Project it, share your screen, or put it on stream. The whole reason to use a wheel instead of a hidden script is that the audience watches the pick happen.

Keep the Results history visible. When browser storage succeeds, it can show up to 250 recent winners and their order on this device. It is clearable convenience history, not evidence of who participated or how a draw was run.

Agree on the rules before spinning. One spin or best of three? Winners removed or left in? Decide first, because re-spinning until you like the answer is the human way to bias a fair wheel.

Share the wheel window with remote groups. Put it on stream or share your screen in a video call so everyone watches the same result land. You can leave the browser-local Results history visible as a reference after the spin.

What stays private

Your entries and saved wheels stay in your browser on your device. When browser storage succeeds, Results keeps up to 250 recent winners on that device and can be cleared. There's no account. Creating a Share link sends a copy of the wheel to ChoiceSpin. A private link is unlisted, but anyone who has it can open or forward it until it expires. The privacy policy says how long links last. A wheel published in the Gallery is public, and anyone can view, spin and copy it. In a live room, the wheel's entries and each spin are sent to ChoiceSpin's room service so the other browsers in the room can show them. Downloaded .wheel files are separate backups, and Gallery browsing stays separate from private wheels.

That matters for fairness too. ChoiceSpin keeps no account or spin profile that could influence a result, since the draw happens in the browser of the person who spins. Details on analytics, ads, and storage are in the privacy policy.

Fairness questions, answered directly

Can ads or anything else on the page affect the result?

No. The winner is selected by the random draw described above. Ads and other page content do not participate in the spin logic.

Why did the same entry win twice in a row?

Because no spin remembers the one before it. Independent draws produce streaks naturally. Across many independent spins, observed percentage shares may tend toward expected shares, but any particular run can deviate. Auto remove winner can reduce repeats, but with Show Duplicates on it removes only one matching line (the first one with a plain list, the winning row in Advanced mode, the winning line in a live room), so an identical label can remain. It also stops before fewer than two non-empty lines would remain, so handle the final two manually. For a full round where each included entry gets one turn and names marked absent are skipped, open Rounds while only one wheel is on the page. Rounds does not run in a live room or on a shared or public wheel link.

How can I verify the odds myself?

Read them off the wheel. Slice sizes are the odds: equal slices mean equal chances, a duplicated entry visibly has more slices, and a weighted entry visibly has a bigger slice.

Is the wheel animation just for show?

The animation makes the pick visible to everyone watching, so they see the same slice land under the pointer. The randomness itself comes from the browser's random number generator, not from spin physics, so nobody can influence the result by timing their click.

Can ChoiceSpin or anyone else rig a spin?

ChoiceSpin's hosted service does not choose the winner. Selection runs in the browser, but a browser-only tool cannot prove that someone who controls the device has not changed the page or simply re-spun. Agree on the rules and show the entries and settings. The browser-local Results history can help people follow recent spins, but it is not proof. Use a separately reviewed verified-draw system for stronger tamper evidence.

See it for yourself

Open the wheel, add a few entries, and watch how the odds, the spin, and the history behave. No sign-up needed.

Spin the wheel