Paste your options, check the odds, then spin the wheel
A random roulette is for the moment when you have several options and want one of them picked in front of everyone. Lunch, presentation order, who takes the forfeit, which game to play: these are choices where someone always grumbles, and when the list, the odds and the result are all on one screen, nobody has to ask "wait, how did that get picked?"
On the wheel above every item starts with weight 1, so every item has the same chance. With 6 items that is 16.7% each. Change a weight and both the slice size and the probability change together. Turn on No repeats and each picked item leaves the wheel, so you can settle a whole order to the very end.
How to use the roulette
- Add items: paste your options separated by commas or line breaks. A list copied from a chat app or notes splits into slices as it is. You can also start from a quick example (lunch, presentation order, yes/no, numbers 1-10).
- Set weights (optional): in the items and probability table, change a weight anywhere from 1 to 99. The probability and the slice update right away, so everyone can check before the spin.
- Spin: press the Spin button or the wheel. With a keyboard, focus the wheel and press Enter or Space. It spins for about 4 seconds, stops, and shows the result with its win probability.
- Set an order: with No repeats on, each picked item leaves the wheel. When one item is left it automatically takes the last place. Press Refill to go back to the starting list.
- Record and share: the result history keeps the last 20 spins, and Copy history gives you a numbered list starting at 1. For a group, use full screen and spin with Space.
Win probability is weight divided by total weight
The chance of an item is its weight divided by the total weight of the items still on the wheel. The slice size uses the same ratio, so the picture and the numbers never disagree. The total does not need to be 100: weights 2 and 5 give the same result as 20 and 50.
| Setup | Weights | Probability |
|---|---|---|
| All 6 equal | 1·1·1·1·1·1 | 16.7% each |
| One of 6 doubled | 2·1·1·1·1·1 | 28.6% · 14.3% each for the rest |
| One of 6 tripled | 3·1·1·1·1·1 | 37.5% · 12.5% each for the rest |
| Pizza tripled among 4 | 3·1·1·1 | 50.0% · 16.7% each for the rest |
| Yes/No at 2 : 1 | 2·1 | 66.7% · 33.3% |
| Three shares at 5 : 3 : 2 | 5·3·2 | 50.0% · 30.0% · 20.0% |
Probabilities are rounded to one decimal place, so the displayed values may add up to slightly more or less than 100.0%. Entering the same name twice gives that item two slices, which is the same as giving it weight 2. If you enter a name several times and also raise its weight, the effects multiply, so use only one of the two.
The random number decides first, not the wheel
The moment you press Spin, the browser's cryptographic random generator (Web Crypto's crypto.getRandomValues) draws one integer from 0 up to the total weight minus 1, and the winner is the item whose cumulative weight range contains that number. Taking a 32-bit random number modulo the total would make the lowest values come up very slightly more often, so numbers in the leftover tail that does not divide evenly are thrown away and drawn again.
The wheel is then turned to stop inside the chosen slice (away from the outer 15% of its edges), after 5 to 7 turns and a slow stop. The spin speed, the number of turns and the colors tell you nothing about the result. The pointer flicks every time it crosses a slice boundary, so you can see which slice it is passing. If your device has "reduce motion" turned on, the wheel does not spin and the result appears immediately.
Seeing the same item again is normal
The roulette draws fresh every time and does not remember earlier results. That is why a short run looks less even than most people expect.
| Equal-chance items | Chance the item just picked comes up again | Chance that n spins show every item exactly once | Average spins until every item has come up at least once |
|---|---|---|---|
| 4 items | 25.0% | 9.4% | 8.3 spins |
| 6 items | 16.7% | 1.5% | 14.7 spins |
| 10 items | 10.0% | 0.04% | 29.3 spins |
Even after 10 spins of 6 items, there is a 16.2% chance that some particular item never came up. The result distribution bars add up how often each item was picked after every spin and mark the probability with a vertical line. Past a few dozen spins you can watch the bars gather near their lines. If everyone has to be picked exactly once, use No repeats.
Setting a whole order with No repeats
With No repeats on, a picked item leaves the wheel and the remaining items share the probability again. With n items you spin n − 1 times and the last one is set automatically. The number of possible orders is 24 for 4 items, 720 for 6 items and 3,628,800 for 10 items.
- Paste 'Team 1, Team 2, Team 3, Team 4, Team 5, Team 6' or press the presentation order example.
- Turn on No repeats. Do it before the first spin so nothing repeats from the start.
- Press Spin 5 times. Each picked team shows "Pick #n" in the table, and the last team automatically becomes number 6.
- Press Copy history and paste it into the group chat. The team picked first is number 1.
Filling the wheel by repeating a pattern
Use this when you need a wheel where the same names repeat in a fixed order. Applying 'Alex, Sam' to 6 slots gives Alex, Sam, Alex, Sam, Alex, Sam, so the two share the wheel half and half. Applying 'A, B, C' to 10 slots gives A 4 slots and B and C 3 slots each, so the probabilities are 40%, 30% and 30%. If the slot count does not divide evenly by the pattern length, the earlier items get one slot more.
When people use it
- Lunch or team dinner: put in every option and spin once. You can lower the weight of what you ate yesterday.
- Presentation, cleaning or duty order: set the full order with No repeats, then copy the history and post it.
- Who answers in class or in a meeting: enter the names and turn on No repeats so nobody is picked twice.
- Games and forfeits: show it big in full screen and spin with Space.
- Yes/No decisions: use it to settle between two choices, and if you lean one way, you can show that with a heavier weight.
Common mistakes
- Entering the same name twice: it gets two slices and double the chance. Delete one if you did not mean it.
- Spinning with repeats allowed to set an order: the same team can come up twice. Turn on No repeats before the first spin.
- Long item names: the wheel shows only the beginning. A short 'Team 3' reads better than 'Team 3 Alex Johnson'. The full name appears in the table and the result.
- Refreshing without copying the result: the list and history are not saved, so they disappear.
Limits and cautions
- You can use 2 to 100 items of up to 40 characters each, with weights from 1 to 99. When a slice is too narrow (under 6 degrees, or with more than 60 items), the label is not drawn on the wheel and appears only in the table.
- The result exists only in this browser and is not kept on a server. Nobody can prove who spun which list and when, so it is not suited to prize draws or official drawings where fairness has to be proven.
- In a very old browser without Web Crypto, Math.random is used instead. Math.random is not a cryptographic random number generator.
- The roulette is a tool for choosing among options you pick yourself. It has no payouts and no betting of money.
Reference date The probabilities in this article are calculated as weight divided by total weight, and the random number explanations were checked against MDN on 2026-10-09.
Sources
- 01MDN: Crypto.getRandomValues()The Web Crypto function that fills an array with cryptographically strong random values
- 02MDN: Math.random()Notes that it is not cryptographically secure and that Web Crypto should be used when security matters
Frequently asked questions
Is every item equally likely to be picked?
Yes, if all weights are 1. With 6 items each has 1 ÷ 6, which is 16.7%. If you change weights, an item's probability becomes its weight ÷ the total weight, and the slice size on the wheel changes by the same ratio.
How are weights calculated?
If Pizza has weight 3 and Burgers, Sushi and Tacos have weight 1, the total is 6, so Pizza is 3 ÷ 6 = 50.0% and each of the others is 1 ÷ 6 = 16.7%. The total does not need to be 100, and the same ratio gives the same result.
If the same item comes up twice in a row, is it rigged?
No. Every spin is drawn fresh, so with 6 equal items the chance that the item just picked comes up again is also 16.7%. The chance that 6 spins show all 6 items exactly once is only 1.5%, and it takes 14.7 spins on average for all 6 to have come up at least once.
How do I set a presentation order?
Enter the team names, turn on No repeats and spin. Each picked item leaves the wheel, and when one is left it automatically takes the last place. With 6 teams, 5 spins set the whole order, and Copy history lets you paste the order starting from 1.
Does the position where the wheel stops decide the result?
The other way around. The moment you press Spin, a Web Crypto integer picks the winner first, and the wheel turns to stop inside that slice. The spin speed and number of turns are just show and do not affect the result.
Can I add many items at once?
Yes. You can separate them with commas, line breaks, semicolons or tabs. Paste a list from a chat app or notes and the slices are built at once, with empty entries and surrounding spaces dropped. You can use 2 to 100 items of up to 40 characters each.
Can I use it for a prize draw or an official drawing?
We do not recommend it. The result stays only in this browser and there is no record proving who spun which list and when, so it cannot serve as evidence if fairness is questioned later. Use it for things decided together on the spot, like lunch or presentation order.
Are my list and history kept after a refresh?
No. Items and results are neither sent to a server nor saved, so refreshing or closing the tab returns you to the starting example. Press Copy history first if you want to keep the results.