Accuracy by design
A naive browser timer accumulates error; a well-built one doesn’t. The difference is architectural: instead of counting ticks, this tool anchors to the system epoch (milliseconds since 1 Jan 1970) and derives elapsed time by subtraction. The visual updates ride on requestAnimationFrame, which syncs redraws to your display’s refresh rate (typically 60–120fps) for smooth digits — but the truth of the time always comes from the clock, not from how many frames have rendered. That’s why it survives tab switches, throttling, and momentary freezes.
Stopwatch vs countdown
| Mode | Counts | Common use |
|---|---|---|
| Stopwatch | Up from zero, with laps | Workouts, debugging, timing tasks |
| Countdown | Down to zero, with an alert | Cooking, presentations, breaks |
Lap times capture split intervals at millisecond precision — useful for comparing repeated efforts (sets, test runs) without resetting.
State that survives a reload
Active timer configuration and lap markers can be serialized to localStorage, so an accidental refresh doesn’t wipe a running session — the timer re-instantiates and resumes from the correct point (again via the stored start timestamp, not a counted value). Everything stays on your device; nothing is sent anywhere.
When you want structured focus instead
A bare countdown is perfect for one-off timing, but if your goal is sustained focus with built-in breaks, the Pomodoro Timer wraps the same accurate-timing core in a work/break cycle with session tracking. Use the stopwatch for measuring, the Pomodoro for managing attention.
The Pomodoro technique
The Pomodoro mode above, or jump straight to it.
Why timed intervals beat grinding
The Pomodoro Technique (Francesco Cirillo, late 1980s) splits work into focused intervals separated by mandatory breaks. It works for reasons backed by how attention functions: a short, time-boxed block makes a daunting task feel approachable, which beats procrastination; the looming break sustains intensity because the end is always in sight; and the breaks themselves prevent the cognitive fatigue that quietly degrades work quality over a long unbroken session. Tracking completed intervals adds a small, steady sense of progress. This timer runs the full cycle — focus, automatic transition to a break, repeat, with a longer break after a set number of rounds — and plays an alert at each transition.
The default cycle
| Phase | Default | Purpose |
|---|---|---|
| Focus | 25 min | One distraction-free task |
| Short break | 5 min | Recover attention |
| Long break | 15–30 min | Deeper rest every 4 cycles |
All of these are adjustable (see FAQ) — treat the defaults as a baseline to personalize.
Make the focus block real
A Pomodoro is only as good as the focus inside it. The discipline: pick one task before starting, then protect the block — close the extra tabs, silence notifications, and if a distracting thought intrudes (“I should email X”), jot it on a list and return to the task rather than acting on it. The single-tasking is the whole point; multitasking during a focus block defeats it.
Alerts and the tab caveat
The timer sends a browser notification (with permission) and plays a tone at each transition, so it works even when the tab is in the background. One limitation shared by all browser timers: closing the tab stops it — your completed-session count is saved to localStorage, but the running countdown isn’t, so keep the tab open during sessions. Pair this with the White Noise Generator for focus audio and the Typing Speed Test if your focused work is typing practice.