How online wheel spinners work, and whether they are fair
When a wheel slows down and creeps past three slices before stopping on a name, it looks as though the result was decided in that last second. It was not. In almost every online spinner, including this one, the winner is chosen the moment you press spin, and the animation is a performance of a result that already exists.
That is not a trick, and it is not a sign of rigging. It is the only sensible way to build a fair wheel. This guide explains why, describes exactly how our wheel picks a winner, and shows you how to test any spinner for yourself.
The result comes first, the spin comes second
A wheel on a screen is not a physical object. It has no weight, friction or bearings, so there is nothing for the result to emerge from. A developer has two choices: simulate physics and see where the wheel stops, or pick a winner with a random number generator and animate the wheel to land there.
The second approach is the fair one. A physics simulation depends on details such as frame rate and how hard you flicked, which makes the odds hard to guarantee and, in principle, possible to influence. Choosing the winner directly with a random number gives every entry exactly the chance it should have, on every device.
On this site, a flick only changes how long and how fast the wheel spins. It has no effect on which slice wins.
Where the randomness comes from
Computers follow instructions exactly, which makes genuine unpredictability hard for them. Browsers offer two different tools for it.
| Standard generator | Secure generator | |
|---|---|---|
| Browser function | Math.random | crypto.getRandomValues |
| Designed for | Games and animation | Passwords and encryption keys |
| Seeded from | An internal formula | Unpredictable system events |
| Can output be predicted? | In principle, from earlier output | Not in practice |
Both look random to a person watching, and for a casual decision either is fine. We use the secure generator for every wheel, coin, die and team shuffle, because it costs nothing extra and removes the question entirely.
How our wheel picks a winner
- Every entry gets a weight. It is 1 unless you set one, so "Pizza*3" has a weight of 3.
- The weights are added together to give a total.
- The secure generator produces a random number between zero and that total.
- The wheel walks through the entries in order, subtracting each weight, and the entry where the number runs out is the winner.
- Only then does the animation start, aimed at a point inside the winning slice.
The effect is that each entry's chance equals its weight divided by the total. With four equal entries, each has 25%. Change one to "*3" and it has 3 out of 6, or 50%, while the others have about 16.7% each. All of this runs in your browser. The entries are not sent to a server, and nothing outside your device takes part in the draw.
Weighted wheels: fair, as long as you can see the weights
A weighted wheel is not an unfair wheel. A raffle where one person bought five tickets should give that person five times the chance. What matters is that the weights are visible to everyone watching.
On our wheel, slice size always matches the odds. An entry with twice the weight is drawn twice as wide, so nobody needs to trust a hidden setting. Be wary of any spinner that lets the operator set a winner or change the odds without the wheel looking different. That feature exists on some tools, and it means a draw run on them proves nothing.
How to test any wheel yourself
You do not have to take a developer's word for it. A simple test takes about five minutes.
- Put four equal entries on the wheel: A, B, C and D.
- Switch to Tally mode so wins are counted for you.
- Spin 100 times.
- Compare the counts with the table below.
| Spins | Expected per entry | Normal range |
|---|---|---|
| 40 | 10 | 5 to 15 |
| 100 | 25 | 17 to 33 |
| 400 | 100 | 83 to 117 |
The range covers about 95% of results from a fair wheel. Notice how wide it is at 100 spins: one entry winning 31 times and another 19 is completely normal, not evidence of anything. Randomness is lumpy in small samples. What should worry you is one entry far outside the range, or results that are suspiciously even, such as exactly 25 each.
Why results sometimes feel rigged
- Repeats are normal. With 10 entries, the chance of the same one winning twice in a row is 10% on every pair of spins.
- Near misses are an illusion. The wheel slows down, so it always appears to "almost" stop on the slices just before the winner.
- We remember surprises. Nobody remarks on an ordinary result, so the odd ones are the only ones that get talked about.
- Small samples mislead. Five spins tell you nothing about fairness; a few hundred do.
If the same entry should not win twice, that is a rule rather than a fairness problem. Use Elimination mode, which removes each winner from the wheel.
A checklist for a draw people will trust
- Show every entry on screen before the spin.
- If weights are used, say so, and make sure the slices show them.
- Spin once, and say beforehand that the first result stands.
- Record the screen, or do it live.
- Keep a copy of the entry list.
For prize draws specifically, our guide to picking a giveaway winner fairly goes through the whole process.
Frequently asked questions
Are online spin the wheel sites rigged?
A well-built one is not. It picks the winner with a random number generator and then animates the wheel to land there. Avoid tools that let the operator secretly set the winner or change the odds without changing the size of the slices.
Is the winner decided before the wheel stops?
Yes. The winner is chosen at the moment you press spin and the animation is aimed at that slice. This is what makes the odds exact, because nothing about the animation can affect the outcome.
Does spinning harder change the result?
No. On this site a harder flick makes the wheel spin faster and for longer, but the winner has already been chosen by the random generator.
How can I check that a wheel is fair?
Put four equal entries on it, switch to Tally mode and spin 100 times. Each entry should win about 25 times, and anything from roughly 17 to 33 is normal variation.