Is the Wheel Fair? Our 1,000,000-Spin Test
A wheel is only useful if everyone believes the result. So here is exactly how this wheel picks a winner, what happened when we ran it 1,000,000 times, and a button to run the test yourself.
How this wheel picks a winner
- When you press Spin, the winner is picked first, with
crypto.getRandomValues, the random source browsers provide for security. - The pick uses rejection sampling: a random whole number is drawn over the total of all weights, and draws that would favour some slices are thrown away. No slice is ever more likely than its share.
- Each entry’s chance equals its slice size. Without weights every slice is the same size; with weights the slices grow or shrink to match, and a “Weighted” label appears above the wheel.
- Only then does the animation start. It stops at a random point inside the chosen slice, so the pointer always shows the real result.
Test 1: eight equal slices
1,000,000 spins with the code the site runs (2026-10-04, Node v22.21.0). Every slice should come up 125,000 times on average.
| Slice | Expected | Observed | Difference |
|---|---|---|---|
| Slice 1 | 125,000 | 125,453 | 0.36% |
| Slice 2 | 125,000 | 125,452 | 0.36% |
| Slice 3 | 125,000 | 124,753 | -0.20% |
| Slice 4 | 125,000 | 124,522 | -0.38% |
| Slice 5 | 125,000 | 125,078 | 0.06% |
| Slice 6 | 125,000 | 125,246 | 0.20% |
| Slice 7 | 125,000 | 124,749 | -0.20% |
| Slice 8 | 125,000 | 124,747 | -0.20% |
Chi-square 7.14 with 7 degrees of freedom, p = 0.414. Largest difference: 0.38%.
Test 2: weights 1, 2, 3 and 4
Four entries with weights 1, 2, 3 and 4 should win 10%, 20%, 30% and 40% of the time.
| Weight | Expected | Observed | Difference |
|---|---|---|---|
| 1 | 100,000 | 100,041 | 0.04% |
| 2 | 200,000 | 199,448 | -0.28% |
| 3 | 300,000 | 299,982 | -0.01% |
| 4 | 400,000 | 400,529 | 0.13% |
Chi-square 2.24 with 3 degrees of freedom, p = 0.524.
Test 3: one hundred slices
1,000,000 spins on a wheel with 100 equal slices. Each should come up 10,000 times. The least picked slice came up 9,802 times and the most picked 10,222 times. Chi-square 87.90 with 99 degrees of freedom, p = 0.780.
All 100 counts, slice by slice:
- 9,892
- 9,857
- 10,040
- 9,852
- 9,933
- 10,133
- 10,004
- 9,975
- 9,866
- 10,120
- 9,879
- 9,979
- 10,004
- 10,040
- 10,006
- 9,853
- 10,025
- 10,071
- 9,963
- 9,937
- 10,173
- 10,099
- 10,007
- 10,031
- 10,133
- 10,149
- 10,055
- 9,983
- 10,036
- 9,969
- 10,029
- 9,981
- 10,130
- 10,087
- 9,904
- 9,919
- 10,126
- 10,007
- 9,938
- 10,020
- 10,004
- 9,869
- 10,080
- 9,980
- 9,933
- 9,973
- 10,018
- 10,073
- 9,950
- 10,115
- 9,818
- 9,978
- 9,949
- 9,910
- 10,068
- 9,926
- 9,853
- 10,010
- 10,048
- 9,844
- 9,986
- 9,997
- 10,060
- 10,078
- 9,947
- 9,947
- 9,947
- 10,184
- 9,889
- 10,047
- 9,882
- 9,995
- 9,887
- 9,841
- 10,145
- 10,000
- 9,933
- 9,856
- 9,898
- 10,118
- 10,030
- 10,008
- 9,984
- 10,222
- 9,914
- 10,024
- 10,044
- 10,069
- 9,802
- 9,997
- 9,923
- 10,106
- 9,919
- 10,083
- 10,038
- 10,187
- 10,120
- 10,004
- 10,174
- 10,111
Test 4: does the wheel stop on the winner?
We generated 100,000 random wheels (1 to 200 slices, random weights, random starting angles and spin lengths) and checked that the stopping angle the animation is given always falls inside the slice that was picked. Mismatches: 0. Our browser test also spins the real page and checks that the slice under the pointer is the name in the result window.
What these numbers mean
Random results never match the expected counts exactly; small differences are what fairness looks like. The chi-square test asks whether the differences are bigger than chance would produce. A p-value well above 0.01 means there is no sign of bias. All three tests are well above it.
Run the test yourself
This runs the same picking code in your browser on an eight-slice wheel. Nothing is sent anywhere.
Questions
Can a wheel spinner be rigged?
Yes, any website could be programmed to cheat, so look at how a wheel picks. This one chooses the winner with the browser’s cryptographic random generator before the wheel starts turning, and the only way to change the odds is weights, which change the slice sizes in plain sight and show a “Weighted” label above the wheel.
How accurate is a wheel spinner?
In our test of 1,000,000 spins on eight equal slices, no slice was more than 0.38% away from its expected count, and the chi-square test found no sign of bias (p = 0.41). The wheel also stopped on the chosen slice in all 100,000 landing checks.
Is spin the wheel actually random?
The result comes from crypto.getRandomValues, the random source browsers provide for security. It is not predictable from earlier spins, and every slice gets exactly its share.
Are random wheel generators truly random?
They are as random as the generator behind them. A cryptographic generator like the one used here is unpredictable and evenly spread, which is what a fair draw needs. It is not physical randomness such as dice, but no test can tell the difference in practice.
Is a wheel of names fair?
Only as fair as the code that picks the name, which is why this page shows ours. Every name on our wheel of names has the same chance unless you give it a weight, and a weight is never hidden: the slice grows and a “Weighted” label appears.
Is there a cheat in a wheel of names?
On this one, no. There is no secret setting, no favourite name and no way to steer the result by clicking at the right moment, because the winner is drawn before the wheel moves. The only lever is weights, and they change the picture you see.
Can a wheel of names be manipulated?
Whoever writes a wheel’s code could make it unfair, so trust a wheel that lets you check it. Here you can: the method is described above, the counts are published, and the test runs in your own browser with the same picking code.
How accurate is a wheel of names?
With 100 names on our wheel, each name came up between 9,802 and 10,222 times in 1,000,000 spins, against 10,000 expected. That spread is exactly what chance produces (p = 0.78).
Try a wheel
- Wheel spinnerYour own wheel: names, options, anything.
- Yes or no wheelAsk a question, spin for yes or no.
- Number wheelSpin a random number from any range.
- Letter wheelRandom letters A–Z, vowels or consonants.
- Team generatorSplit a list into random teams.
- Name pickerPick names from a list, no repeats.
- Name matcherRandom pairs, partners and gift draws.
- Food wheelCan’t decide what to eat? Spin.
- Truth or dare wheelSpin Truth or Dare, then a question.
- Random color wheelSpin a random color with its hex code.
- Country wheelSpin a random country, worldwide or by continent.
- Giveaway wheelDraw fair winners for giveaways and raffles.
- Decision wheelLet the wheel decide between options.
- Flip a coinHeads or tails, one coin or ten.
- Dice rollerRoll d4 to d100, up to 10 dice.
- Name generatorRandom boy, girl and full names.
- Secret SantaDraw names, send private links.
- Percentage wheelSet each slice’s chance in %.
- Elimination wheelKnock names out; last one wins.
- Character wheelHair, eyes, personality, power.
- Drawing ideas wheelWhat should I draw? Spin.
- Question wheelIcebreakers and fun questions.
- US states wheelSpin one of the 50 states.
- NFL team wheelAll 32 NFL teams.
- NBA team wheelAll 30 NBA teams.
- MLB team wheelAll 30 MLB teams.
- Animal wheelFarm, wild, ocean animals and more.
- Movie wheelCan’t pick a film? Spin.
- Picture wheelA wheel with your own images.
- Video game wheelWhat should I play? Spin.
- Fortnite challenge wheelRandom Fortnite challenges.
- Spin the wheel ideasReady wheels for parties, class and work.