What Is a Stream Subtitle Overlay?
A stream subtitle overlay is a transparent visual layer placed on top of your live stream video that displays real-time text — either captions of what you are saying in your own language, or translated subtitles for viewers who speak a different language.
Unlike a static overlay (a logo, a camera frame, an alert box), a subtitle overlay is dynamic. It updates continuously as you speak, converting audio into text through a speech recognition engine and rendering that text on screen with a fraction of a second of delay. The result is a line or two of readable text that tracks your voice in real time.
The overlay itself is typically a web page — a simple HTML page that receives subtitle data over a real-time connection connection and renders it using CSS. You add this page to OBS (or Streamlabs, or any compatible streaming software) as a Browser Source, and it appears as a transparent layer in your scene. Everything behind it — your gameplay, your facecam, your other overlays — shows through untouched.
The practical effect is that anyone watching your stream can read what you are saying without hearing it. That matters for deaf and hard-of-hearing viewers, for viewers in quiet environments, for international audiences who may not speak your language fluently, and for anyone who simply finds text easier to process than audio at the pace of live speech.
Subtitle Overlays vs. Built-In Platform Captions
Both Twitch and YouTube offer their own automatic caption systems, and at first glance they seem like a free alternative to a dedicated overlay. In practice, they fall short in several important ways.
| Feature | Platform Auto-Captions | Subtitle Overlay |
|---|---|---|
| Visible to all viewers | No — viewer must enable | Yes — always on |
| Visible in clips | No | Yes |
| Visible in VODs | Sometimes, with delay | Yes |
| Language translation | No | Yes (with translation service) |
| Style customization | None | Full — font, color, size, position |
| Works on Kick, Facebook | No | Yes |
Twitch's built-in captions are processed on the viewer's end and are opt-in. Most viewers never turn them on because they do not know they exist. More critically, when someone clips a moment from your stream or watches a VOD, the captions are either missing or significantly delayed. The caption timing on archived content is often unreliable.
YouTube Live's auto-captions have similar limitations — they are viewer-toggled, not always available for live streams, and not embedded in the video file. An overlay solves all of this at once because it is encoded into the outgoing video signal at the source, before the platform ever receives it.
How the OBS Browser Source Method Works
OBS (Open Broadcaster Software) has a source type called Browser Source that renders a web page inside your scene using a built-in Chromium instance. The page is treated like any other visual layer — you can resize it, reposition it, set its Z-order, and toggle it on or off like a camera or image.
A subtitle overlay service gives you a unique URL that points to a lightweight web page. That page establishes a persistent connection to the subtitle server and listens for incoming text. When the server receives your audio, transcribes it, and pushes the result, the page updates the displayed text in real time.
A typical browser source URL looks like this:
You paste this URL into OBS, set the width and height to match your canvas (1920x1080 for most streamers), check "Shutdown source when not visible" if you want to conserve resources when the scene is inactive, and the overlay is live. There is no software to install beyond OBS itself — the entire overlay runs inside the browser source.
Because the browser source has a transparent background by default, only the subtitle text and its backing element (a semi-transparent pill or bar) appear on screen. Everything else in your scene shows through normally. The overlay does not interfere with alerts, cameras, or any other layer.
Burn-In vs. Overlay: What Is the Difference?
These two terms describe different points in the video pipeline where subtitles get added, and the distinction has real consequences for where the text appears.
Overlay (Software Layer)
An overlay is a layer that exists in your scene composition software — OBS, in most cases. It sits on top of your video sources and is composited into the final output frame before encoding. This means the subtitle text is encoded into the stream you send to Twitch or YouTube. Viewers see it. Clips include it. VODs include it. But if you record directly from a camera or capture card without going through OBS, the subtitles are not on that raw footage — they only exist in the OBS output.
Burn-In (Permanent Embed)
Burn-in is a post-processing operation that renders subtitle text directly into the video file's pixel data, frame by frame, using a tool like FFmpeg. The text becomes inseparable from the video — it cannot be turned off, re-styled, or removed without re-encoding the entire file. Burn-in is common in video production pipelines for clips, ads, and edited content, but it is not practical for a live stream because it requires real-time encoding overhead that most consumer hardware cannot sustain alongside the stream itself.
For live streaming, the overlay approach is always the right choice. It achieves the same viewer-facing result — captions visible to everyone — without the complexity and CPU cost of live burn-in encoding.
Customization Options
A good subtitle overlay system gives you meaningful control over how the text looks and where it sits in the frame. The following options are standard in most professional overlay tools.
- Font family — choose from common web fonts (Inter, Roboto, Open Sans, Arial) or custom fonts if the service supports them. Large, clean sans-serif fonts are best for readability across small and large screens.
- Font size — typically set in pixels or a relative unit. Larger text is more accessible. A common starting point is 32–40px at 1080p.
- Text color — white (#ffffff) is the most universally readable, but high-contrast yellow or green are also popular. Avoid light colors on bright backgrounds.
- Background color and opacity — a semi-transparent dark bar behind the text dramatically improves legibility on all types of content, from dark game environments to bright outdoor gameplay.
- Position — place subtitles at the bottom (standard), top, or sides of the frame depending on where your HUD or UI elements sit. Most tools let you offset from any edge in pixels.
- Animation — fade-in, slide-up, or instant display. Subtle animation looks polished; aggressive animation can be distracting.
- Maximum words or characters per line — controls how much text appears at once. Shorter lines are easier to read at a glance. Typical setting is 8–12 words per line.
Changes to styling typically apply live without requiring you to reload the browser source or go offline, which means you can adjust the look mid-stream if something is not reading well on your layout.
Works Across All Streaming Platforms
One of the most underappreciated advantages of the OBS overlay approach is platform independence. Because the subtitles are added to the video before OBS encodes and sends it out, the result is just a video stream — platform-agnostic, identical everywhere it lands.
Twitch, YouTube Live, Kick, Facebook Gaming, TikTok Live, and any RTMP destination all receive the same encoded video signal from OBS. They cannot distinguish a stream with subtitles from a stream without them. The captions are just pixels in the video frame, as far as the platform is concerned.
This also means you can multistream to multiple platforms simultaneously — using a service like Restream or OBS's built-in multiple output feature — and your subtitles will appear identically on every platform without any additional configuration. You do not need to set up captions separately per platform or hope that each platform's auto-caption system is working properly that day.
For streamers targeting multilingual audiences, this is particularly powerful. You set up a single translation overlay in OBS pointing at your desired output language, and every platform your stream reaches gets the translated captions at the same time.
Performance Impact: Is a Browser Source Heavy?
Browser sources in OBS run on a built-in Chromium instance — essentially a sandboxed browser tab that renders at a fixed framerate. For a subtitle overlay, this is about as lightweight as browser sources get: the page contains almost no JavaScript beyond real-time connection handling, no complex animations, no large images, and renders a handful of text characters per update.
In practice, a subtitle overlay browser source adds roughly 1–3% CPU overhead on a modern machine, less than a camera source or a game capture. GPU usage is negligible because the page is not doing any graphics-intensive rendering.
A few tips to minimize resource usage further:
- Set the browser source framerate to 30fps rather than 60fps — subtitle text does not need to update 60 times per second.
- Enable "Shutdown source when not visible" so OBS suspends the browser source when you switch to a scene that does not use it (such as a BRB screen).
- Avoid overlay services that load large JavaScript frameworks or pull in external analytics scripts — they add unnecessary weight to an otherwise minimal page.
- If you notice any stuttering, check that hardware acceleration is enabled in OBS's Advanced settings, which offloads browser source rendering to the GPU rather than the CPU.
For the vast majority of streamers on hardware built in the last four years, a subtitle overlay browser source will have no measurable impact on stream quality or game performance.
Add Live Subtitles to Your Stream in Minutes
StreamTranslate generates a browser source URL you paste into OBS. Real-time captions or translated subtitles, live in under five minutes.
Start Free — No Credit CardFrequently Asked Questions
Can viewers turn off the subtitle overlay?
No. Because the overlay is rendered by OBS and encoded directly into the video signal that gets sent to Twitch or YouTube, viewers see exactly what OBS outputs. There is no viewer-side toggle — the subtitles are part of the stream itself. If you want to give viewers an option, you would need to run two separate scenes in OBS: one with the overlay active and one without, and switch between them manually.
Does the overlay appear in my VODs?
Yes, if OBS is capturing and encoding the overlay as part of the video output. Since the browser source is a layer in your OBS scene, it becomes part of the outgoing video signal. That signal is what Twitch saves as a VOD and what gets clipped. The subtitles will be visible in replays, clips, and any local recordings you make through OBS — provided the browser source was active and capturing when you went live.
How do I position subtitles at the bottom?
Positioning depends on how the subtitle overlay service renders the text. With StreamTranslate, the subtitle text is anchored to the bottom of the browser source by default. You set the browser source to match your canvas resolution (1920x1080 for a 1080p stream), then drag the browser source layer to fill the full scene. The subtitles automatically appear near the bottom of the frame. If you need to nudge them up or down, you can adjust the position inside the browser source's CSS settings or use the transform controls in OBS.
Can I change the font?
Yes. Most subtitle overlay tools — including StreamTranslate — let you choose font family, weight, size, and color from a control panel. Changes apply in real time without needing to restart the browser source or go offline. Common choices are large, high-contrast sans-serif fonts like Inter or Roboto for maximum readability across different screen sizes and viewing environments.
What size should the browser source be?
Set your browser source to exactly match your OBS canvas resolution. For a standard 1080p stream, that is 1920x1080 pixels. For 720p, use 1280x720. The browser source should be positioned at 0,0 and stretched to fill the entire scene so the subtitle text renders at the correct coordinates. Using a smaller browser source may cause the subtitles to appear misaligned or scaled incorrectly relative to the rest of your stream layout.