How Our Wheel Randomness Works

Every spin on this site draws from your browser's cryptographic random number generator.

No result is weighted, stored, sold or nudged, and the code that does it is on this page for you to read.

That is the short answer. The rest of this page is the proof, because an answer like that is worth exactly as much as the evidence behind it.

Is the spin actually random?

Yes. Each spin calls crypto.getRandomValues, the browser's own cryptographic random source, and maps the result to a slice. Nothing about who you are, what the names say, or how long you have been on the page changes the outcome.

That is a stronger source than most spinners use. Plenty of wheels call Math.random, which is fine for a game but is not designed to resist prediction and varies between browsers.

The distinction matters for one reason. Math.random can be seeded and predicted in several JavaScript engines. The crypto source cannot.

Why do people think wheels are rigged?

Three reasons, and two of them are real effects rather than mistakes. Short lists repeat far more often than people expect, the animation looks like it is steering, and a handful of sites genuinely do sell a rigged mode.

Worth taking these one at a time, because the accusation is usually about the first and almost never about the third.

Repeats on a short list are normal

Names on the wheelChance of a repeat in 2 spinsChance the same name wins 3 in a row
425%1 in 16
617%1 in 36
1010%1 in 100
205%1 in 400
303.3%1 in 900

Read the middle column again. On a wheel of six, one spin in six lands on the name that just won. Over a classroom morning that happens constantly, and it feels broken because people expect random to mean evenly spread. It does not.

Does the animation decide the result?

No. The result is drawn first, and the animation is then calculated backwards to land on it. The spin you watch is a rendering of a decision already made rather than a physical process being simulated in the browser.

This is how every wheel on the web works, and it is worth knowing because the animation is where the suspicion comes from.

A wheel that slows down near a name and then creeps past it looks like it is being pulled. It is not. The easing curve is the same regardless of which slice was drawn, so a near miss and a clean landing are produced by identical code.

Two things follow from that:

  • The length of the spin tells you nothing about the result
  • Watching the deceleration cannot predict where it stops, because the stop was chosen before the animation started

Can you verify it yourself?

Yes, in three ways, and not one of them requires taking our word for anything. Read the source of the draw function, run your own distribution test in the browser console, or check a single spin against a seed you supply yourself.

Here is the function that draws the result:

The draw uses crypto.getRandomValues to fill a 32-bit unsigned integer, then reduces it to the slice count using rejection sampling rather than a modulo. The rejection step matters. A plain modulo makes the first few slices very slightly more likely whenever the slice count does not divide evenly into the range, and rejection sampling removes that bias completely.

To test it yourself, open your browser console on any wheel page, load a list, and run the spin function ten thousand times while counting results. An even wheel should give you counts clustered within a few percent of each other.

Our own test results

[PLACEHOLDER: This section must be filled with a real test before the page ships. It needs the date the test ran, the number of slices, the spin count, the observed counts per slice, the chi-squared statistic and p-value, and the browser and version used. Do not publish this page with invented figures.]

What would rigging actually look like?

Four mechanisms, and each one leaves a trace you can find. Hidden weights on slices, a result filtered after the draw, a slice arc that does not match its stated odds, or a spin that quietly rejects and redraws an unwanted outcome.

Knowing the mechanisms is more useful than knowing whether one particular site is honest, because the mechanisms are checkable and reputations are not.

MechanismWhat it doesHow you catch it
Hidden weightsOne slice wins more than its shareRun a distribution test and compare counts
Post-draw filterThe draw is fair, then a result is thrown awayCounts skew away from one specific slice
Arc mismatchThe visible slice is wider or narrower than its oddsMeasure the arcs against the stated weights
Silent redrawUnwanted results are redrawn before you see themSpin counts and result counts disagree

The first three show up in a ten thousand spin test. The fourth does not, which is why the code being readable matters as much as the test does.

What about weighted wheels?

Weighting changes the odds on purpose and the page says so out loud. A slice set to double weight takes twice the arc and wins twice as often, and the wheel shows the weights next to the names rather than hiding them.

That is the honest version of a feature other sites bury.

Two rules we hold to on this. Weights are visible to everyone looking at the wheel, and a shared wheel carries its weights in the link, so the person you send it to sees exactly what you see.

For how to set them, see weighted wheel of names.

What happens to the names you type?

Nothing leaves your browser. The names you enter, the spins you make and the results you get stay on your device, and there is no account, no upload and no record of your list on our servers.

Sharing a wheel is the one exception, and it is one you trigger deliberately.

When you share, the list is encoded into the link itself. That means the person you send it to can read it, because that is the point, and it means we still do not have a copy.

What else is worth reading on this?

Fairness questions split into two kinds: whether the draw is honest, and whether the settings are doing something you did not ask for. These four pages cover both, and each one shows the mechanism rather than asserting a conclusion.

Related wheels

Frequently asked questions

Is spin the wheel actually random?
Yes, when it uses a proper random source. Our spins call the browser's cryptographic generator, and the result is drawn before the animation starts.
Is wheelofnames actually random?
We cannot audit another site's code, so we do not make claims about it. What we can do is show ours, which is on this page along with a test you can run yourself.
How to tell if a spinning wheel is real?
Look for three things: a stated random source, code you can inspect, and a published distribution test. A site that offers none of those is asking for trust it has not earned.
Is pickerwheel.com random?
Same answer as above. We do not test competitors' code, and any claim we made about it would be worth nothing to you. Judge each site by what it shows you.
Why does the same name keep winning?
Because short lists repeat more than people expect. On a wheel of six, one spin in six lands on the previous winner. Turn on remove after pick if you want every name to get a turn.
Can I predict where the wheel will stop?
No. The result is drawn from a cryptographic source before the animation begins, and the easing curve is identical no matter which slice won.