πŸ“Ί

Spinning Wheel and Random Picker Overlay for OBS

For streamers on Twitch, YouTube, Kick and anywhere else

Put a giveaway wheel, a marble race, dice or a countdown right on your stream, over your camera or your game, and run it from a panel inside OBS.

Running a giveaway? How to keep it fair and trusted

See It in Action

A spin and its winner card, over the stream behind it.
A quick marble race, from the countdown to the photo finish. Only the track and marbles are drawn; the stream shows through the rest.
The control panel running the wheel: add names, press Spin, then remove the winner before the next draw.

Background: a still from Sintel, Β© copyright Blender Foundation | durian.blender.org (CC BY 3.0).

Most streamers run a giveaway the same way: open a picker in a browser, capture the window, and switch to that scene while it spins. Viewers get a web page, with its menus and buttons, sitting where the stream used to be.

The stream overlay works differently. Ten of the tools have a version made for an OBS Browser Source: the spinning wheel, marble race, slot machine, mystery box and claw machine, which draw from your names, plus dice, a coin, a number picker, a word generator and a countdown timer. The background is see-through, so the wheel or the dice sit on top of your camera or your game like any other overlay. Nothing on it is a button, and it never shows ads. When the result lands, a large card comes up over the stream so chat can read it, then clears itself after a few seconds.

You run it from a control panel that docks inside OBS, next to your scenes and sources. Choose the tool at the top, paste your names there (or set the dice, the range or the time), press the button, and remove each winner before the next draw. A Stream Deck or Streamer.bot can start a draw too. Every pick uses the cryptographic random number generator built into the browser, the same as everywhere else on this site.

Set It Up in OBS

About five minutes, once

  1. 1

    Copy the stream link

    Open any of the ten on a computer and add your names, or set the dice, the range or the time. Click Use in OBS, next to the fullscreen button above it, and copy the stream link. The link carries your names or settings. In a narrow browser window the button can be hidden, but the dock in step 3 builds the link too.

  2. 2

    Add a Browser Source

    In OBS, click + under Sources, choose Browser, and paste the link as the URL. Set the width and height to your canvas size, usually 1920 by 1080, so the picker can sit in any corner of the screen. Leave the Custom CSS box as OBS fills it in.

  3. 3

    Add the control panel as a dock

    Open View, then Docks, then Custom Browser Docks. Call it Picker, use funrandompickers.com/embed/dock as the URL, and click Apply. Choose the tool it controls at the top. The dock keeps your names and settings between streams, sends the names to the overlay, and has buttons to draw, remove the winner and clear the card.

  4. 4

    Choose the size and position

    The dock also builds the stream link for you: the size and corner, how long the result card stays up, whether it plays sound, and that tool's own settings, like the dice or the countdown's time. Copy the link and paste it into the Browser Source again. All of it lives in the link, so each scene can have its own.

  5. 5

    Run the draw

    Press the main button in the dock. Without the dock, right-click the source, choose Interact, and use the keyboard: Space draws, R removes the last winner, Esc clears the card (and stops a running countdown), P replays the finish of a marble race or pauses a countdown, and N lays a new marble track.

Recommended Tools

The best picker for each situation

🎑

Spinning Wheel

Everyone knows how a wheel works, so nobody in chat needs it explained. It works at any size: full screen for the main giveaway, or tucked into a corner while you keep playing.

Example

Set the size to 40% and the position to bottom right, so the wheel sits beside your face cam. Spin it from the dock at the end of each round to pick who chooses the next game.

Try the Spinning Wheel β†’
🏁

Marble Race

A race is something chat can watch and cheer for. There is a countdown at the start, live standings under the track, and a slow-motion photo finish when it is close. It turns a giveaway into a short segment of the stream.

Example

For a follower giveaway, load the names and start a Quick race. After the winner card, press Replay the finish in the dock to show the finish again in slow motion.

Try the Marble Race β†’
🎰

Slot Machine

Three reels stop one after another, so the suspense comes in steps. It suits a prize reveal, and it looks nothing like the wheel, which helps if you draw often.

Example

Use the slots for small prizes during the stream and save the marble race for the main giveaway, so regulars see something different each time.

Try the Slot Machine β†’
🎁

Mystery Box

A box opens and one name rises out of it. It is one of the quickest, which suits picks you make again and again, like who joins the next match.

Example

On a viewer games night, open the box to pick who plays next, then remove them in the dock so everyone in the queue gets a turn.

Try the Mystery Box β†’
πŸͺ

Claw Machine

The claw drops into a pile of named balls and lifts the winner out. The cabinet is solid rather than see-through, so it looks like an arcade machine standing on your screen.

Example

Put the claw in a corner of your Just Chatting scene and grab a winner each time you hit a subscriber goal.

Try the Claw Machine β†’
🎲

Dice Roller

For tabletop games on stream, the 3D dice roll right over your camera, and the card shows the total and each die, with a call-out for a natural 20 or doubles. Chat sees every roll as it happens.

Example

Set the dock to one d20 for skill checks, or a second Browser Source with 2d6 for damage, and roll from a Stream Deck button so your hands stay on your notes.

Try the Dice Roller β†’
⏱️

Countdown Timer

