Countdown Timer
Set a duration, hit start, and count down. Includes Pomodoro presets.
Presets:
About this countdown timer
Set any duration and start counting down. The Pomodoro Technique uses 25-minute work sessions followed by 5-minute breaks — try the built-in presets. The timer uses requestAnimationFrame for smooth display and runs entirely in your browser. Note: the timer may drift slightly if the browser tab is in the background, as browsers throttle inactive tabs.
Built and maintained by Meet Shah · Last updated
What this tool is used for
- Timing a talk or a presentation segment.
- Running a fixed work interval without a separate app.
- Timing a cooking step or a break without unlocking a phone.
- Boxing an open-ended activity so it cannot quietly consume an afternoon.
- Using a preset for a standard interval such as a Pomodoro.
Frequently Asked Questions
- Does it keep running if I switch tabs?
- The countdown stays accurate, because it compares timestamps rather than counting ticks. What browsers throttle in a background tab is how often the display updates — typically to once a second or less — so the number may jump when you return.
- Why not just count down by one every second?
- Because `setInterval` drifts. It guarantees *at least* the delay, never exactly it, and a busy main thread or a throttled tab compounds the error — a naive one-second counter can lose minutes over an hour. Comparing against a fixed end time cannot drift.
- Will it survive a page reload?
- No — the timer lives in the page. Reloading or navigating away resets it. For anything that has to outlive a tab, use a calendar reminder or your operating system's own timer.
- Can I share a running timer?
- The URL carries the settings, not the remaining time, so sharing gives the other person the same duration starting when they open it. That is usually what you want for a shared exercise; it is not a synchronised clock.
- What is it useful for?
- Timeboxing — a 25-minute Pomodoro, a five-minute standup, a two-minute lightning talk. The visible clock is doing the work: a countdown everyone can see changes how a meeting behaves in a way a private timer does not.
- Why does the last second sometimes appear to be skipped?
- Because a timer that fires slightly late crosses two whole seconds at once when the remaining time is computed from the clock. Rendering `ceil` of the remaining time rather than `floor` keeps the visible countdown ending on 1 rather than jumping.
- How accurate can a browser timer be?
- Not very, by design. Background tabs are throttled to roughly once a second or less, and timers are deliberately coarsened to limit timing attacks. Deriving the display from a start timestamp rather than counting ticks is what keeps it correct anyway.
Common errors and gotchas
- Leaving the page in a background tab, where browsers throttle timers and the countdown drifts.
- Closing the tab and losing the timer, since nothing is stored anywhere.
- Relying on it for something safety-critical, where a dedicated device is appropriate.
- Assuming a sound will play, which many browsers block without a prior interaction.
- Expecting millisecond accuracy from a page timer, which the event loop does not guarantee.
Related Developer Utilities tools
RegExp Tester
Test regular expressions and inspect matches locally.
Regex Visualizer
Visual regex pattern diagram with live match highlighting and capture group annotations.
Subnet Calculator
Compute CIDR subnets, usable hosts, and network ranges.
Cron Parser
Translate cron syntax into plain English.
URL Parser
Break a URL into protocol, host, path, and query parts.
HTML Previewer
Paste HTML and see it rendered live in a safe, sandboxed preview.
HTTP Status Code Reference
Search and look up every HTTP status code and its meaning.
MIME Type Lookup
Find the MIME type for a file extension, or the extensions for a MIME type.