How to Add Titles and Subtitles in OBS Streaming Video
Whether you're streaming gameplay, hosting a live webinar, or producing a broadcast-style show, on-screen text transforms a raw feed into something polished and professional. OBS Studio — the free, open-source streaming and recording software — gives you full control over titles, lower thirds, and subtitle overlays. Understanding how the tool handles text helps you set it up correctly the first time.
How OBS Handles On-Screen Text
OBS works with a scene-based system. Every scene is a canvas, and everything visible on that canvas — your webcam, game capture, background image, and text — is a source. Text is added as its own layer, positioned independently, and can be shown or hidden without disrupting other elements.
There are two primary text source types in OBS:
- Text (GDI+) — The default option on Windows. Uses the Graphics Device Interface for rendering. Reliable for static titles and basic styled text.
- Text (FreeType2) — Common on Linux and macOS. Offers broader font support and is useful when GDI+ isn't available.
Both work the same way conceptually. The difference is in how they render fonts and handle certain formatting options.
Adding a Title to Your Scene 🎬
- Open OBS and select or create the scene where you want the title to appear.
- In the Sources panel, click the + button.
- Choose Text (GDI+) or Text (FreeType2) depending on your OS.
- Name the source something descriptive — for example, "Stream Title" or "Episode Heading."
- In the properties window, type your title text into the text field.
- Adjust font, size, color, and opacity using the built-in options.
- Click OK, then drag and resize the text on the canvas to position it.
Once placed, the text source behaves like any other layer — you can reorder it above or below other sources, lock it in place, and toggle its visibility with the eye icon.
Adding Subtitles or Lower Thirds
Subtitles and lower thirds follow the same process as a main title, but placement and styling conventions differ.
- Lower thirds typically sit in the bottom third of the frame and display a name, role, or topic label. Create a text source, position it near the bottom of the canvas, and optionally pair it with a colored rectangle or image source behind it for contrast.
- Subtitles for spoken content require either manual updates or an automated tool (covered below).
To layer a background behind text:
- Add an Image source or use Color Source (also in the + menu) to create a solid colored bar.
- Position it behind the text by dragging it lower in the Sources list — OBS renders sources from bottom (back) to top (front).
- Adjust the color source's size and opacity to complement your branding.
Making Text Dynamic: Scene Transitions and Visibility
Static titles work well for intros, but dynamic control is where OBS becomes more powerful.
- Use Scene Transitions (fade, cut, swipe) to bring title screens in and out smoothly.
- Assign hotkeys (Settings → Hotkeys) to show or hide specific text sources mid-stream without touching the interface.
- Use Studio Mode to prep a scene with updated text before pushing it live.
This approach suits structured streams with clear segments — episode titles, segment headers, sponsored breaks — where you want clean transitions between labeled sections.
Automating Subtitles in OBS
For live captioning or real-time subtitles, manual text editing isn't realistic. Several approaches exist depending on your setup:
| Method | How It Works | Skill Level |
|---|---|---|
| OBS Browser Source + WebSocket | External captioning tools push text to OBS via browser overlay | Intermediate |
| obs-captions-plugin | Uses speech recognition (e.g., Google Cloud Speech) to generate live captions | Intermediate |
| Streaming platform captions | YouTube Live and Twitch offer auto-captions on the viewer side, not in OBS | Beginner |
| Third-party tools (Restream, Streamlabs) | Some offer caption overlays integrated with OBS | Beginner–Intermediate |
If your goal is accessibility-grade captioning, platform-side auto-captions are the lowest-friction option. If you need captions burned into the video file itself or visible in the OBS output, a plugin or browser source integration is necessary.
Variables That Affect Your Setup
The "right" approach to OBS text depends on several factors:
- Operating system — GDI+ is Windows-only; macOS and Linux users need FreeType2 or browser-source workarounds for some font features.
- Stream type — A solo gaming stream needs simple lower thirds; a multi-segment production broadcast needs hotkey-controlled scene transitions with pre-built title cards.
- Font and branding needs — GDI+ has limitations with certain custom fonts. If your brand uses non-standard typefaces, browser sources rendered in HTML/CSS give you more typographic control.
- Real-time vs. pre-planned text — Static titles are simple; live subtitles require either plugin support, a second operator, or platform-level automation.
- Recording vs. live streaming — For recorded content, text can be added in post-production instead, which gives more flexibility. For live streams, everything must be prepared in advance.
Using Browser Sources for Advanced Text Styling 🖥️
For streamers who want full CSS control over text appearance — custom animations, Google Fonts, gradient text, transparent backgrounds — Browser Source is the preferred path. You create an HTML file or use an overlay tool (like StreamElements or Overlays.gg), point OBS to it as a browser source, and the text renders with web-level fidelity.
This method separates text design from OBS configuration, making it easier to update titles without reopening source properties during a live session.
The tradeoff: it requires comfort with basic HTML/CSS or reliance on a third-party overlay service, which introduces an external dependency into your stream setup.
The Spectrum of OBS Text Setups
At one end, a first-time streamer adding a single name title to a webcam feed needs nothing more than a GDI+ text source, a font choice, and a few minutes of positioning. At the other end, a production team running a multi-camera live event may use browser-sourced overlays, WebSocket-driven dynamic text, plugin-based captions, and hotkey-triggered scene transitions — all simultaneously.
Most setups fall somewhere between those two points, shaped by the complexity of the content, the streamer's technical comfort, and whether the stream prioritizes aesthetics, accessibility, or simplicity. What works cleanly for one broadcaster may add unnecessary complexity for another.