How Random Number Wheels Work (And Why They're Fair)
A random wheel generator feels like magic — you spin, it slows down, and it lands on a result. But the fairness of that result depends entirely on what's happening behind the scenes before the animation even begins.
The two parts of a spin
Every wheel spin actually has two separate parts: the decision (which entry wins) and the animation (the visual spin that lands on that entry). A well-designed wheel decides the winner first, using randomness, and then calculates the exact rotation needed so the pointer lands precisely on that already-chosen result.
Why the randomness source matters
Not all "random" is equally random. A basic random number function in many programming languages is fine for games, but it can be predictable in edge cases. Trustworthy wheel spinners instead use the browser's built-in cryptographically secure random number generator — the same kind of randomness used to generate secure passwords and encryption keys — making the outcome unpredictable even in theory.
Equal odds by default
Unless you specifically enable weighting, every entry on a random number wheel gets an exactly equal share of the probability, regardless of how big or small its slice looks on screen (visually equal-sized slices simply make this easier to see).
Proving it's fair
If you want proof rather than just trust, some tools include a randomness audit — running thousands of simulated spins instantly and showing the distribution of results. Over a large number of spins, every entry should win roughly the same percentage of the time, with only small statistical variation.
Practical takeaway
When you're choosing a random number wheel for anything that matters — a raffle, a fair team split, a real prize draw — look for one that's explicit about using secure randomness. It's the difference between a tool that just looks fair and one that actually is.
A closer look at the random source
Web browsers offer two very different ways to get a random number. The older function, Math.random(), is a general-purpose generator designed for speed. It is fine for things like small animations, but it is not built to resist prediction. The other, crypto.getRandomValues(), draws on the operating system's secure entropy source, which is the same kind of randomness used for encryption keys and security tokens. SpinWheeli uses the second one to decide each winner, so the outcome cannot be guessed from previous results.
From random bits to a winner
A computer produces random numbers as strings of bits, not as "pick one of seven entries". The wheel has to convert those bits into a fair choice. The usual approach is to generate a number between 0 and 1, multiply it by the number of entries, and round down. If you have eight entries, the result is a whole number from 0 to 7, and each has the same chance. For weighted wheels, the wheel adds up all the weights, draws a number across that total, and finds which entry's range contains it.
There is a subtle trap here called modulo bias. If a generator produces numbers in a range that does not divide evenly by the number of entries, some entries can end up very slightly more likely. Because browsers generate large 32-bit values and the entry counts are small, the imbalance is far too tiny to notice in practice. It is, however, the sort of detail that separates a carefully built tool from a rushed one.
Why the animation does not affect fairness
Many people assume that the speed or force of a spin determines where the wheel stops, as with a physical wheel. In a digital wheel the winner is chosen first. The animation is then calculated so that its final angle puts the pointer inside the winning slice. The visual spin is a presentation layer: it makes the moment exciting, but it has no influence on the odds. This design also means the wheel behaves the same on a slow phone and a fast desktop.
What "random" does and does not mean
- Independent spins. Each spin has no memory. If one entry won last time, it still has the same chance now.
- Streaks happen. In a fair system, repeats and runs occur naturally. A wheel that never repeated would be less random, not more.
- Short runs look uneven. After ten spins, one entry may appear three times and another not at all. Only across thousands of spins do the shares settle near equal.
- No hidden pattern. With a secure generator there is no cycle or sequence for anyone to learn.
Testing fairness yourself
You do not need to take our word for any of this. The Randomness Audit runs thousands of simulated spins in seconds and shows how many times each entry wins. A good result is one where the counts are close to each other but not identical. If you are curious about the maths, try this at home: roll a die 600 times and you will see each face appear roughly 100 times, but rarely exactly 100.
Number wheels versus number generators
A random number wheel is best for small ranges where the visual adds to the experience, such as 1 to 10 for a classroom game. For larger ranges, such as 1 to 1,000, use the Random Number Generator, which picks a value without needing hundreds of slices. Both use the same secure source.
Frequently asked questions
Can the result be predicted?
Not in any practical way. The browser's secure generator is designed so that past outputs do not reveal future ones.
Does the wheel favour entries at the top?
No. Position on the wheel has no effect. Each slice has the same chance unless you set weights.
Why do I sometimes see the same number twice?
Repeats are normal because every spin is independent. If you want each number once, remove each winner after it is picked.