Pseudo-random versus cryptographic randomness, why every segment is genuinely equal, and why repeat winners are normal rather than evidence of a rigged wheel.
The short answer
Every spin on this site asks the browser for a fresh random value through crypto.getRandomValues(), and that value alone decides where the pointer stops. Each entry occupies an identical slice of the wheel. Nothing reads the names, weights a position or remembers previous results. With 40 entries, every entry has a 2.5% chance on every spin.
The longer answer is more interesting, because "random" is a word people use to mean several different things.
Three kinds of random
True randomness
Derived from a physical process — radioactive decay, thermal noise, atmospheric noise. Unpredictable in principle, not just in practice. Overkill for picking who answers question four.
Pseudo-randomness
A deterministic formula that produces a sequence with the statistical properties of randomness. Math.random() is this. Given the same starting seed it produces the same sequence, and in older browsers the seed was sometimes guessable. It is perfectly adequate for games and for classrooms, but "adequate" is doing some work in that sentence.
Cryptographically secure pseudo-randomness
The middle ground, and what this wheel uses. The generator is seeded by the operating system from sources like hardware timing and device entropy, and it is specifically designed so that observing past outputs does not let you predict future ones. It is the class of generator used for session tokens and encryption keys. If it were predictable, far more than a name wheel would be broken.
Why the animation does not affect the result
This surprises people: the winner is decided before the wheel visibly slows down. The random value determines the final resting angle, and the animation then eases the wheel from its current position to that angle over the number of seconds you chose. The number of rotations, the easing curve and the ticking pointer are presentation. Changing the spin length from three seconds to twelve changes the drama and nothing else.
This is also why a longer spin does not produce a "more random" result. There is no physics being simulated, no friction to model, no way for the length of the animation to influence which segment is under the pointer at the end.
Equal segments, equal odds
The wheel divides 360 degrees by the number of entries. Twelve names means twelve 30-degree slices. There is no house edge, no favoured position, and no code path that treats the first line of your list differently from the last. If you sort the list alphabetically, the order on the wheel changes and the odds do not.
Deliberate weighting
If you want unequal odds — five raffle tickets for one buyer, three merit points for one student — add the name that many times. Five entries among a hundred is a 5% chance, and anyone watching can count the segments. Visible weighting is the honest kind, which is why the raffle guide recommends it over invisible multipliers.
Why the same name comes up twice
This is the most common complaint about any random picker, and the wheel is almost never the problem. Independent draws have no memory. In a class of 30, the chance that the same student is picked twice in a row is 1 in 30 — which means it happens roughly once every thirty pairs of spins. Across a term, it happens constantly.
Stranger still: with 30 students and 30 spins, the chance that every student gets picked exactly once is astronomically small. Clustering is what randomness actually looks like. Perfectly even spacing is what designed sequences look like, and people mistake the second for the first.
If you need each name exactly once, that is not a randomness setting — it is a different model. Switch on "remove winner after each spin" and the wheel draws without replacement, guaranteeing full coverage before anyone repeats.
Can I verify any of this?
Yes, in three ways. Open your browser's developer tools and read assets/js/wheel.js — it is unminified on purpose. Disconnect from the network and keep spinning; nothing is being fetched, so nothing external can be influencing the result. Or run an empirical check: put five names on the wheel, spin fifty times, and tally the outcomes. Expect roughly ten each, with real deviation — anything between six and fourteen is unremarkable at that sample size.
What this wheel is not
It is not a certified or audited gaming RNG. If you are running a licensed lottery or a regulated competition, you need equipment and processes that carry certification, and the terms of use say so plainly. For classrooms, community raffles, giveaways and every ordinary decision, a cryptographic generator with equal segments is more than enough.
Related reading
Wheel vs dice vs coin flip compares the everyday methods. Using randomness to beat decision fatigue looks at when you should hand a choice over at all. And the practical classroom version is in using a random name picker in the classroom.
Try it while it is fresh
The wheel is free, needs no account, and keeps your list in your own browser.