Wheel Spinner

One entry per line, then spin. The wheel uses a cryptographically fair random pick.

How to run a spin

  1. Type or paste your entries in the box, one per line. Blank lines and stray spaces are cleaned up automatically, and the wheel redraws as you type.
  2. Click Spin. The wheel turns for a little under four seconds, decelerates, and stops with the winner's segment at the pointer.
  3. For multi-prize draws, click Remove winner after each spin. The winner's line is deleted from the list and the wheel redraws without them, so nobody wins twice.

You need at least two entries for the Spin button to do anything, which is fair enough: a one-entry wheel is just a very slow announcement.

A worked example: a three-prize giveaway

Paste 30 entrant names, one per line. Spin once for the grand prize; suppose Carmen wins. Click Remove winner, and the wheel becomes a 29-segment wheel. Spin for second prize, remove that winner, spin again for third. Each draw is independent and each remaining entrant has an equal chance at every stage, which is exactly how a physical raffle drum works when you do not put the drawn ticket back. Segment colors cycle through eight fixed colors and labels are trimmed to 14 characters, so "Christopher Alexander" shows as "Christopher Al" on the wheel but is announced in full below it.

The part most wheel sites get wrong

The animation is theater. The winner is decided before the wheel starts moving: the tool draws a random index with crypto.getRandomValues, the browser's cryptographic random source, then animates six to eight full rotations that are calculated to land the winning segment under the pointer. This ordering matters. A wheel that picks its winner from wherever friction happens to stop an animation is only as fair as the animation code, and easing curves are not random. Here the draw is provably uniform and the spin is just a way to build suspense while you share your screen. The deceleration uses a cubic ease-out, which is why the last half turn feels agonizing; that is a design choice, not physics.

Honest limitations

The wheel accepts up to 100 entries; anything past that is silently ignored, and honestly past 40 or so the labels get too small to read even though the draw stays fair. There is no weighting, so you cannot give one entry three tickets except by pasting the name on three lines, which works but shows three identical segments. Remove winner deletes every line matching the winner's exact text, so if two different people are both entered as "Sam", one removal takes out both; use last initials. And the entry list lives only on the page, so refresh before saving your list elsewhere and it is gone.

Frequently asked questions

Is the wheel actually random?

Yes. The winner is chosen with crypto.getRandomValues, the browser's cryptographic random source, before the animation plays. The spin is a visualization of an already-fair draw.

Can I remove a winner and spin again?

Yes — after each spin you can remove the winner from the wheel with one click, which is exactly what you want for raffles with multiple prizes.

How many entries can the wheel hold?

Up to 100 render legibly. Beyond a few dozen, labels get small, but the draw stays fair at any count.