Skip to content

Decision Wheel

YesNoMaybeAsk again laterDefinitelyNever

Click spin to pick one

Estimates for educational purposes — not financial, medical, or legal advice. See terms.

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:

localTop=(360R)mod360\text{localTop} = (360 - R) \bmod 360

The winning segment index is then:

index=localTop360/NmodN\text{index} = \left\lfloor \frac{\text{localTop}}{360/N} \right\rfloor \bmod N

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.

Frequently asked questions

Is the wheel actually fair?

Yes. Each segment occupies exactly 1/N of the 360° wheel, and the stop angle is generated uniformly from the full rotation range, so every segment is equally likely to land under the arrow. The unit tests verify this by sampling stop angles across the whole range and confirming each segment is hit the expected number of times. The visual spin is just animation — the actual selection is determined by the randomly generated stop angle.

Why use a wheel instead of just picking a random item?

The wheel is a theatrical frame for a decision you want to feel neutral about. When you can't make up your mind between five restaurants, clicking 'random pick' feels like cheating — the result comes out instantly and you're tempted to reroll. A spinning wheel makes the result feel earned: you committed to whatever lands at the top once the spin started. It's the same reason people flip coins instead of using a random number generator for yes/no decisions.

How many options can the wheel handle?

Up to about 12 before the labels start overlapping. Beyond that you need finer text or a bigger wheel. The math works for any number, but readability breaks down quickly. For very large lists, consider the random name picker tool instead — it's designed for longer lists where the visual feedback matters less.

The wheel keeps stopping on the same option. Is it broken?

Almost certainly not. Our brains are terrible at recognizing true randomness — 'stopping on the same option three spins in a row' is more likely than most people think, especially with small wheels. For a 4-option wheel, the probability of getting the same answer twice in a row is 1/4 = 25%, and the probability of seeing any repeat in 10 spins is very high. If you're genuinely worried about fairness, run the test that ships with the tool — it verifies uniform sampling across 600 angle samples.

Can I weight some options more than others?

Not in this version. Every option gets an equal slice of the wheel. If you want weighted selection, you can duplicate an option a few times in the list — an option that appears twice will have twice the slice area, so twice the selection probability. Dedicated weighted randomizers are a better fit for anything more elaborate than that.