Preview Sample data
Showing built-in sample chat so every style control below has a visible effect. Add a channel below to switch this to your real live chat.
Your overlay URL
Paste this into a browser source in OBS (or your streaming app).
Paste this into a browser source in OBS (or your streaming app). Set the source size to match the overlay (for the tracker, the map size) and keep the background transparent. Your channel names, any API keys, RTIRL key or Rumble secret URL, your location settings and your home point all live in the URL's # fragment, which browsers never send to a server, so coordinates and keys stay out of access logs.
This URL embeds your secret key — treat it like a password. Your key stays in this page's URL and is used only to fetch your Rumble data. Because Rumble doesn't allow direct browser requests, Dual IRL securely relays those requests through its server. Rumble chat is polled from your URL, and regular chat lines also stream in real time once the page has confirmed Rumble's live chat connection for your broadcast, same as the apps.
Keep this URL private. Get your API URL →
Your key stays in this page's URL fragment and is sent only to Google's YouTube Data API (www.googleapis.com) — never to Dual IRL. YouTube chat reads the live chat that your handle's current live video, or the video you paste, belongs to. A pasted video costs 1 quota unit to look up. A handle costs none: Dual IRL's api.dualirl.com finds the video the handle is live on from YouTube's public page and is sent the handle only, never your key. Every chat refresh costs 5 units, and the default daily quota is 10,000 units, so a stream of several hours can use it up — YouTube then pauses chat until the quota resets. The live preview above uses the same quota while this page is open.
Uses your own YouTube API quota. Get a key →
Advanced YouTube options
Message display
0 = never — messages just stay until pushed off by Max messages.
Events
Sub, gift, raid and other alerts show inline as compact accent lines. Turn any kind off independently.
Sub/gift/redemption/raid/rant/Super Chat alerts, shown inline as compact accent lines — same as Bro's merged chat. Turn any kind off independently. A Twitch Bits cheer shows as an event line; with Bits off it shows as an ordinary chat line.
Filters
The opposite of Hide emotes — shows ONLY the emotes, drops any message with none; the broadcaster can also toggle this live by typing !emoteonly on/!emoteonly off in their own chat.
Strips 😀-style Unicode emoji characters out of a message's text — separate from Hide emotes above, which only hides platform custom emotes; a message that becomes blank once its emoji are stripped is dropped entirely.
Style
Smaller = tighter list; larger = more breathing room. Default 0.35.
1 = same size as the text; larger makes emotes stand out more. Default 1.5.