Timer
Set a countdown for any number of hours, minutes and seconds, with quick presets and a sound when it reaches zero.
How it works
The remaining time is calculated against a target instant rather than decremented on a tick, so background throttling cannot make it drift. Come back to the tab after ten minutes and it shows the right figure, not a timer that fell behind.
Pausing records how much was left and stops the clock entirely rather than leaving an interval running. Resuming sets a new target from that remainder.
The alert at zero needs a sound, and browsers block audio until you have interacted with the page. Starting the timer counts as that interaction, so the sound works — but a timer started programmatically or with the tab muted will finish silently.
The formula
Remaining
remaining = target instant − now
Target
target = start moment + duration set
On pause
store the remainder; on resume, target = now + remainder
Worked examples
| Scenario | Working | Result |
|---|---|---|
| A 5-minute timer | Target set 5 minutes ahead | Counts down to 00:00 |
| Pausing at 2:30 | Remainder stored | Resumes from 2:30, not the clock |
| Switching tabs for 10 minutes | Measured against the clock | Still correct on return |
When you'd use it
- Cooking and kitchen timing
- Pomodoro or focused work intervals
- Timeboxing a meeting or exercise
- Any short countdown without reaching for a phone
Common questions
Will it still be right if I switch tabs?
Yes. The remaining time is measured against a target instant rather than counted down tick by tick, so browser throttling in a background tab cannot make it drift.
Why did the alert not make a sound?
Browsers block audio until you have interacted with the page, and some block it on muted tabs entirely. Pressing start counts as an interaction, so it normally works — but check the tab is not muted if you hear nothing.
Does the timer keep running if I close the tab?
No. Everything runs in the page, so closing or reloading it clears the timer. Nothing is stored or uploaded.

