Add text overlays to your OBS stream in three steps

OBS Studio lets you add titles and subtitles directly to your video output using the Text source. You create a new source, type your text, position it on screen, and adjust the font and color to match your stream. The text appears to your viewers in real time and records into your video file — it is not something only you see in OBS.

This guide walks you through adding a single text element, then shows you how to create multiple overlays, animate them, and keep them organized as your stream grows more complex.

Key Takeaways

  • Text sources in OBS appear on your stream output and in recordings, not just in your preview window.
  • You add text by creating a new Text source in your scene, typing the content, and positioning it with your mouse.
  • Font size, color, and outline are set in the source properties panel, and you can change them anytime without recreating the source.
  • Duplicate text sources to create multiple overlays quickly, then edit each one separately for titles, subtitles, and alerts.
  • Text sources stay in place until you move or delete them, so you can reuse the same overlay across multiple scenes.

Create your first text source

Open OBS and select the scene where you want the text to appear. In the Sources panel at the bottom left, click the plus icon or right-click in the sources list and choose Add Source. Select Text (GDI+) on Windows or Text (Freetype 2) on Mac and Linux. Give it a name like "Stream Title" and click OK.

A properties window opens. In the Text field, type what you want to display — for example, "Welcome to the Stream" or "Now Playing: [Song Name]". The text appears in your preview window immediately. If you do not see it, it may be positioned off-screen or in white text on a white background; you will fix that in the next step.

Leave the other settings at their defaults for now. Click OK to close the properties window. Your text source is now part of the scene.

Position and size your text on screen

In the preview window, click and drag the text to move it where you want it. Grab the corners to resize it. If the text is too small to see or too large, you can also adjust the font size in the properties: right-click the text source in the Sources panel, choose Properties, and change the Font Size number. Larger numbers make the text bigger.

Position text where it will not cover important parts of your stream — typically the top or bottom corners work well for titles, and the bottom center works for subtitles. Make sure the text is readable against whatever background will be behind it. If your stream shows your face, avoid placing text over your face.

Once you are happy with the position and size, you are done with this step. You can adjust it anytime by clicking and dragging again.

Change the color and make text readable

Right-click your text source in the Sources panel and choose Properties. Look for the Color field — click the color box to open a color picker. Choose a color that stands out against your background. White text with a dark outline is readable on almost any background.

To add an outline, scroll down in the properties and look for Outline. Check the box to enable it, then set the Outline Size to something visible — 2 or 3 pixels is usually enough. The outline color defaults to black, which works well with white text.

You can also change the font by clicking the Font dropdown. Sans-serif fonts like Arial or Open Sans are easier to read on stream than decorative fonts. Avoid very thin or very small fonts, because they become blurry when compressed for streaming.

Create multiple text overlays by duplicating sources

Once you have one text source working, you can duplicate it to create more overlays without starting from scratch. Right-click the text source in the Sources panel and choose Duplicate. OBS creates a copy with a new name like "Stream Title 2". The duplicate appears in the exact same position as the original, so move it to a different spot right away so you can see both.

Right-click the duplicate and choose Properties. Change the text to whatever you want the second overlay to say. Adjust the color, size, or font if needed. You now have two independent text sources that you can edit separately.

Repeat this process to add as many text overlays as you need. Common overlays include a stream title at the top, a "Follow for more" message at the bottom, a current song or game title, and a donation alert. Each one is a separate text source that you can turn on or off by clicking the eye icon next to it in the Sources panel.

Update text without stopping your stream

One of the biggest advantages of text sources is that you can change them while you are streaming. Right-click the text source and choose Properties. Edit the Text field to say something new, and the change appears on your stream immediately — your viewers see it update in real time.

This is useful for updating the current song, the next game you are playing, or a donation goal. You do not have to stop streaming, restart OBS, or do anything complicated. Just open the properties, change the text, and close the window.

If you find yourself changing the same text source very often, consider using a browser source or a plugin instead, because those can pull information from external files or websites. For occasional updates, the Text source is simpler and requires no extra software.

Organize overlays across multiple scenes

If you have more than one scene — for example, a "Starting Soon" scene, a "Live" scene, and an "Ending" scene — you can reuse the same text source across all of them. Create your text source in one scene, right-click it in the Sources panel, and choose Copy. Switch to another scene, right-click in the Sources panel, and choose Paste. The same text source now appears in both scenes.

When you edit the text in one scene, it changes everywhere the source appears. This is useful for a persistent title or logo that should look the same across all your scenes. If you want different text in different scenes, create separate text sources instead of copying.

As your stream setup grows, name your text sources clearly — "Title - Main", "Subtitle - Song", "Alert - Follow" — so you can find them quickly when you need to edit them. Use folders in the Sources panel to group related overlays together.

Frequently Asked Questions

Why is my text not showing up on stream?

The text is probably white on a white background, or positioned off-screen. Right-click the text source, choose Properties, and change the Color to something darker. If that does not work, click and drag the text in the preview window to move it toward the center of the screen. You should see it move as you drag.

Can I animate text to fade in or move across the screen?

OBS does not have built-in animation for text sources, but you can use the Transition Overrides feature to fade text in when you switch scenes. Right-click the text source, choose Transition Override, and select Fade. The text will fade in over a few seconds when that scene becomes active.

How do I make text appear only during certain parts of my stream?

Click the eye icon next to the text source in the Sources panel to hide it. Click the icon again to show it. You can do this anytime while streaming. Alternatively, create the text in a separate scene and switch to that scene only when you need the text visible.

What is the difference between Text (GDI+) and Text (Freetype 2)?

GDI+ is for Windows and uses system fonts. Freetype 2 is for Mac and Linux and can use any font file on your computer. Both work the same way — the difference is just which operating system you are using. Choose whichever one OBS offers you.

Can I use HTML or formatting codes in OBS text sources?

No, OBS text sources do not support HTML or rich text formatting. You can only type plain text. If you need formatted text with colors, bold, or italics in different parts of the same overlay, create separate text sources for each part and position them next to each other.