Spinning for:
Winner. Confirm below
Wheel Options
After a win
Confetti Normal
Theme
Wheel Palette
Name Text Color
Participants
Or
🎯
No participants yet
Type a name above to begin
Prize Queue
Winner History
Works best in Chrome
Β· Β·
The Wheel AsylumLife.com
Admin
Pre-select the winner for the next spin. Keep this corner off your stream view.
Force next winner to:
Winner locked in
How to Use the Wheel
A quick reference for whoever is running the giveaway.
✏️
Adding Participants
Type a name and press Enter or click + Add. To add many at once, click paste a list and drop in names separated by commas or new lines. Add a colon and a number to set a weight as you type. Bob:3 adds Bob with a weight of 3. Double-click any name in the list to edit it inline. Entering a duplicate name bumps that person's weight by 1 instead of blocking.
🏷️
Giveaway Title
Type a title in the field above the wheel. It appears as a banner on the winner reveal. Leave it blank for the default "We have a winner" message.
βš–οΈ
Weights & Odds
Use βˆ’ / + to adjust anyone's weight (1–10). Higher weight = bigger slice = better odds. The multiplier shows on the wheel as Γ—2, Γ—3, etc.

Turn on Equal odds in the Wheel Options card to treat everyone as weight 1. The +/βˆ’ buttons are disabled while it is on, and your weights come back when you turn it off.
🎑
Spinning
Click Spin the Wheel or press Space. A 3-2-1 countdown runs before the wheel spins. Click anywhere on it to skip straight to the spin, or press ESC to cancel. Turn off the Countdown toggle to skip the countdown entirely and spin immediately every time.

When the wheel stops, the winner's name appears full-screen with confetti. The Confetti slider in Wheel Options sets the amount, from Off to Extreme. Click Dismiss or press ESC to close. Remove from Pool takes the winner off the wheel entirely, however many entries they had (the βˆ’ buttons in the list still step a weight down one at a time). After a win (in Wheel Options) sets what the primary button does: Keep everyone (Dismiss / Remove from Pool), Remove winner (Keep in Pool / Continue), or Clear list (Keep in Pool / Clear list & Continue, which empties the pool so the next round starts fresh).

If a Prize Queue is loaded, the active prize appears below the winner along with a third button, ↻ Re-spin same prize. Dismiss and Remove from Pool both move the queue to the next prize. Re-spin closes the reveal without moving on, so you can spin the same prize again for a different winner.
🎁
Prize Queue
The Prize Queue card (between Add Participant and Winner History) lets you pre-load an ordered list of prizes before the stream starts. Add prizes one at a time: type the prize and press Enter, or click + Add. Drag the grip handles on the left to reorder at any time.

When prizes are loaded, a "Spinning for: [prize]" pill appears above the wheel so the audience knows what's at stake before the spin. After each winner is confirmed (Dismiss or Remove from Pool), the queue automatically advances to the next prize. Use ↻ Re-spin same prize on the winner card to keep the current prize and spin again. The wheel removes the previous winner from the history, since that spin did not count.

Prizes are optional. With an empty or finished queue the wheel works as normal. The prize list and current position survive reloads and are included in Save/Load files.
πŸ“‹
Winner History
A session log appears automatically after the first spin and shows each winner in order, most recent first. If a Prize Queue was active, the prize won is shown on a second line (🎁) under each winner's name. Hover a row to reveal the Add Back button. It returns that person to the pool at weight 1, or raises their weight if they are still in.

The card header has three buttons. Export downloads the full history as a .csv file with the columns Round, Name, Prize and Giveaway Title, oldest first; Prize is blank when no Prize Queue was active. ↩ Undo appears after each spin and reverses it: the participant pool and prize queue go back to how they were, and the last history entry is removed. It disappears after use or when a new spin starts. Clear wipes the log at the start of a new stream.
πŸ’Ύ
Saving & Backups
Your setup saves itself in this browser and comes back when you reload. The browser can still clear that data (clearing site data, private windows), so keep a backup file for anything you care about. There are two ways to save:

↓ Save (bottom-right) writes a .json file with everything: participants, prizes, settings, your custom palettes and the full winner history. ↑ Load restores it later on any computer, which is handy for preparing a giveaway ahead of time or moving between machines.

Export (in the Winner History card) saves just the winners as a .csv spreadsheet for your records or for sharing a results list.

If you close the tab with winners you have not backed up, your browser shows its standard "Leave site?" warning. Browsers do not let apps change that message. Click ↓ Save or Export first and the warning goes away.
πŸ”Š
Sound & Confetti
Sound is on by default: ticking during the spin, beeps during the countdown, and a short fanfare at the reveal. Use the Sound toggle in Wheel Options to mute everything instantly.

The Confetti slider (in Wheel Options, below the toggles) sets how much confetti fires on the reveal, from Off to Extreme. The setting survives reloads and is saved in your .json file.
🎨
Themes, Colors & Palettes
All in the Wheel Options card:

Theme restyles the whole interface (background, accents, glow). Pick any of the built-in skins and your choice is saved.

Wheel Palette sets the colors of the wheel slices. Click any preset swatch to recolor the wheel instantly. To make your own, for example from your logo's colors, click +, then add colors with the picker or paste hex codes (e.g. #F3AF3C, #1D648E), name it, and Save. Edit or delete your custom palettes with the ✎ that appears on them (built-in presets are fixed). To start a custom from a preset, select that preset first, then click +.

