I would appreciate if you could share these pages with friends, bookmark them, or link to them. Thank you! 🙏

Spin the Wheel

Acrafto Team Randomizers
Updated
Everything runs in your browser. No number ever leaves your device.

Type your options, spin the wheel

Every line in the box becomes a slice. Press spin, the wheel turns and slows, and the slice under the pointer wins.

Nothing is uploaded. Your entries live in the browser tab and vanish when you close it.

The winner is chosen before the wheel moves

This matters more than it sounds.

The obvious way to build a wheel is to give it a random push, let friction slow it down, and read whatever ends up under the pointer. That approach makes the result depend on rounding of the final angle and on how many animation frames your device managed to draw — a slow phone and a fast desktop would not be equally fair.

This wheel does the opposite. It draws a winner from crypto.getRandomValues() first, then computes the exact rotation that lands that slice under the pointer and animates to it. The spin is presentation; the draw is already decided and provably uniform.

Every slice therefore has exactly the same chance, no matter how many slices there are, how long their labels are, or what device you are on.

Remove the winner, or keep spinning the full wheel

With remove winner on, each spin takes the winning entry off the wheel. Spin repeatedly and you get an order: first, second, third. Good for drawing several prizes, or for deciding presentation order in front of a room.

With it off, the wheel stays whole and the same option can win twice — which is what you want for “where do we eat tonight”.

Weighting the wheel by repeating an entry

The wheel gives every slice the same chance, so the way to favour an option is to give it more slices. Listing it twice doubles its share.

EntriesSlicesChance for Pizza
Pizza, Sushi, Tacos333%
Pizza, Pizza, Sushi, Tacos450%
Pizza ×3, Sushi, Tacos560%

Duplicated labels appear on the wheel more than once, which is honest — anyone watching can count the slices and see the weighting rather than take your word for it. That visibility is the point of a wheel; a hidden weight would defeat it.

For fine-grained weights that do not fit neatly into slices, the random number generator accepts explicit number:weight pairs instead.

How many slices stay readable

Slices shrink as entries grow, and labels are drawn along the radius, so there is a practical ceiling well below any technical one.

  • Up to 12 — comfortable, labels read at a glance
  • 12 to 20 — readable, but long names start to crowd
  • 20 to 30 — usable for short labels only
  • Above 30 — the wheel still works and the draw is still fair, but nobody can read it while it spins

Labels longer than 18 characters are trimmed with an ellipsis so they stay inside their slice. If your list is long enough that the wheel is unreadable, the name picker does the same job without the theatre.

Accessibility and motion

The wheel respects prefers-reduced-motion. If your system asks for reduced motion, the spin animation is skipped and the winner appears immediately. The result is identical either way, because the draw never depended on the animation.

The winner is also announced in a live region, so screen readers read it out without the user having to hunt for it.

Where a picker wheel gets used

  • Deciding — lunch, film, which chore
  • Live streams and classrooms — the spin is the point; people watch it
  • Giveaways — a visible draw feels fairer to an audience than a number appearing
  • Icebreakers — who answers the next question

Frequently asked questions (FAQ)

How many options can the wheel hold? There is no hard limit, but past roughly thirty slices the labels get too thin to read. Long labels are trimmed with an ellipsis so they stay inside their slice.
Is the wheel really fair with an odd number of slices? Yes. Slices are equal by construction and the winner is drawn uniformly before the animation, so seven options are exactly as fair as eight.
Can I make one option more likely? Not on the wheel itself — but adding the same entry twice doubles its slice count and therefore its chance. For finer control, the random number generator supports explicit weights.
Are my entries saved? No. They stay in the page and disappear on reload. Nothing is sent to a server.
Can I prove the spin to an audience? The wheel is a visual device, not evidence — a viewer cannot check it afterwards. For a draw someone can verify, use the seeded mode in the random number generator and publish the certificate.