Simple Pomodoro Timer with Sound Alerts
A customizable Pomodoro timer Lua script for OBS Studio – perfect for streamers, students, and anyone trying to stay focused.
What It Does
Fully Customizable
️ Example Timer Preview

Timer example: Focus/Break | xx:xx (mins)| current session/max
Buttons and Features
How to Use
Here it is on GitHub!
Have questions, suggestions, or feature requests? Leave a reply below, happy to improve this over time.
A customizable Pomodoro timer Lua script for OBS Studio – perfect for streamers, students, and anyone trying to stay focused.
What It Does
- Live countdown displayed as: Focus/Break | mm:ss | session/max
- Optional: Plays a sound at the start and end of every session (Focus, Short Break, Long Break)
- Optional: Plays a final sound when all sessions are complete
- Automatically switches between focus and break phases
- Takes a longer break every 4 sessions
- Tracks your session progress (e.g. 2/4)
- Runs entirely inside OBS — no overlays, no browser sources

- Set your own durations (focus, short break, long break)
- Choose how many sessions you want to complete
- Write your own motivational messages
- Use your own .wav or .mp3 files for sounds
- Works with any OBS font or text style
- The script plays a sound when each session starts, ends, and when all sessions are complete
- You can choose your own audio files for each phase
- Works on Windows and MacOS
- Recommended: .wav files — they load faster and are more reliable
- .mp3 files are also supported — just make sure they play when double-clicked on your system
- Leave sound paths blank if you want no audio
️ Example Timer Preview

Timer example: Focus/Break | xx:xx (mins)| current session/max
Buttons and Features
How to Use
- Create a Text (GDI+) source in your OBS scene (this is where the timer will display)
- Download the .lua file
- Go to OBS → Tools → Scripts → Add → load the Lua file
- Input the name of the Text Source you created
- Set your timer settings, sound files, and messages. Leave things blank if you don't want the feature.
- Click Start Timer whenever you're ready
Here it is on GitHub!
Have questions, suggestions, or feature requests? Leave a reply below, happy to improve this over time.