Spin Yes No

Wheel Spinner

Type any list, spin for a winner, and optionally weight entries or remove the winner each round -- share the exact wheel with a link.

Press Spin.

Two ways this wheel draws a winner

With weights off, every entry gets an exactly equal arc (360 ÷ entry count degrees) and the winner is a single unbiased integer draw, same as the Yes or No Wheel. With weights on, each entry's arc width is proportional to its weight, and the winner is chosen by drawing one uniform random point along the full 0-to-total-weight range and finding which entry's cumulative slice it lands in:

equal mode: winner = randomInt(0, entries − 1)
weighted mode: draw r = randomFloat() × totalWeight; winner = first entry whose cumulative weight passes r

Worked example: an equal-odds run

The tool's own default list -- Pizza, Tacos, Sushi, Burgers, Salad, Ramen -- each with an equal 1 in 6 chance (16.67% per entry). Six spins run against a fixed illustrative seed (your real spins above use live randomness, not this seed):

1. Burgers2. Pizza3. Sushi4. Burgers5. Sushi6. Sushi

Worked example: weights hold up over many spins

Same list, weighted Pizza|3, Tacos|2, everything else|1 (total weight 9). Over 300 simulated spins at the same fixed seed, the empirical share tracks each entry's theoretical weight-based probability closely -- exactly what a correct, unbiased weighted draw should do:

EntryWeightTheoretical oddsActual share (300 spins)
Pizza333.33%31.33%
Tacos222.22%24.00%
Sushi111.11%14.67%
Burgers111.11%10.33%
Salad111.11%8.00%
Ramen111.11%11.67%

Frequently Asked Questions

How do I add weights to an entry?

Turn on "Use custom weights" and add a pipe and a number to the end of any line, like Pizza|3 -- that entry becomes three times as likely to win as a plain, unweighted entry. Lines without a weight default to 1. Weighted arcs are still drawn with the same unbiased engine as an equal wheel; they're just proportionally wider slices.

Is the wheel rigged?

No -- every spin draws its winning entry with crypto.getRandomValues, using unbiased rejection sampling for an equal wheel or a single uniform float over cumulative weights for a weighted one. The visual spin is calculated backward from that already-decided winner, so the animation can never disagree with the result.

Can I share my wheel with someone else?

Yes -- "Copy share link" puts your exact entry list (labels and weights) into the page's URL. Anyone who opens that link sees the same wheel pre-filled, ready to spin themselves with their own fresh random draw; the link doesn't share or predetermine any specific result.

What does "remove the winner after each spin" do?

It takes the winning entry out of the pool before the next spin, so repeated spins narrow down to a final entry without any repeats -- useful for an elimination bracket or drawing several distinct prizes from one list. "Reset pool" brings every entry back.

Does it work offline, and is anything saved?

The page works offline once loaded, since every draw runs in your browser. Your entry list is remembered in this browser only (localStorage) so you don't have to retype it next visit; nothing is sent to a server or saved anywhere else.

How many entries can I add?

Up to 100 lines. Past a few dozen, letters get small -- the Random Name Picker's list-draw mode is a better fit than a crowded wheel for a very large roster.

Every result here is drawn live in your browser with cryptographically-secure randomness -- nothing is predetermined, saved, or replayable. See the Terms.

Every tool