Wheel Picker: a provably fair random name picker
A free wheel picker that spins to choose a name, prize, or decision at random. Add your options, spin, and let the pointer settle on a fair winner.
One entry per line. Add *3 after an entry to give it triple weight, e.g. Pizza*3. Blank lines are ignored.
Each entry's real chance of winning a single fair spin, from its share of the wheel.
A wheel picker built around fairness
Anyone can draw a colourful wheel; the question that matters is whether the spin is honest. This picker draws its winner from the browser's cryptographic random generator, the same class of randomness used for security tokens, not the ordinary Math.random that most pickers rely on, and the result is the segment genuinely under the pointer, computed from the wheel's final angle rather than chosen in advance and faked. On top of that fairness it adds the features decisions actually need: weighted entries with a live odds readout, an elimination mode that removes each winner for draws and brackets, multi-winner spins, shareable wheels encoded in the link, and a running history with tallies. Everything happens in your browser; nothing is uploaded, and the page works offline once loaded.
Are online wheel pickers actually random?
They are only as random as the code behind them, and most use JavaScript's Math.random, which is fast but not designed to be unpredictable or unbiased for fairness-critical use. This picker instead draws from crypto.getRandomValues, the browser's cryptographically secure generator, and maps that draw onto the wheel in proportion to each entry's share, so a quarter of the wheel wins almost exactly a quarter of the time over many spins. Just as important, the winner reported is the segment the pointer truly lands on, derived from the final rotation, so what you see is what was picked.
The fairness section shows the difference between the two randomness sources and why it matters for giveaways.
How to use the wheel picker
Type your entries
One per line in the Entries box: names, options, chores, restaurants, anything. The wheel redraws as you type, assigning each entry a colour and an equal slice unless you weight it.
Weight anything that needs it
Add an asterisk and a number to change an entry's odds, like Pizza*3 for triple the chance. The Odds tab shows every entry's exact probability, so the weighting is never a mystery.
Choose a mode
Turn on Remove winner after spin for draws that should not repeat a name, or pick two or three winners per spin for team-making and multi-prize giveaways. Sound and confetti are optional.
Spin
Press Spin, the centre hub, or the wheel itself. It accelerates, decelerates smoothly to a stop, and announces the segment under the pointer. The result is logged in the History tab with a tally.
Share the exact wheel
Copy shareable link encodes your entries and weights into the URL, so a colleague or classroom opens the identical wheel. Nothing is stored on a server; the link itself carries the wheel.
Provably fair: crypto, not Math.random
Two random-number sources sit in every browser, and they are built for different jobs. The ordinary one is fast and fine for animations; the cryptographic one is built to be unpredictable and unbiased, which is what a draw deserves. This picker uses the cryptographic source and then maps it onto the wheel with rejection sampling, the standard technique for turning random bytes into a fair choice among any number of options without the rounding bias a naive modulo introduces.
| Property | Math.random (typical pickers) | crypto.getRandomValues (this picker) |
|---|---|---|
| Designed for | Speed, games, visuals | Security and fairness |
| Predictable? | Potentially, from prior outputs | No, by design |
| Bias across options | Possible via naive modulo | Removed by rejection sampling |
| Suitable for prize draws | Not defensible | Defensible |
| Reproducible / riggable | Easier to seed or fake | Drawn fresh from the OS each spin |
The pipeline from random bytes to a winner. Rejection sampling discards the rare draws that would over-represent some entries, which is what keeps a 7-entry wheel exactly one-seventh each rather than slightly biased.
Weighted spins and the real probabilities
By default every entry gets an equal slice, so the chance of any one winning is simply one divided by the number of entries. Weighting changes the slice sizes: an entry with weight 3 on a wheel whose weights total 10 owns three-tenths of the wheel and wins three-tenths of the time. The Odds tab computes this live, and the chart shows how the equal-slice probability falls as a wheel grows.
Equal-entry win probability is exactly 1 divided by the entry count: 50% at two entries, 10% at ten, 1% at a hundred. Weighting redistributes these shares without changing their total of 100%.
| Entry | Weight | Probability | Slice angle |
|---|---|---|---|
| Common | 4 | 40.0% | 144° |
| Frequent | 3 | 30.0% | 108° |
| Occasional | 2 | 20.0% | 72° |
| Rare | 1 (×2 entries) | 10.0% total | 36° total |
Elimination, multi-winner, and shareable wheels
Draw without repeats
Turn on Remove winner after spin and each result drops off the wheel, so a raffle for several prizes or a turn order for a group is drawn cleanly in sequence, no name twice. Re-adding everyone is one click away in the Entries box.
Pick a team in one spin
Choose two or three winners per spin to split a class into groups, draw a panel, or hand out several prizes at once. The picks are drawn without replacement, so the same entry cannot win twice in a single spin.
The wheel travels in the link
The share button packs every entry and weight into the URL. Send it to a class, a team, or a stream chat and they open the exact wheel, ready to spin, with nothing saved on any server and no account required.
One wheel, every kind of decision
Cold-calling and groups, fairly
A name wheel makes participation visibly random, which students accept in a way they never accept a teacher's gaze. Elimination mode calls every student once before repeating, and multi-winner spins build project groups in seconds. The shareable link puts the same class list on the board each morning.
Draws people believe
For a prize draw, fairness has to be defensible, which is exactly why this wheel uses cryptographic randomness and shows the real odds. Weight entries by the tickets each person bought, spin on stream, and let the pointer settle where everyone can see it.
End the "where do we eat" loop
Load the restaurants, the chores, the movie shortlist, and let the wheel break the tie your group cannot. Weight the options you secretly prefer, or keep them equal and accept fate; either way the decision is made in one spin instead of twenty minutes.
Audience-driven chaos
Wheels are a staple of livestreams and party games: spin for challenges, forfeits, viewer picks, or the next game. Confetti and sound make the reveal land, and the history tally keeps the running joke of who keeps winning honest.
What most wheel pickers leave out
| Capability | Typical picker | This picker |
|---|---|---|
| Randomness source | Math.random, unstated | Cryptographic, with rejection sampling, explained |
| Weighted entries | Equal slices only | Per-entry weights with a live odds readout |
| Elimination mode | Sometimes | Remove-on-win for clean draws |
| Multi-winner spins | Rare | Two or three winners, drawn without replacement |
| Shareable wheel | Account or save-to-cloud | Encoded in the link, no account |
| Winner matches the pointer | Sometimes faked or pre-chosen | Read from the final angle, verified |
| Privacy | Entries sent to servers | Fully client-side; works offline |
| Ads and signup | Ad-loaded, sign-in walls | Free, no account, no ads |
Six wheel-picker mistakes
Assuming every picker is fair
Most do not say what randomness they use, and a picker can be coded to favour an outcome without any visible sign.
Use a picker that states its method. This one draws from cryptographic randomness and shows the real odds.Confusing slice size with odds when weighting
Add a weight and the slice grows, but people often forget the other slices shrank to match, so the percentages no longer match a quick eyeball.
Read the Odds tab, which recomputes every probability the moment a weight changes.Re-spinning until you like the result
Spinning repeatedly and keeping the answer you wanted turns a fair tool into a rigged one, just with extra steps.
Decide the rule before the spin: first result stands, or use elimination mode for a defensible sequence.Too many entries to read
A wheel with eighty names is unreadable and the slices vanish, so nobody can verify the pointer landed where it says.
For very large lists a wheel is the wrong shape; keep wheels to a couple dozen entries for legibility, or draw in rounds.Forgetting elimination is on
Leaving Remove winner after spin enabled when you wanted repeats slowly empties the wheel and surprises you mid-session.
Glance at the entry count and the mode toggles before a fresh round; the count updates after every spin.Treating the wheel as truly unpredictable offline math
Browser randomness is excellent but is not a public, auditable lottery draw; for legally regulated draws, rules may require certified equipment.
For casual and most business draws this is ideal; for regulated lotteries, follow the certification your jurisdiction requires.Picker terms, defined
- Provably fair
- A draw whose method is stated and sound, so the outcome cannot be quietly steered. Here it means a cryptographic draw mapped to the wheel without bias, with the winner read from the pointer.
- crypto.getRandomValues
- The browser's cryptographically secure random generator, seeded by the operating system, designed to be unpredictable and unbiased, unlike the ordinary Math.random.
- Rejection sampling
- The standard way to turn random bytes into a fair choice among N options: discard the few draws that would over-represent some options, eliminating the rounding bias a plain modulo introduces.
- Weight
- A multiplier on an entry's share of the wheel. Weight 3 means three times the slice and three times the odds of a weight-1 entry on the same wheel.
- Probability
- An entry's chance of winning one spin: its weight divided by the total weight of all entries, shown as a percentage in the Odds tab.
- Elimination mode
- Removing each winner from the wheel after it is drawn, so a sequence of spins never repeats a name, the right setting for raffles and turn orders.
- Without replacement
- Drawing so that an item already chosen cannot be chosen again in the same draw, how multi-winner spins pick two or three distinct entries.
- Slice angle
- The wedge an entry occupies, in degrees: its probability times 360. A 25% entry spans a 90-degree slice.