How to add text overlays in OBS
OBS (Open Broadcaster Software) displays titles and subtitles through text sources, which you add to your scene the same way you add a camera or game window. Open your scene, click the plus icon in the Sources panel, select "Text (GDI+)" on Windows or "Text" on Mac, and type what you want to appear. The text shows up on your stream when ready and stays there until you delete it or turn off that source.
The text source is separate from your actual broadcast — it sits on top of your video like a layer. You can move it anywhere on screen, resize it, change the font and color, and turn it on or off without affecting what your camera or game is recording. This means you can have a permanent title at the top, add temporary subtitles during a specific moment, or swap between different text overlays without stopping your stream.
Most streamers keep a title source running the whole time and add subtitle sources only when they need them — for example, when introducing a guest or explaining something that needs captions. You can also create a text source and leave it blank, then type into it during the stream to display live messages or alerts.
Key Takeaways
- Text sources in OBS are added through the Sources panel and appear as overlays on top of your video without affecting the underlying broadcast.
- You can position, resize, and style text independently — change fonts, colors, and backgrounds without touching your camera or game settings.
- Text sources can stay visible for the entire stream or appear only during specific moments, and you can edit them live while streaming.
- Most setups use one permanent title source and add subtitle sources only when needed, keeping the scene organized and straightforward to manage.
Setting up a title source that stays visible
A permanent title usually goes at the top or bottom of your stream and displays your channel name, the game you are playing, or what you are doing. To create one, open OBS, select your scene, click the plus icon in Sources, choose "Text (GDI+)" or "Text", and type your title. Click outside the text box to confirm it.
Once the text appears on screen, right-click it in the Sources panel and select "Transform" to move and resize it. Drag the corners to make it bigger or smaller, or drag the whole box to reposition it. Most streamers place titles in the top third of the screen where they do not block the main content. If you want the text to have a background so it stands out against your video, right-click the text source, select "Properties", and look for the "Outline" or "Background Color" option depending on your OBS version.
To change the font, size, or color, right-click the text source and select "Properties". You will see options for font family, font size, and text color. Pick a font that is straightforward to read at small sizes — sans-serif fonts like Arial or Roboto work better than decorative fonts. Make the text large enough that viewers on a phone can read it, usually 36 points or larger. Save your scene when you are done, and the title will appear every time you load that scene.
Adding subtitles that appear only when you need them
Subtitles are temporary text that you show during specific moments — when someone speaks, when you want to highlight something, or when you are explaining a concept. Create a subtitle source the same way you create a title: click the plus icon, select "Text", and type what you want to say. Position it lower on the screen than your title, usually in the bottom third.
The difference is that you will turn this source on and off during your stream. In the Sources panel, each source has an eye icon next to it. Click the eye to hide the text (it disappears from your stream but stays in your scene), and click again to show it. This lets you display a subtitle for 10 seconds, then hide it, then show a different subtitle later — all without stopping your broadcast or editing anything.
If you want to change what the subtitle says while you are streaming, right-click the text source, select "Edit", and type new text. The change appears on screen when ready. Some streamers create multiple subtitle sources ahead of time — one that says "Follow for more", another that says "Check the description", another with a guest's name — and just toggle them on and off as needed.
Styling text so it stands out
Plain white text on a busy background can be hard to read. To make your titles and subtitles visible, add contrast by using a background color, an outline, or a drop shadow. Right-click your text source, select "Properties", and look for "Outline" and "Background Color" options.
An outline puts a colored border around each letter, which works well for text over video. A background color fills a rectangle behind the text, which is clearer but takes up more space. Most streamers use an outline in a dark color (black or dark gray) so the text pops without covering too much of the video. Set the outline width to 2 or 3 pixels — thicker than that looks heavy.
For color, stick with high contrast: white or light text on a dark background, or dark text on a light background. Avoid red text on a blue background or other color combinations that are hard on the eyes. If your stream has a brand color, use that for your title and a neutral color (white, black, or gray) for subtitles so they do not compete.
Positioning text so it does not block your content
The worst place for a title is the center of the screen, where it covers what you are actually showing. Plan where your text will go before you add it. If you are streaming a game, put your title in a corner or along an edge. If you are doing a face-to-camera stream, put it below your head or to the side. If you are sharing your desktop, put it at the top or bottom where there is usually empty space.
Use the preview window in OBS to see how your text looks in context. Add your title, position it, and then look at the preview to make sure it does not cover anything important. If it does, move it. You can also make the text smaller or use a narrower font to fit it in a tighter space.
If you have multiple text sources, stack them vertically with space between them. Put your main title at the top, subtitles in the middle, and alerts or messages at the bottom. This creates a visual hierarchy so viewers know which text is most important. Avoid putting text in all four corners at once — it makes the screen feel cluttered.
Editing text during a live stream
You can change what your text says without stopping your broadcast. Right-click the text source in the Sources panel, select "Edit", clear the current text, and type something new. The change appears on your stream in about one second. This is useful for displaying live information like a current song, a viewer's name, or a countdown timer.
Some streamers use this to show real-time chat messages or alerts. You create a text source, leave it blank, and then type into it whenever something happens — a new follower, a donation, a question from chat. The text appears on screen for a few seconds, then you clear it and wait for the next event. This requires practice to do smoothly, but it creates a more interactive stream.
If you want text to change automatically (like a timer counting down), you will need a plugin or script, which is beyond basic OBS. For manual changes during your stream, editing the text source directly is the simplest approach.
Saving and reusing text layouts
Once you have set up your titles and subtitles the way you like them, save your scene. In OBS, click "Scene" at the top, then "Save Scene As", and give it a name like "Main Stream" or "Gaming Setup". OBS saves the positions, sizes, fonts, and colors of all your text sources with that scene.
The next time you stream, load that scene and all your text sources appear exactly where you left them. You can have multiple scenes for different types of streams — one for gaming, one for just talking to camera, one for interviews — and each scene can have different text layouts. Switch between scenes by clicking on them in the Scenes panel, and your text changes along with your camera and game sources.
If you want to reuse a text source across multiple scenes, you can duplicate it. Right-click the text source, select "Duplicate", and it creates an exact copy that you can move to another scene. This saves time if you have the same title or watermark on every scene.
Frequently Asked Questions
Can I make text appear and disappear automatically on a timer?
OBS does not have a built-in timer for text sources, so you have to toggle them manually or use a plugin. The simplest approach is to turn the source on and off by clicking the eye icon. If you want text to appear for exactly 5 seconds every time, you would need a script or third-party tool, which requires more technical setup.
What font size should I use for titles and subtitles?
Use at least 36 points for titles and 24 points for subtitles so they are readable on phones and small screens. Test your stream on a phone to see if the text is clear. If you are streaming at 1080p or higher, you can go smaller, but larger is always safer than smaller.
Can I use images or logos instead of text?
Yes. Instead of a text source, add an "Image" source and select a PNG or JPG file. You can position and resize it the same way as text. Many streamers use image sources for logos and text sources for changing information like titles and subtitles.
How do I make text transparent so I can see the video behind it?
Right-click the text source, select "Properties", and look for "Opacity" or "Alpha". Lower the percentage to make the text see-through. Most streamers keep text at 100% opacity so it is readable, but you can reduce it if the text is over a light background.
What happens to my text sources if I close OBS?
They stay saved in your scene. When you open OBS again and load that scene, all your text sources reappear in the same positions with the same styling. OBS saves scenes automatically, so you do not have to do anything extra.