How Random Is a Spin Wheel, Really?
Every spin wheel claims to be random. Most are. But there is a real difference between random-enough for a game and random-enough for a giveaway.

Want to try it right away? Open the free Spin Wheel Picker or jump to the Coin Flip Wheel.
Every spin wheel on the internet claims to be random. Most are, in the loose sense of the word. But there is a real difference between random-enough for a classroom game and random-enough for a giveaway with real prizes — and the difference lives in a small piece of code most tools never talk about. This explainer walks through what randomness actually means in a browser, why the classic Math.random function is not enough for high-stakes picks, and how Spin Wheel Picker guarantees fair outcomes.
True random vs. pseudo-random
In cryptography and statistics, a true random number generator (TRNG) draws its output from a physical source of entropy — atmospheric noise, radioactive decay, thermal noise from a chip. A pseudo-random number generator (PRNG) uses a mathematical formula seeded once and then produces a long, deterministic sequence that looks random.
Modern browsers do not connect to a physical entropy source directly, but they do expose a cryptographically secure pseudo-random number generator (CSPRNG) via the Web Crypto API. A CSPRNG is seeded from operating-system-level entropy — mouse movements, disk timings, hardware RNG chips like Intel's RDRAND — and is designed to be indistinguishable from true randomness even to an attacker with unlimited compute.
Why Math.random is not enough
In programming, most simple tools reach for Math.random, a fast PRNG that browsers implement with algorithms like xorshift128+. It is more than good enough for animations, shuffled playlists and dice-roll games. It is not appropriate when someone might contest the result of a giveaway, because Math.random makes two compromises that matter for fairness.
- It is seeded once per browser session and produces a predictable sequence. In principle, a determined attacker who can observe enough outputs can predict the next one.
- Its output distribution has small statistical biases at the bit level — usually invisible in casual use, but detectable across large numbers of trials.
For most classroom or streaming use, those compromises are irrelevant. For a giveaway with a real prize or a decision that will be questioned, they matter. That is why we chose a stronger primitive.
What Spin Wheel Picker uses
Spin Wheel Picker uses the Web Crypto API — specifically window.crypto.getRandomValues — for every single pick. That is the exact source browsers use for TLS handshakes, cryptographic keys and password generation. Every entry on the wheel has an equal probability of winning, and the sequence of picks is not predictable from previous picks. When your wheel has weighted entries, we still use getRandomValues to sample from the weighted distribution — the weighting logic sits on top of a cryptographic random source, not a shortcut.
There is no server involved. The random number is generated locally in your browser using the operating system's own entropy pool. Nothing about your spin — the entries, the winner, the timing — is ever sent to us or anyone else.
Why the wheel animation does not affect the outcome
This is the part that trips people up. The winner is chosen before the wheel starts spinning. The animation is pure visualization — it computes an ending rotation that lands on the pre-chosen slice, then eases into place with a cubic curve. Two consequences follow: no amount of tampering with the animation can change the result, and slow devices that render the spin poorly still get a mathematically fair outcome. What you see is a presentation of a decision that has already been made fairly, not a physical simulation you could influence.
How to audit a spin wheel yourself
- Open your browser's developer tools (F12 or Right-click → Inspect).
- Switch to the Network tab and reload the page.
- Load your entries and spin. Watch the Network tab as the wheel spins.
- Confirm no request goes out during the spin. The pick happens entirely in your browser.
- For extra assurance, spin many times with elimination mode off and log the winners in a spreadsheet — you should see roughly uniform distribution across entries.
You can do the same audit on any browser-based wheel. Tools that phone home to a server during a spin are not necessarily unfair — the server may just be logging analytics — but you cannot verify the fairness of a remote decision the same way you can a local one.
Running a defensible giveaway
If you are running a real promotion — an Instagram giveaway, a Twitch subscriber raffle, a work-anniversary prize draw — a few extra steps make the result defensible if anyone questions it.
- Screen-record the spin so the entries, the wheel state and the winner are all visible in one continuous take.
- Read the list of entries aloud before you spin so anyone watching can verify their name is on the wheel.
- Use elimination mode if you are drawing multiple winners, so no name can win twice.
- Publish the winner immediately in the same channel where you took entries.
- Keep the recording for the length of your promotion's stated dispute window.
Frequently asked questions
Is the Web Crypto API really as random as a physical dice roll?
For any practical purpose, yes. The CSPRNG under getRandomValues is seeded from operating-system entropy that includes hardware sources on modern chips. It is used to protect global financial transactions and government communications — a raffle winner is not asking more of it than that.
Can two people spinning at the same second get the same result?
No. Each browser has its own independent entropy source, and getRandomValues does not use a shared seed. Two spins that start in the same millisecond produce independent random numbers.
What if my browser is old?
The Web Crypto API is supported in every browser released since 2015. If Spin Wheel Picker detects an unusually old browser without it, we fall back to Math.random and warn you — an event that is extremely rare in practice.
Does the number of entries affect fairness?
Not at all. Whether you have 3 entries or 3,000, each entry has an equal probability of being picked on any given spin (1 in N, where N is the number of entries). The visual size of a slice on the wheel is proportional to that probability, so what you see is what you get.
How does elimination mode affect the odds?
Elimination mode removes the winner from the pool after each spin, which changes the odds on subsequent spins but keeps every spin individually fair. On the first spin, everyone has an equal chance. On the second, the remaining entries share the probability the removed entry no longer holds. This is standard sampling without replacement, and it is the correct math for a genuine rotation.
A short glossary
A few terms come up repeatedly in discussions about spin wheel randomness. Here is the plain-English version of each so the technical language does not get in the way.
- Entropy — the amount of unpredictability a system has. High entropy is what makes randomness resistant to prediction.
- Seed — the initial value used to start a pseudo-random sequence. If you know the seed, you can predict every subsequent number.
- CSPRNG — cryptographically secure pseudo-random number generator, the class of algorithm the Web Crypto API uses.
- TRNG — true random number generator, a device that harvests physical entropy. Rarely used directly by web apps.
- Uniform distribution — every possible outcome has the same probability. This is what a fair spin wheel produces.
- Bias — a systematic drift away from uniform distribution. What we work to eliminate at every layer of the picker.
Trust is a design decision, not a marketing line
Fairness in a random name picker is not just an engineering choice — it is a design choice that shows up in defaults, disclosures and observable behavior. Any tool can claim to be random. The ones worth using make that claim verifiable: local-only computation, no network calls during a spin, uniform distribution, and an animation that visualizes a decision the code has already made honestly.
That is the standard we hold Spin Wheel Picker to, and the standard we would encourage you to hold any wheel to before you use it for a prize draw, a giveaway or any decision that will be questioned. Randomness is easy to fake; genuine randomness is easy to demonstrate. Ask for the demonstration.
Ready to spin?
Put this guide into practice with the free, ad-free Spin Wheel Picker — colorful themes, elimination mode and no sign-up.
Related guides
Hand-picked next reads based on this article.
- How to use the Spin Wheel PickerStep-by-step walk-through of entries, themes, elimination mode and sharing.
- Wheel of Names alternativeHow Spin Wheel Picker compares on speed, themes, privacy and features.
- All Spin Wheel Picker guidesBrowse every explainer on classrooms, decisions, giveaways and randomness.