How to Add a Countdown Timer to OBS

Last updated: February 2026 · 9 min read

Adding a countdown timer to your OBS stream is one of the simplest things you can do to make your broadcast feel more professional. Whether you're counting down to a stream start, signalling a break, or running structured focus sessions, a visible timer gives your audience a shared reference point that keeps them engaged.

The good news is you have multiple ways to do it — from OBS's built-in tools to dedicated overlays that do a lot more than count down. This guide walks you through the three most practical methods, what each one is good for, and when you'd want something more powerful.

Key Takeaways

  • OBS doesn't have a built-in countdown widget, but you can create a basic one with a Text source and a little scripting.
  • The StreamTimer plugin adds a proper countdown directly inside OBS — free, simple, and requires no external service.
  • Browser source overlays (like Focusdoro) give you a live, updatable timer that you control from a separate browser tab — no OBS interaction required during a session.
  • For Pomodoro-style streaming with task tracking and break management, a browser source overlay is the most practical approach.
  • For a simple "BRB, back in 5 minutes" countdown, the StreamTimer plugin is the fastest path with the least setup.

Why Add a Countdown Timer to Your OBS Stream?

Timers do more work for your stream than they might seem at first. Here's why streamers add them:

  • Viewer engagement and pacing. When your audience can see how long until a break or how much time is left in a focus block, they have a reason to stay. There's something psychologically satisfying about watching a timer count down — it creates anticipation. Even a simple "back in 5 minutes" countdown keeps viewers on the stream rather than navigating away.
  • Shared accountability. If you stream coding, art, writing, or any other focused work, a visible timer communicates to your audience: "I'm in work mode for the next 25 minutes." That expectation shapes chat behavior in a useful way — viewers tend to hold off on interruptions when they can see a timer running down.
  • Professionalism and production value. A clean timer overlay signals that your stream is intentionally structured. It's a small visual element, but it reads as organized — something production-quality streams do deliberately.
  • Break management. Letting viewers know when you're on break and for how long removes ambiguity. "Will they be back?" is a question a countdown timer answers automatically.

Three Ways to Add a Timer to OBS

There are three practical methods for getting a countdown timer onto your OBS stream, each with different trade-offs:

  1. OBS Text Source + Script — Uses OBS's built-in Text source combined with a Lua or Python script to count down. No external tools, but requires some manual setup.
  2. StreamTimer plugin — A free OBS plugin that adds a proper countdown timer directly inside OBS. Easier to use than scripting, and handles start/stop controls within OBS itself.
  3. Browser Source overlay — A dedicated timer app (running in a browser tab) that you expose to OBS via a URL. You control the timer from your browser; OBS renders it as an overlay automatically.

The right choice depends on how much control you need and how complex your session management is. A simple "BRB" countdown is very different from a Pomodoro session where you're tracking tasks and cycling between work and break intervals automatically.

Method 1: OBS Text Source (Built-In, Manual)

OBS Studio doesn't ship with a countdown widget out of the box, but you can build a basic one using a Text (GDI+) source combined with an OBS script.

How it works

You add a Text source to your scene, then attach a Lua or Python script (via Tools → Scripts) that updates the text content on a timer. The script decrements a counter every second and writes the formatted time string to the source. Community-contributed countdown scripts are available on GitHub and the OBS forums.

Steps

  1. In OBS, go to your scene and click + in the Sources panel.
  2. Select Text (GDI+) and name it (e.g., "Countdown").
  3. In the Text source properties, set your font, size, and color to match your overlay style.
  4. Download a countdown Lua script from the OBS community (search "OBS countdown script Lua" for current options).
  5. Go to Tools → Scripts, click +, and load the script file.
  6. In the Scripts panel, configure the target text source and the countdown duration.
  7. Use the script controls to start and stop the countdown.

Pros and cons

  • Pros: No external apps or plugins required. You can fully customize the text appearance with OBS's styling options.
  • Cons: Requires finding a working script, which varies in quality and maintenance. Controlling the timer means switching to OBS and using the Scripts panel — not ideal mid-stream. No automatic restart or cycle management.

The Text Source + Script method works for technically-inclined streamers who want full control and don't mind a bit of setup. For most people, Method 2 or 3 is simpler.

Method 2: StreamTimer Plugin (Free OBS Plugin)

StreamTimer is one of the most popular free OBS plugins for adding countdown timers. It installs directly into OBS and adds a dedicated timer source type — no scripting required.

How it works

Once installed, StreamTimer adds a new source type called "StreamTimer Source" to your OBS sources list. You configure the duration, start/stop behavior, and appearance in the source properties. The timer counts down within OBS itself, so you control it from within OBS Studio.

