Wheel of Names
Type your options — names, tasks, restaurants, anything — and spin: the winner is picked BEFORE the spin with crypto.getRandomValues (uniform, unbiased) and the wheel animates to it deterministically. Up to 40 options, spin history and remove-winner mode for consecutive draws.
The winner is picked BEFORE the spin with crypto.getRandomValues rejection sampling (uniform, unbiased); the wheel animates to it deterministically. No setInterval, no Math.random.
Built by
Miguel Ángel Colorado Marin (MACM)
Built by
Miguel Ángel Colorado Marin (MACM)
Full-Stack Developer · Guadalajara, España
I develop web apps, digital tools and full projects — from design to deployment.
A decision you can't decide, a classroom raffle, a prize among followers: the wheel cuts the debate — but most online wheels «decide» with Math.random. This one uses crypto.getRandomValues with rejection sampling to pick the winner — every option has exactly the same probability — and the wheel animates deterministically to that segment, with a random landing point inside the arc. Up to 40 options (duplicates merge), adjustable 2-8 second spin, timestamped history and remove-winner mode. The segment math and the angle-to-winner mapping are verified with a 404-test bank including 1500 simulated spins — each lands exactly on the chosen winner.
Features
- ✓Up to 40 options with duplicated lines merged automatically
- ✓Winner picked with crypto.getRandomValues rejection sampling: uniform, unbiased
- ✓Physically coherent spin: the wheel lands exactly on the winner
- ✓History of the last 20 draws with timestamps and remove-winner mode
- ✓Automatic colors with label contrast for perfect readability
How to run a raffle with a wheel?
- 1
Type the options
One per line, up to 40; duplicated lines merge automatically.
- 2
Tune the spin
Duration from 2 to 8 seconds and whether the winner leaves the wheel for the next draw.
- 3
Spin
The pointer marks the winner; the result is highlighted and logged to the history.
- 4
Repeat without repeats
With «remove winner» on, each spin draws a new option: perfect for ordering tasks or turns.
Frequently asked questions
Is the wheel rigged or biased?
No — and it's verifiable: the winner is picked with crypto.getRandomValues using rejection sampling, the technique that removes modulo bias. Every option has exactly 1/N probability. The wheel only animates to the already-chosen result, like any physical wheel: the spin is theater, the decision is cryptographic.
Can I use it in class or for live streams?
Yes: the embeddable version fits any page in an iframe, and the browser's fullscreen (F11) makes it readable from the back of a classroom or on a stream. The history keeps the last 20 draws with timestamps, so you can verify who won and when.
How many options does it take and what about duplicates?
Up to 40 options with readable labels. Duplicated lines merge automatically (pasting a list with repeats won't create duplicate segments), and you can remove each winner manually after a spin.
Related tools
Embed Wheel of Names on your site
Add Wheel of Names to any web page with a simple iframe. Free, with attribution to miguelacm.es.
<iframe
src="https://miguelacm.es/embed/wheel-of-names"
width="100%"
height="700"
frameborder="0"
title="Wheel of Names — miguelacm.es"
></iframe>View embed in new tab →