A decision wheel is the tool you reach for when you can’t choose between options and you need a theatrical way to let randomness decide for you. Type a list of options, click spin, and the wheel turns for a few seconds before stopping at a randomly chosen segment. An arrow fixed at the top points to the winner.
Every segment occupies an equal slice of the wheel (360° divided by the number of options), so every option is equally likely to win. The randomness comes from generating a uniformly random stop angle; the spinning is purely visual.
How the math works
The wheel is a disk divided into $N$ equal segments, each occupying $360/N$ degrees. Segment 0 starts at the top (12 o’clock) and subsequent segments sweep clockwise. An arrow is fixed at the 12 o’clock position — whichever segment is currently at the top when the wheel stops is the winner.
Spinning the wheel rotates it clockwise by some angle $R$. In the wheel’s local coordinate system (where 0° is “wherever the top was originally”), the angle now at the top is:
The winning segment index is then:
For randomness, the tool picks $R$ uniformly from a large range (multi-turn to make the animation satisfying plus a random final position). Because the modulo operation is uniform when the input is uniform, each segment has exactly a $1/N$ probability of winning.
The test suite for this tool verifies fairness by sampling 600 stop angles evenly across the full 360° range and checking that each segment is hit exactly $600/N$ times (± 1 for floating point). This is the same property that makes it theoretically fair in real use — the actual randomness source is Math.random(), which isn’t cryptographically secure but is plenty uniform for decision-making.
Example: picking a restaurant
You and three friends can’t decide between a pizza place, a sushi restaurant, a burger joint, and a vegetarian café. Type the four options, one per line, into the input box. The wheel renders with four equal quadrants, each labeled with one restaurant name. Click spin, watch the wheel turn for a few seconds, and whatever it lands on is where you’re going. The four-option probability is exactly 25% per restaurant, and the spin takes long enough (about 4 seconds) to feel meaningful without being boring.
Example: picking a daily task
You have seven open projects and need to pick one to focus on today. Type their names into the wheel and spin. The tool picks one uniformly at random. This is a legitimate productivity technique — when you can’t prioritize by value or deadline (because they’re all equal), random selection beats decision paralysis. The wheel’s ceremony makes you more likely to actually commit to the result than if you’d used a plain random number generator.
Example: yes/no decisions
Two options works — the wheel becomes a split disk with “yes” on one half and “no” on the other. Probability is exactly 50/50, same as a coin flip but with more visual drama. For serious yes/no decisions you probably want to think about the actual question rather than spin a wheel, but for trivial ones (should I have another coffee?) the wheel is a more entertaining coin.
Performance and limits
The SVG-based wheel handles any number of options the underlying math can handle (which is “arbitrarily many”), but readability starts breaking down past about 12 segments — text labels overlap and get hard to read, and the individual slices become too narrow to see clearly. If you have 20+ options, use a random name picker instead; it doesn’t need a visual wheel to work.
The spin animation is a single CSS transform transition, which means the browser handles it on the compositor thread and it runs smoothly even on modest hardware. The actual random selection happens synchronously when you click spin; the animation just visualizes the already-decided outcome.
What this tool does not do
It does not support weighted probabilities — every segment gets an equal slice. If you want an option to be twice as likely as the others, the simplest workaround is to add it to the list twice, which will give it two slices and double its probability.
It does not persist your option list — reload the page and your options are gone. If you need to save a wheel for reuse, copy the options into a text file yourself.
It does not handle elimination mode (where a chosen option is removed from the next spin). Every spin is independent, so the same option can win twice in a row. For an elimination round-robin, you’d need to rebuild the list between spins — or switch to the random name picker, which has a “without repeats” mode built in.