How it works
Each entry gets a slice sized by its weight. When you spin, the winner is drawn first with your browser’s cryptographic random number generator (crypto.getRandomValues), then the wheel animates to land on it, so the animation can’t be gamed. The share link stores your list after the # in the URL, which browsers never send to the server.
Chance of an entry = its weight ÷ total weight (e.g. Pizza *3 among 6 entries = 3 ÷ 8 = 37.5%)
Tips
- Use “Remove the winner” to draw several people in turn without repeats, like a raffle.
- Tap the wheel itself or press Enter to spin again.
- Shuffle only changes where slices sit on the wheel; the odds stay the same.
- Send the share link so everyone sees the same wheel and can spin it themselves.
Standards and sources
- Web Cryptography API — getRandomValues() · W3C
- NIST SP 800-90A Rev. 1 — random bit generators · NIST
Last reviewed October 15, 2026
Frequently asked questions
Is the wheel really random?
Yes. The winner is chosen with crypto.getRandomValues, the same generator browsers use for security, before the animation starts. Each entry’s chance is its weight divided by the total.
How do I give one option a better chance?
Add *2, *3 and so on after it, for example “Pizza *3”. Its slice grows and its odds triple compared with an entry of weight 1.
How do I pick several winners without repeats?
Tick “Remove the winner after each spin”. The winner is taken off the list after every spin.
Is my list saved anywhere?
No. It stays in your browser. If you copy the share link, the list is encoded in the link itself, after the #, which is not sent to our server.