Steps

  1. Download the StreamTimer plugin from its GitHub repository. Follow the installation instructions for your OS (Windows/macOS/Linux).
  2. Restart OBS Studio after installation.
  3. In your scene, click + in Sources and look for the new StreamTimer source type.
  4. Name the source and click OK.
  5. In the properties dialog, set the timer duration, font, size, and color. You can also configure what happens when the timer reaches zero.
  6. Use the Interact option (right-click the source → Interact) or hotkeys to start and stop the timer.

Pros and cons

  • Pros: Free, no external accounts, works entirely within OBS. Straightforward setup. More reliable than scripts for simple use cases.
  • Cons: Still requires you to interact with OBS to control the timer. Plugin support and updates depend on the community maintainer. No Pomodoro phase logic — it's just a countdown, not a work/break cycle manager. No task display.

StreamTimer is the best option for simple "back in X minutes" countdowns where you want everything contained inside OBS. If your use case is more complex — structured Pomodoro sessions with task tracking — you'll hit its limits quickly.

Method 3: Browser Source Overlay (Recommended for Streamers)

The most flexible approach is to run a timer in a separate browser tab and expose it to OBS as a Browser Source. This separates timer control from OBS entirely — you manage your session from your browser while OBS renders the overlay automatically.

How it works

Timer apps like Focusdoro generate a unique overlay URL for your account. You paste that URL into OBS as a Browser Source, and OBS renders the timer as a transparent overlay in your scene. When you start, pause, or end a session on the app, the change appears on your OBS overlay in real time — no touching OBS required.

Steps

  1. Sign up for a free account at focusdoro.app.
  2. Copy your personal overlay URL from the header (the Overlay URL button).
  3. In OBS, add a new Browser Source in your scene.
  4. Paste your overlay URL into the URL field.
  5. Set the dimensions to 220 × 140 (or scale on the canvas as needed).
  6. Add this to the Custom CSS field: body { background-color: rgba(0, 0, 0, 0); margin: 0px auto; overflow: hidden; }
  7. Click OK — your timer appears on the canvas.

For detailed screenshots and a full walkthrough of this setup, see the OBS Pomodoro setup guide.

Pros and cons

  • Pros: Control the timer from your browser without touching OBS. Supports Pomodoro work/break cycles automatically. Can display your current task name on the overlay. Customizable appearance. Free tier covers the full core feature set.
  • Cons: Requires an internet connection and an external account. Depends on the timer service being online.

This method shines when you want a proper session management system — not just a countdown, but a Pomodoro workflow with task tracking, phase transitions (work → break → work), and an overlay that updates automatically without you switching to OBS between sessions.

Which Method Should You Use?

Here's a quick decision guide based on your situation:

  • You just need a "BRB, back in 5" countdown: Use the StreamTimer plugin. Free, no signup, no external dependency. Install it once and forget about it.
  • You want full control without any external apps: Use the OBS Text Source + Script method. More setup work, but entirely self-contained within OBS.
  • You stream focused work sessions (coding, art, writing, studying): Use a browser source overlay. The ability to manage your session from a separate tab — without jumping back into OBS every 25 minutes — is worth the small amount of extra setup.
  • You want Pomodoro-style work/break cycling with task display for your audience: A browser source overlay is the only method that supports this. OBS-native methods are just countdowns; they don't understand Pomodoro phase logic.

Taking It Further: Countdown Timers with Pomodoro Logic

A plain countdown timer is useful, but it's a passive tool. You set a number and watch it go to zero. If you want something that actively structures your streaming sessions — automatically cycling between focus time and breaks, showing your current task to viewers, and managing session history — you need a Pomodoro timer designed for streaming rather than a generic countdown.

The Pomodoro technique divides work into timed intervals (typically 25 minutes) followed by short breaks (5 minutes), with a longer break after every four intervals. For streaming, this creates a predictable rhythm that viewers can follow: "They're in focus mode for 25 minutes, then I'll be able to ask a question during the break."

Focusdoro was built specifically for this use case. Instead of just counting down, it manages the entire Pomodoro cycle: when a work session ends, it automatically transitions to a break timer; when the break ends, it queues the next work session. Your OBS overlay reflects all of this in real time without you having to reset a countdown manually each time.

If you're curious about how the Pomodoro technique can be adapted specifically for live streaming, the Pomodoro technique for streaming guide covers the full approach — from session length decisions to managing chat during breaks.

If you're ready to set up a Pomodoro overlay in OBS right now, the OBS Pomodoro setup guide walks through every step with screenshots.

Try Focusdoro free

Join streamers who use Focusdoro to keep their audience engaged during focus sessions.