Skip to the wheel
OnlineWheelSpin.com

Is a Wheel of Names Truly Random?

Updated · 5 min read

When a wheel lands on the same person twice in a row, someone always asks whether it is rigged. The honest answer depends on how a particular wheel is built. This article explains, in plain terms, how online name wheels usually work, exactly how ours picks a winner, and what you can do to make a casual draw feel fair to everyone.

What “random” means in a browser tool

Computers do not flip coins. A browser-based random wheel of names relies on a random number generator built into the browser. There are two common kinds:

  • Math.random(), a general-purpose pseudo-random generator. It is fine for games, but browsers do not promise it is unpredictable or of any particular quality.
  • crypto.getRandomValues(), the Web Crypto API. It draws on the operating system’s cryptographically secure randomness and is what browsers recommend when unpredictability matters.

Either way, the generator produces a number, and the tool maps that number to one of the names. Whether the result is fair depends both on the source of randomness and on how carefully that mapping is done.

Winner selection vs. the spin animation

A wheel can be built in two very different ways:

  1. Pick first, then animate. The tool chooses the winner with the random number generator, then calculates an animation that ends on that slice. The animation is only a display.
  2. Animate, then read the result. The tool spins the wheel by a random amount and reports whichever slice the pointer happens to stop on. Here the animation is the selection, and details such as rounding, slice edges and easing curves can quietly skew the odds.

The first approach is easier to get right and easier to reason about: the probability lives in one small piece of code, and nothing visual can change it.

How OnlineWheelSpin.com chooses a winner

Our wheel of names uses the pick-first approach. When you press Spin:

  1. The tool counts the names currently on the wheel, say n.
  2. It asks crypto.getRandomValues for a random 32-bit number and converts it to a whole number from 0 to n − 1 using rejection sampling: values that would make some names slightly more likely than others are thrown away and redrawn. This removes the small bias a simple remainder calculation would add.
  3. That number is the winner. Each name has exactly a 1 in n chance.
  4. Only now is the animation planned. The tool works out a final angle that places the pointer well inside the winning slice (never on an edge), adds the number of full turns implied by your speed setting, and animates there.

If a browser does not provide the Web Crypto API, the code falls back to Math.random(). All current mainstream browsers support crypto.getRandomValues, so in practice the fallback is not used.

We test this. An automated check spins thousands of randomly generated wheels for each stopping style and confirms that the final angle always lands on the pre-selected name, and a browser test confirms that the name in the pop-up always matches the slice under the pointer.

Settings that do not change the odds

  • Shuffle and sort only rearrange where names sit on the wheel.
  • Spin length, speed and countdown change how long the animation takes, not which name was chosen.
  • Stopping style, including the “near miss” that overshoots and rolls back, is a visual effect. The wheel always rolls back to the name that was picked when the spin began.
  • Color theme and slice position make no difference; every slice is the same size and has the same chance.

What does change the odds: duplicates and removed names

Two things legitimately change each name’s chance:

  • Duplicate entries. If a name appears twice among 20 entries, it has 2 chances in 20, or 10%, instead of 5%. That is useful for a bonus entry, and a mistake if you pasted a list twice.
  • Removing winners. With remove-winner mode on, each spin draws from fewer names, so each remaining name’s chance goes up: from 1 in 20, to 1 in 19, and so on. Every remaining name is still equally likely on each spin.

Why streaks happen

True randomness is streakier than people expect. On a wheel with 10 names, the chance that at least one name comes up twice within 5 spins is about 70%. Getting the same person twice in a row (a 1 in 10 chance on any given pair of spins) will happen regularly over a school year. That is what randomness looks like, not evidence of a rigged wheel.

If you want everyone to get a turn, randomness alone is the wrong tool. Turn on remove-winner mode: you still get a random order, but each person comes up exactly once before the wheel is empty.

Can a wheel of names be rigged or manipulated?

Some can. A wheel that selects with a poor method, or that is written to favor certain entries, can be unfair. More practically, any web page runs on the device that opens it, so a person who controls that device could in principle alter what their own browser runs or show a recording instead of a live spin. No browser tool can rule that out on its own.

What a well-built wheel can promise is narrower and still useful: the code makes every entry equally likely, and the website owner cannot choose the outcome. Our code runs in your browser and does not ask a server for the result.

How to make a classroom or team draw more transparent

  • Show the list first. Let people see the names on screen and check that nobody is missing or listed twice.
  • Spin live on a projector or shared screen rather than announcing a result afterwards.
  • Let someone else press Spin. A student or colleague pressing the button removes any doubt about timing, even though timing cannot affect the result.
  • Keep the history visible. The History tab records each result with a number and time.
  • Use remove-winner mode for turn-taking, so nobody can be picked twice by chance.

For step-by-step routines, see how to use a wheel of names for classrooms and giveaways.

A spinner is not a certified drawing system

Our wheel has not been independently audited or certified, and it does not provide the records an official draw needs: independent witnesses, entrant verification, or a tamper-evident log. For lotteries, regulated prize promotions or anything with legal or financial consequences, use a service built and certified for that purpose and follow the rules where you live.

For choosing who answers next, who presents first or who wins a classroom prize, a transparent spin is plenty. Try the wheel of names and see the selection happen in front of everyone. New to it? Start with how to spin the wheel of names.

Try our free wheel of names

Paste your list and spin. No sign-up, nothing to install.

Open the wheel

Frequently asked questions

Does pressing Spin at a particular moment change the result?
No. The winner is drawn from the random number generator when Spin is pressed, independent of the wheel’s current position or how fast you click.
Is the same name less likely after it has just won?
No. With repeats allowed, each spin is independent, so a name that just won has the same chance next time. To stop repeats, turn on remove-winner mode.
Do longer spins make the result more random?
No. The result is chosen before the animation starts. Spin length and speed only change what you see.
Can I see the code that picks the winner?
The selection runs in your browser, so the JavaScript is delivered to your device with the page. The method is described above: crypto.getRandomValues with rejection sampling to pick an index uniformly.