Spin the Wheel

Paste your choices and spin a random wheel to pick a winner. Remove winners, shuffle entries, use equal or custom weights and spin again.

Spin the wheel

Paste any list. Each non-empty line becomes a wheel entry.
    Wheel preview

    Options

    Spin history

    Stored only in this browser.

    No spins yet.

      Advertisement

      The winner is selected with browser Web Crypto randomness before the wheel starts spinning.

      How to Use

      1. Type or paste your choices into the text area, one per line.
      2. Press Apply list to draw the wheel. Use the checkboxes to include or exclude single entries.
      3. Optionally enable custom weights and set a weight per entry, or shuffle the list order.
      4. Press Spin the wheel. The winning entry appears under the wheel and is added to the history.
      5. Copy, remove or keep the winner, then spin again for the next round.

      How It Works

      When you spin, the tool first selects a winning index with crypto.getRandomValues(). In equal mode every enabled entry has identical probability; in weighted mode the selection is proportional to each entry’s weight. Only after the winner is fixed does the wheel animate to the matching segment, so the visual spin is a presentation of a decision that already happened.

      The wheel is drawn as an SVG with one segment per enabled entry. Colors repeat in a fixed palette so adjacent segments remain distinguishable, and long labels are truncated on the wheel while the full text stays visible in the entry list and the result. Entries you disable are excluded both from the drawing and from the selection pool.

      Your list is processed entirely in the browser. Everything is treated as plain text — markup in an entry is displayed literally and never executed. Spin history is stored locally and can be cleared at any time. Unlike a plain picker wheel, this wheel spinner supports custom weights, entry removal and fullscreen spins.

      Advertisement

      Examples

      • Lunch picker: pizza, sushi, tacos and burger → one entry wins, for example Tacos.
      • Weighted giveaway: give loyal customers weight 3 and newcomers weight 1 to favor loyalty without making it certain.
      • Classroom turns: paste 25 student names, spin, then press Remove winner so each student is picked at most once.
      • Prize draw: paste ticket labels, enable custom weights if ticket counts differ, and remove each winner as prizes are drawn.

      Common Uses

      • Deciding where to eat, what to watch or which game to play next.
      • Classrooms and workshops for fair turn-taking and random questioning.
      • Streams, giveaways and events that need a visible, suspenseful draw.
      • Team activities where a repeatable draw with transparent odds matters.

      Frequently Asked Questions

      Is every choice equally likely?

      Yes, by default. When custom weights are off, every enabled entry on the wheel has the same chance. The winner is selected with crypto.getRandomValues() before the wheel starts turning.

      How do custom weights work?

      Enable custom weights and give entries a numeric weight. An entry with weight 3 is three times as likely to win as an entry with weight 1. Weights apply only to enabled entries.

      Does the animation decide the winner?

      No. The winning entry is chosen first with secure browser randomness, and the wheel animation is only a replay that stops on that entry. Animation timing or frame rate can never change the outcome.

      What happens when I remove a winner?

      Remove winner deletes that entry from the wheel, so it cannot win again until you add it back. Keep winner leaves the wheel unchanged.

      Is my list sent anywhere?

      No. Your entries, weights, spinner history and results stay in your browser. The share link stores settings in the URL fragment, which is never transmitted to a server.

      Can I use the wheel fullscreen?

      Yes. Press Fullscreen to enlarge the wheel for classrooms, streams or group decisions, and press Escape or the button again to return.

      Advertisement

      Last updated: