How to Use the Spin Wheel

This guide documents all 14 user-facing actions of the Spin and Wheel random name picker — a browser-based tool that assigns each entry an equal arc on an HTML5 Canvas wheel, producing a 1/N selection probability. The page covers a three-step quick start and a detailed reference for every button, toggle, and keyboard shortcut on the main wheel.

Open the wheel

Quick start

  1. Add your entries

    Type or paste your list into the Entries textarea — one item per line. Names, options, tasks, prizes, anything you want to randomize. There is no upper limit on entry count beyond browser localStorage capacity (typically 5 MB per origin).

  2. Spin the wheel

    Click the Spin button below the wheel, or click the wheel canvas itself. The rotation runs for 3.5 seconds with an easeOutQuart deceleration curve and lands on a random entry with 1/N probability — every entry has an identical chance, regardless of position on the wheel.

  3. Use the result

    The winner appears in a modal. From there you can spin again, remove the winner from the list, or close the modal — and your winners are tracked in the Winners tab automatically.

All available actions

Entry editing

Entries textarea

The Entries textarea holds the list the wheel picks from — one item per line, with a live counter showing the number of non-empty rows. Each entry occupies a 360°/N arc of the wheel, so the probability of selection is exactly 1/N regardless of entry length or position. There is no upper limit on entry count beyond browser localStorage capacity (typically 5 MB per origin).

Tip: paste from a spreadsheet column to bulk-add many entries at once.

Shuffle

Randomly reorders all entries in the textarea. Useful when you want different neighbours on the wheel between spins, or to remove any pattern from a sorted list.

Shuffling does not change the outcome probability — every entry still has 1/N odds.

Sort

Sorts the entries alphabetically (A–Z). Handy for cleaning up a long pasted list or grouping similar entries together before sharing the wheel.

Like Shuffle, sorting only changes display order, not fairness.

Clear

Removes every entry from the textarea in one click. The wheel becomes empty and you can start a fresh list.

Cleared lists are not recoverable — share the URL first if you want to keep a copy.

Spinning & results

Spin (Rotate the Wheel)

Starts the rotation animation, fixed at 3,500 ms with an easeOutQuart deceleration curve to ensure consistent feel and outcome fairness. Two triggers exist: the Spin button beneath the wheel and a direct click on the wheel canvas. The Entries textarea is disabled during rotation to prevent the entry list from changing mid-spin, which would invalidate the running probability calculation.

Animation duration is intentionally fixed so no entry can be biased by spin length.

Winners tab

Every winner is appended to the Winners tab automatically. Switch tabs to see the full history of results, with a counter showing how many winners have been picked so far.

Use the Clear button on the Winners tab to reset history without touching your entries.

Remove winner / Use as entries

From the winner modal, the Remove button drops the winning entry from the wheel — perfect for raffles where each name should win only once. The Use as entries button on the Winners tab moves all winners back into the spin list.

Combine both to run elimination rounds: spin, remove, repeat.

Auto-spin

After a winner is shown, the modal can automatically trigger the next spin. Toggle the checkbox to enable it and set the countdown in seconds. The countdown resets every time a new winner appears.

Default countdown is 30 seconds — change it to suit your event pace.

Playback & display

Voice-over winner

When enabled, the winner's name is read aloud through the browser's Web Speech API (SpeechSynthesis interface, W3C Community Group specification). The voice and language are selected automatically to match the active interface language across the seven supported locales. The toggle state in the winner modal is persisted in localStorage as voiceOver_.

Voice quality and language depend on your operating system's installed voices.

Spin sound

A click-tick sound plays during rotation, like a real prize wheel. Toggle it on or off using the speaker icon in the page header — the setting persists across sessions.

Mute it for classroom or office settings where ambient sound matters.

Fullscreen mode

Clicking the fullscreen icon in the header invokes the browser Fullscreen API (Element.requestFullscreen()), expanding the wheel canvas to occupy the entire viewport. The mode is supported in all evergreen browsers (Chrome, Edge, Firefox, Safari 16.4+) and is well-suited to presentations, projectors, and screen-shared video calls.

Press Esc to exit fullscreen at any time.

Persistence & locale

Save lists (auto)

Entries are persisted automatically to the browser's localStorage (Web Storage API, W3C Recommendation), keyed per language as mainInput_en, mainInput_fr, and so on. Storage survives tab close, browser restart, and reboots until the user clears site data. Per-origin capacity is typically 5 MB, sufficient for tens of thousands of entries.

Saved per language: switching to French gives you a separate French list.

Share via link

The page URL is updated on every keystroke via the History API (history.replaceState) to encode the current entry list as a URL-safe query parameter. Sharing the address transfers the wheel state without a server round-trip — recipients open the link and see an identical configuration on their own device. List size is bounded only by typical browser URL limits (~2,000 characters in older clients, ~32,000 in modern Chromium).

No accounts, no servers — the list lives inside the URL itself.

Language switcher

The wheel is available in 7 languages: English, French, Spanish, Japanese, Portuguese, German, and Polish. Choose your language from the footer — the entire interface, including the voice-over, switches instantly.

Each language keeps its own saved entry list, so they don't overwrite each other.

Try the wheel now