A timer on screen for anything that needs one: a challenge, a break, a chat vote. Set a fixed time, or a range and let it pick, or turn on surprise stop so nobody knows when it ends.

Example

For a hot potato round, set 30 seconds to 2 minutes with surprise stop. The timer counts down from 2:00 and stops without warning, and the card says when.

Try the Countdown Timer β†’

Specific Scenarios

Ready-to-use setups for common situations

Follower or subscriber giveaway

Paste the entrants into the dock, put the race full size in its own scene, and switch to it when you are ready. Chat watches the marbles, the photo finish settles close ones, and the winner card stays up while you read out the name.

🏁 Best with Marble Race

Several prizes in one stream

Draw the first winner, press Remove winner in the dock, and draw again. Removed names are listed in the dock, with a button to put them back if you made a mistake.

🎑 Best with Spinning Wheel

Challenge wheel

Put challenges on the wheel instead of names (no healing, pistol only, inverted controls) and spin when chat hits a goal. Keep the wheel small in a corner so the game stays visible.

🎑 Best with Spinning Wheel

Viewer queue for games night

Keep the queue in the dock and open the box whenever a slot frees up. Remove each pick so nobody gets two turns before everyone has had one.

🎁 Best with Mystery Box

Goal rewards on a chatting stream

Leave the claw machine in a corner of the scene all stream. Each time a goal is hit, grab a winner from the dock without switching scenes.

πŸͺ Best with Claw Machine

Tabletop session

Keep the dice small in a corner of your game scene and roll from the dock as the party acts. The card holds the total long enough for everyone to read it before the next roll.

🎲 Best with Dice Roller

Timed challenge

Start the countdown when chat sets a challenge and stop it from the dock if you finish early. With a range, even you do not know exactly how long you get.

⏱️ Best with Countdown Timer

Tips & Best Practices

Get the most out of these tools

πŸ’‘

Read out the count before you draw

The dock shows how many names are in play. Saying it out loud ("38 of you are in, here we go") tells viewers their entry counted, which matters more on stream than anywhere else.

✨

Turn on Control audio via OBS for sound

Sound is off unless you switch it on in the dock. OBS only plays a Browser Source's sound when Control audio via OBS is ticked in the source's properties, which also gives it a slider in the audio mixer.

🎯

Old winners clear when you switch scenes

Coming back to the scene clears any winner card that was still up, so last week's winner never appears when you switch to it.

πŸ“Œ

One dock for every tool

Choose the tool at the top of the dock. Only that tool's overlays respond, and one whose scene is not on air sits it out, so a wheel in one scene and dice in another never draw at the same time. OBS tells an overlay its scene is off air when you switch scenes, so after you start OBS, switch scenes once before your first draw. The dock warns you if two overlays of the same tool both think they are on air.

πŸ”‘

Leave the small credit on

A small funrandompickers.com label sits under the picker. You can turn it off in the dock, but leaving it on is how other streamers find the overlay.

Why a Browser Source Beats Window Capture

Window capture records a whole browser window: the tab bar, the page header, the sidebar, and anything that pops up. You end up cropping it by hand, and a notification or a bookmarks bar can still slip into the shot.

A Browser Source runs the page inside OBS itself, and anything the page does not draw shows the scene underneath. The overlay draws only the picker, the winner card and the small credit, so it can sit over a camera without a box around it.

Because the source lives inside OBS, it does not depend on which browser windows you have open, and it is still there after a restart. The dock lives in OBS too, which is how the two can talk to each other without anything going through a server.

Frequently Asked Questions

Everything you need to know

?

Why is there a dark box behind my wheel?

The overlay is see-through only as a Browser Source. Check that you added a Browser Source rather than a Window Capture of a browser tab, and that the source's Custom CSS box does not set a background color.

?

How do I start a draw from a Stream Deck or Streamer.bot?

Through obs-websocket, which comes with OBS 28 and later. Send a CallVendorRequest with the vendor name obs-browser, the request type emit_event, and the event name frp-spin. The events frp-remove, frp-clear, frp-replay, frp-newtrack, frp-pause and frp-stop remove the winner, clear the card, replay a marble race finish or lay a new track, and pause or stop a countdown. If you have more than one tool in OBS, add it to the event data, for example {"mode": "dice"}, so only that one draws.

?

Does it work in Streamlabs or other streaming apps?

It is built for OBS Studio and tested there. Streamlabs Desktop is built on OBS, so the overlay may work, but we have not tested it yet. Other apps need a browser source with a see-through background and a way to interact with it, since that is how a draw starts without the OBS dock. If the link opens the regular picker page instead of the overlay, add view=stream to it, for example funrandompickers.com/embed/wheel?view=stream.

?

Can viewers enter from chat?

Not yet. For now, paste the names into the dock, for example from a chatbot's list of entries.

?

Can I run it from my phone?

No. The dock has to run inside OBS on the same computer as the overlay, because the two talk to each other there and nowhere else.

?

Do my viewers see ads?

No. The overlay and the dock never load ads. The regular pages of the site carry ads, which is what keeps the tools free.

?

Where are the names stored?

Names you type into the dock are saved in OBS's own browser storage, on your computer. Names in a stream link sit after the # sign, a part of the address that browsers never send to a server.

πŸ“Ί

Ready to try it?

Free, instant, and works on any device. No sign-up needed.