Never loses its place
The finish time is saved in OBS’s own browser storage, so a reload, a crash or restarting OBS picks up exactly where the timer was — running, paused or finished.
Subathons
Start with a few hours on the clock and let your community push it higher. Every sub, bit or tip can add time automatically through Streamer.bot or any obs-websocket tool, or you add it by hand from the keyboard.
The finish time is saved in OBS’s own browser storage, so a reload, a crash or restarting OBS picks up exactly where the timer was — running, paused or finished.
On a sub, cheer or donation trigger, send one obs-websocket request: add 300 seconds, take time off, set it outright, pause or resume. The studio gives you the exact request.
Start with up to seven days and extend to thirty. Hours keep counting past 24 (36:00:00), the way subathon viewers expect to read them.
In Streamer.bot, make an action with a Twitch subscription (or cheer, or tip) trigger and add the OBS Raw sub-action. Set the request type to CallVendorRequest and paste the request data from the studio, changing the seconds to what each event is worth. Anything else that can send obs-websocket requests — SAMMI, Touch Portal, Stream Deck plugins — can send the same request. It needs OBS Studio 28 or later.
Subathon timers keep the same finish time across reloads. When OBS comes back, the overlay restores the saved deadline, including time added and any pause. The saved state lives in OBS’s browser storage, so keep the same link and don’t clear OBS’s browser cache during the event.
Yes. Press Space in the source’s Interact window, or send the pause and resume actions from Streamer.bot or a Stream Deck. Paused time is kept through reloads too.
The timer is part of your stream video. For a page viewers can open on their own, share a countdown to a date from TimerHub’s countdown maker.
Overlays load in OBS’s Browser Source. Test your scene before going live. Timing a talk or a lesson instead? Make a timer video or embed a timer on a website.