NamesWheel

Trust

Secure random selection

NamesWheel is a spinner you can watch. It is also a random number generator you should be able to explain. This page is the contract: what “random” means here, what the animation does not do, and how special modes change the odds.

How a winner is selected

  1. We take the current eligible list (blank lines and eliminated names are ignored).
  2. We draw an index with crypto.getRandomValues() — the same family of APIs browsers use for secure tokens. We reject biased remainders so “modulo the list length” does not favor early slices.
  3. Only then do we compute a target angle and play the deceleration animation.

If the animation were the source of truth, frame drops or a slow device could change the result. They cannot. The winner is already chosen.

Randomness vs the wheel animation

The wheel is a progress indicator. Extra full rotations and easing make the stop look physical. Reduced-motion users skip the spin and still get the same quality of pick. Sound ticks follow the spinning slices; they do not vote.

Duplicates

If the same name appears twice in the list, it is two slices. That is usually a paste accident. Use Remove duplicates when you want unique people. If you intentionally want two tickets for one person, leave both lines — that is a manual weight of 2.

Weighted probability

On the weighted wheel, chance is weight ÷ total weight. Slice arc length uses the same ratio so the picture matches the math. Weights of zero or less are treated as unused.

No-repeat selection

When “Remove winner after spin” is on — or you tap Remove & spin again — that entry is marked eliminated. The next draw samples only the remaining pool. History still shows who already won. This is sampling without replacement, not a new RNG.

Empty and single-item lists

With no eligible names, Spin does nothing. With one eligible name, that name is the winner — there is no random draw to make.

What we do not claim

  • We do not publish third-party audit badges we have not earned.
  • We do not use fake star ratings in markup.
  • We cannot make a public raffle “certified” without your own rules and records.