How the randomness works
Every spin on The Random Pick starts from crypto.getRandomValues, the random number source browsers provide for security work. Nothing about the result is decided by us, by the time of day or by what you picked before.
From tap to result
- When you tap Spin, your browser draws a fresh 32-bit number from its cryptographic generator. We call that number the seed.
- The seed feeds a small, well-tested generator (SFC32) that turns it into a stream of numbers. This is what lets a shared link replay the exact same spin: same seed, same result.
- To pick one of N options we use rejection sampling. Numbers that would make some options slightly more likely than others are thrown away and redrawn, so there is no "modulo bias" at any list size.
- The wheel animation is drawn after the result is chosen. It always stops on the slice that was picked, and the pointer never nudges a result.
The 10,000-spin test
This test runs again every time the site is built. Last run: October 22, 2026. We spun a 32-slice wheel 10,000 times, each spin from a new cryptographic seed, the same way the tools do.
- Expected per slice: 312.5. Fewest: 279. Most: 343.
- Every slice within three standard deviations (52.2) of the expected count: yes.
- Chi-square: 24.5 with 31 degrees of freedom, p = 0.790. A p-value above 0.01 means the spread looks like chance, which is what a fair wheel should show.
Weighted wheels
On a four-slice wheel weighted 1, 2, 3 and 4, the slices came up 1003, 1991, 3044, 3962 times in 10,000 spins, against an expected 1,000, 2,000, 3,000, 4,000. Chi-square 1.06, p = 0.788.
No-repeat mode
With "no repeats" on, picked options are set aside until every option has come up once, then the list refills. Decks (would you rather, truth or dare, questions) always work this way.
What we can't promise
A fair wheel can land on the same thing twice in a row; that is what random looks like. If you need a draw nobody can dispute, like a prize giveaway, use the giveaway picker, which records the time and entry count with the result.