Name Text Color changes the color of the names drawn on the wheel; the text shadow adjusts automatically so names stay readable on any slice color.

The Reset link in the Wheel Options header returns the toggles, confetti, theme, name text color, and wheel palette to their defaults. It keeps your custom palettes, participants, prizes, and winner history.
πŸ–ΌοΈ
Wheel Logo
Click the center of the wheel to upload a logo. It shows inside the hub. Hover over it to reveal the βœ• button and remove it. PNG, JPEG, and WebP are compressed automatically; SVG and GIF keep their full quality (vector sharpness and animation are preserved). Files must be under ~500KB. Saved across reloads.
πŸ–₯️
Presentation Mode
Click the expand icon (top-right of the wheel) to hide the control panel and fill the screen with the wheel. Crop your stream to leave out the bottom-right corner, where the operator controls sit. Move the mouse to reveal the exit hint, or press ESC.
πŸ”’
Admin: Pre-Selecting a Winner
Press Ctrl + Shift + A to open the admin panel. There is no visible button, on purpose. Pick a name and click Lock In. The next spin always lands on that person and looks completely natural. The lock clears automatically after the spin fires.
πŸ’Ύ
Save & Load
Use ↓ Save to export your current setup (participants, weights, title, skin, prize queue and logo) as a .json file. Use ↑ Load to restore it on any computer. Great for passing a giveaway config between streamers or saving a recurring setup. Both buttons are in the bottom-right corner next to Help.
πŸ’¬
Twitch Chat Entries
Viewers join by typing a command in your chat. Open the Twitch Chat card and click Sign in with Twitch. A sign-in lasts about two months. Check the channel and the command (the default is !enter; separate extra commands with commas), then click Connect. When you are ready, click the big Entries are closed button to open them. The wheel posts your open message in chat and shows a "type !enter" banner above the wheel and on the Display window. Each viewer gets one entry. Repeats are ignored. Starting a spin closes entries; you can turn that off under Advanced.

Channel Points: once you are connected to your own channel, click Create Channel Reward. Each redemption adds one extra entry, up to the cap you set. The wheel pauses the reward on Twitch whenever entries are closed and refunds anything redeemed at the wrong time. Untick the reward in the card for giveaways where points should not count.

Ideas mode: switch Entries are to Ideas. Viewers type !enter followed by their idea, and the idea goes on the wheel instead of their name. When several people send the same idea it becomes one bigger slice. Each person gets the number of ideas you allow, one by default. You can let the reward add ideas too (it asks the viewer for the text), and you can hold new ideas for your approval before they show. The reveal names who suggested the winning idea.

Whispers: while extra entries are available, someone who types the command a second time gets one private whisper explaining the reward. Twitch allows whispers to 40 different people per day and requires a verified phone number on the signed-in account. Past the cap, the wheel stops whispering for the day.

Winner message: when you confirm a winner with Dismiss, Remove, or Continue, the wheel congratulates them in chat. Chat entrants get an @mention, the prize is added while a Prize Queue item is active, and Ideas mode names the suggesters. Re-spin posts nothing.

Advanced holds every message text and the remaining settings, grouped into Both modes, People mode and Ideas mode. The wheel reads your chat for the command, posts these messages, and manages that one reward. Nothing leaves your browser except calls to Twitch. In a two-window setup, connect from the Control window. The Display window never connects, and only one window can hold the connection.
πŸ“Ί
Two-Window Stream Setup
Open two Chrome windows from the same URL (e.g. https://thewheel.asylumlife.com):

Display window: add ?display=1 to the URL. Full-screen wheel only, no controls. Give this window to OBS as a Window Capture. It follows the control window through localStorage and mirrors everything as it happens: wheel redraws, spin animations and the winner overlay.

Before going live: click anywhere on the display window once. Chrome requires a real click before it will play sound. A small πŸ”Š hint at the bottom reminds you and fades out after the click.

Control window: add ?control=1. Control panel only, no wheel. Manage participants, prizes and settings here. When you press Spin, this window picks the winner at once and the display window runs the full spin animation. A compact winner area appears so you can Dismiss, Remove from Pool or Re-spin, and the display window follows each action. The ↩ Undo button in the Winner History card works here too and closes the display overlay for you.

Standalone window: add ?display=1&spin=1. A full-screen wheel like Display mode, but with the Spin button and the winner buttons (Dismiss, Remove from Pool, Re-spin) shown on it. It works on its own, with no control window. Use it when you want one window on screen and are happy to spin from the wheel itself. Because it works on its own, it does not sync with a ?control=1 window.

Why Window Capture, not Browser Source? OBS's built-in browser source uses an isolated engine that cannot share localStorage with Chrome. Window Capture of a Chrome tab shares localStorage with every other Chrome tab on the same machine, which is what makes the sync work.

Both windows must be open in the same Chrome profile on the same machine and loaded from the same origin (same domain or both from localhost).
⌨️
Keyboard Shortcuts
Space  Spin the wheel
Enter  Add the typed name
ESC    Cancel countdown Β· dismiss winner Β· close panel Β· exit presentation
Ctrl + Shift + A  Open / close admin panel
Paste a name list
One name per line or comma-separated Β· add :weight for odds (e.g. Bob:3)
New wheel palette
Pick colors, or paste hex codes below. Need at least 2 colors. Editing a built-in palette saves a copy.
tap to skip
πŸ†  We have a winner
β€”
Prize: