Minimal, transparent CSS for embedding Twitch and YouTube live chat as on‑stream overlays in OBS Studio.
Included files:
obs-chat-overlay.css— on‑stream overlay (transparent, bold, high contrast)obs-chat-window.css— compact styling for small overlays/windowsX-LICENSE— BSD Zero Clause (0BSD)
- Use this exact embed URL
https://www.twitch.tv/embed/<your_channel>/chat?parent=localhost
- Replace
<your_channel>with your Twitch channel name.
- Add it to OBS
- OBS → Sources → + → Browser
- Name it (e.g.,
Twitch Chat (Embed)) → OK - URL: paste the URL above
- Width/Height: start with
400 × 400(adjust to fit) - Custom CSS: paste one of the provided stylesheets:
obs-chat-overlay.css(recommended for on‑stream bubbles)obs-chat-window.css
- OK, then position/scale on your canvas.
- If styles don’t appear
- Right‑click the Browser source → Refresh cache of current page.
Use YouTube’s pop‑out live chat URL for your current live stream.
- Build the pop‑out chat URL
https://www.youtube.com/live_chat?v=<VIDEO_ID>&is_popout=1
- Replace
<VIDEO_ID>with the ID of your live video/stream. - You can also obtain this by opening your live stream page on YouTube, clicking the chat menu (⋮) and choosing Popout chat; copy the URL from that window.
- Add it to OBS
- OBS → Sources → + → Browser
- Name it (e.g.,
YouTube Chat (Pop‑out)) → OK - URL: paste the pop‑out chat URL
- Width/Height: start with
400 × 900(adjust to fit) - Custom CSS: paste one stylesheet (same as Twitch):
obs-chat-overlay.css(overlay bubbles)obs-chat-window.css(compact)
- OK, then position/scale on your canvas.
- If styles don’t appear
- Right‑click the Browser source → Refresh cache of current page.
- Press OK on the Browser Properties window (CSS is only after OK applied)
- Write a few messages into the chat
💡 Tip: The provided CSS already hides YouTube’s extra UI (headers/tickers/reaction panel) and formats messages for readability.
- Font size / density: Switch between the two CSS files or tweak
font-sizein the CSS. - Scene reuse: Use Add Existing to reuse the same Browser source across scenes for lower CPU/RAM.
- Privacy/moderation: Platform rules (sub‑only, mods, bans) still apply and are enforced by Twitch/YouTube.
-
Blank/blocked Twitch embed
- Confirm the URL matches exactly (including both
parent=localhostparameters). parentvalues contain only host names (no scheme or port).
- Confirm the URL matches exactly (including both
-
YouTube chat doesn’t load
- Ensure your stream is live and the
v=parameter is the correct live video ID. - Recreate the pop‑out via the chat menu if unsure.
- Ensure your stream is live and the
-
Scrollbars / clipping (either)
- Increase Browser Source Height if long messages clip; our CSS hides extra tracks.
-
Lag / performance
- Keep one chat Browser Source and reuse across scenes.
- Set Browser to a custom refresh rate of 4 FPS
BSD Zero Clause (0BSD). Free to use, modify, and redistribute. See LICENSE.
-
Twitch Dev Docs — Embedding Chat (official): Credibility 9/10
https://dev.twitch.tv/docs/embed/chat/ -
Twitch Dev Docs — Embedding Overview (official): Credibility 9/10
https://dev.twitch.tv/docs/embed/ -
YouTube Help — Embed live chat (official): Credibility 8/10
https://support.google.com/youtube/answer/2524549 -
OBS Project — Knowledge Base (official): Credibility 8/10
https://obsproject.com/kb/