Spinner Wheel

Free random picker — add your options, hit spin, get a winner instantly. No account. Nothing leaves your browser.

Spin to find a winner!

How to use the Spinner Wheel — 3 worked examples

1. Classroom name picker

Paste your class list — one student per line — into the options box. Hit SPIN. Enable Remove winner so the same student isn't called twice in a row. Share the URL with a colleague so they can run the same wheel from their device.

2. Dinner decision maker

Click the Dinner Ideas preset to load seven options (Pizza, Sushi, Tacos…). Hit SPIN and let fate decide tonight's meal. If someone vetoes the result, remove that option and spin again — the wheel narrows itself automatically when Remove winner is on.

3. Team task assignment

Enter each team member's name. Add a task label after a colon if you like (e.g. Alice: code review). Spin once per task. Because the winning name is removed each round, every person gets a unique assignment before anyone is picked twice.

Frequently Asked Questions

How does the random picker choose a winner?

The winning segment is chosen instantly using Math.random() before the animation begins. The wheel then spins for roughly 4 seconds with an ease-out animation and lands on the pre-selected winner. The distribution is uniform — every option has exactly equal probability.

Is the wheel truly random?

The wheel uses JavaScript's Math.random(), a pseudo-random number generator seeded by the browser engine. It is more than sufficient for games, classroom picks, and informal decisions. For cryptographically secure randomness (e.g., regulated lotteries) you would need a certified hardware RNG.

Can I save my wheel without an account?

Yes — two ways. First, your most recent wheel is automatically saved to localStorage and restored the next time you open the page. Second, clicking Share generates a URL with all your options encoded in the hash, which you can bookmark.

How do I share a wheel with friends?

Click the Share button. The tool encodes all your options into the URL hash using encodeURIComponent and copies the link to your clipboard. Anyone who opens that link sees your wheel immediately, ready to spin.

Can I weight some options more than others?

Yes — just add an option multiple times. For example, enter Pizza three times and Salad once. Pizza now has a 75% chance of winning because it occupies 3 of 4 segments.

Can I remove a name after it's been picked?

Yes. Enable the Remove winner checkbox before you spin. Once a winner is displayed, that name is automatically removed from the list so subsequent spins can't pick the same person twice.

Does this work offline?

Yes. Once the page has fully loaded, the spinner runs entirely inside your browser with no further network requests. You can disconnect from Wi-Fi and it will continue working perfectly.

Is my list of names sent to a server?

No. Your options live only in your browser's memory and localStorage. When you use Share, they are encoded in the URL hash fragment — the part after # — which browsers never transmit to the server. Your data is completely private.

How many options can the wheel hold?

The wheel supports up to 100 options. Segment labels remain legible up to around 30 entries; beyond that the text is very small. We recommend keeping your list under 30 for the best visual experience.

Can I use this for raffles or giveaways?

Absolutely — for informal raffles, office giveaways, or classroom draws this tool works great. It is not certified for legally regulated gambling or lotteries that require a licensed and audited random-number generator under gaming law.

About this Spinner Wheel

The plato·potato Spinner Wheel is a free, browser-based random picker you can use for anything that needs a fair, impartial decision: classroom name draws, dinner choices, team assignments, party games, or just settling an argument. There is no sign-up, no paywall, and no hidden data collection.

How it works technically. When you click SPIN, the tool calls Math.random() once to pick a winning index, then computes the target rotation angle for the Canvas wheel. The wheel animates with a smooth ease-out curve over roughly 4 seconds, landing precisely on that pre-chosen segment. You see the animation; the decision was already made — it's purely cosmetic, and the result is always the same winner regardless of animation speed.

Your privacy is the default, not a feature. Everything runs in JavaScript inside your own browser tab. The options you type are never uploaded, never logged, and never associated with your IP address or any identifier. When you share a wheel via URL, the options are encoded in the hash fragment of the URL. The hash is a client-side-only portion of a URL — HTTP spec requires browsers to strip it before sending a request to the server — so even the hosting server never sees your list.

localStorage persistence. After each spin your current wheel is saved to the browser's localStorage under the key spinWheel_options. This data stays on your device and is never transmitted anywhere. You can clear it at any time through your browser's developer tools or site data settings.

No external scripts. The wheel is built with a single HTML file using the native Canvas API and vanilla JavaScript. There are no JavaScript framework dependencies, no CDN fetches, and no third-party trackers beyond Google AdSense (which you can block with an ad blocker) and Cloudflare's anonymised beacon (which counts page views without tracking individuals). This design keeps the page fast — typically under 50 KB — and means you can even save the page and run it from your desktop.

Customisation tips. Use the preset buttons for quick starts (Yes/No, 1–10, Days of the Week, Dinner Ideas). Paste any list from a spreadsheet — each row becomes one option. Duplicate entries act as weighted options. The Shuffle button randomises the visual order of segments without changing probabilities. The Share button lets you distribute a permanent link to any custom wheel configuration you create.