How the Winner Is Chosen
The selection happens before the wheel animation. This page documents the exact method, lets you run a distribution experiment in your browser, and explains what the results do—and do not—prove.
Random source
Unbiased mapping
Visible experiment
Run a local distribution experiment
For 6 entries: source values below 4,294,967,292 are accepted.
4 of the 4,294,967,296 possible uint32 values are retried to avoid modulo bias.
The selection steps
- Count the active entries and assign each list position an index from zero to one less than the count.
- Request one unsigned 32-bit value with
crypto.getRandomValues. - Discard and retry values that fall in the incomplete tail of the uint32 range.
- Take the remainder of the accepted value divided by the entry count. That remainder is the selected index.
- Animate the wheel until the already-selected segment reaches the pointer.
The retry step matters because the 32-bit range is not evenly divisible by every possible list size. Without it, a simple remainder operation gives a tiny mathematical advantage to some indexes.
Scope and revision record
This method is appropriate for low-stakes selection among entries that are already eligible. It does not verify eligibility, identity, consent, legal compliance, or the integrity of the device. Random Name Spinner is not a certified lottery system or permanent audit service.
Method revision, August 4, 2026: the selector changed from direct remainder mapping to rejection sampling so the implementation matches the equal-position claim. The same selector now powers wheel spins, list shuffling, and this lab.
Product behavior and this explanation are reviewed by Preston Willis, publisher and product maintainer, for Willis Innovations LLC.