Stopwatch, Countdown Timer & Pomodoro
Stopwatch, countdown timer and Pomodoro in one place
Stopwatch, countdown timer and Pomodoro in one place
An online stopwatch accurate to 10ms. Press Lap to record a split, and the fastest and slowest laps are highlighted automatically.
No laps recorded yet.
How to use
- Press the spacebar to start/stop (if another button has focus, that button takes priority).
- Press Lap while running to record the split and total time at that moment.
- Once stopped, press Reset to clear everything and start over.
- With 2 or more laps, the fastest and slowest are highlighted automatically.
Loading…
Working…
0.0
It hasn't frozen — the result will appear when the calculation finishes.
About Stopwatch, Countdown Timer & Pomodoro
This page combines three ways of measuring time. The Stopwatch counts up from zero and records laps. The Timer counts down either a set duration (up to 999:59:59) or the time left until a specific date and time. The Pomodoro mode cycles through focus and break phases — 25 minutes of focus, 5-minute short breaks and a 15-minute long break after every fourth focus block by default — and keeps a count of the focus sessions you finish.
All three share one design decision that matters more than it looks. None of them adds or subtracts a fixed amount on every tick. Each one stores a timestamp — when the stopwatch started, or when the countdown is due to end — and recalculates "now minus start" every time it redraws. That is the difference between a timer that is still correct when you come back from another tab and one that has quietly fallen minutes behind.
Why browser timers drift in background tabs
Browsers deliberately slow down JavaScript timers in tabs you cannot see. Since Chrome 88, timers in a hidden page are batched and checked roughly once per second. If the page has been hidden for more than five minutes, has been silent for more than 30 seconds and is running a chain of repeating timers, Chrome moves it to "intensive throttling" and checks those timers only once per minute. It is a battery-saving policy, and a web page cannot opt out of it.
A timer written as "every 250 ms, subtract 250 ms" breaks badly under that policy: while it only runs once a minute, a full minute passes in reality but the display loses a quarter of a second. That is how a 25-minute Pomodoro in a background tab can end up taking far longer than 25 minutes.
This tool avoids that by anchoring everything to a fixed start or end time and recomputing from it. When you switch back, the very next redraw shows the true elapsed or remaining time. That reference is the browser's monotonic clock (performance.now()), not the system clock, so changing the computer's time or an automatic sync correction while it runs does not make the reading jump. The stopwatch, timer and Pomodoro all save their progress to browser storage, so a page reload picks up where it left off, still running.
What can still arrive late: the alarm and the phase switch
Correct arithmetic does not help if nobody is awake to notice the deadline. The check that says "time is up" also runs inside a timer, so in a tab that has been hidden for a while it can fire up to about a minute late, and the beep plays at that moment rather than at zero.
In Pomodoro mode with auto-start switched on, the phase-change chime can be late by the same amount. The schedule itself does not slip: each new phase is timed from when the previous one was due to end, not from when the end was noticed, and when you return to the tab every phase that ended in the meantime is caught up at once. If the sound has to be on time — a speaking slot, a cooking step — keep the tab visible, for example in its own small window. Visible pages are not throttled.
Stopwatch: what the hundredths digit really tells you
The display refreshes about every 33 ms. Under one hour it reads MM:SS.CC, above that H:MM:SS.CC. The last two digits are hundredths of a second, truncated rather than rounded.
Display resolution is not the same as accuracy. With a hand-operated stopwatch the dominant error is the person pressing the button: human visual reaction time is in the region of a fifth of a second, and you pay it twice, once at start and once at stop, though the two partly cancel. Treat the hundredths as a readout, not as proof of a 0.01-second difference between two runners. It is the same reason athletics distinguishes hand timing from fully automatic timing.
Once you have at least two laps, the fastest and slowest are highlighted. If every lap is identical, nothing is highlighted.
Timer: a duration or a moment on the calendar
In duration mode the tool fixes an end time when you press start. In date mode the date and time you enter is itself the end time, interpreted as wall-clock time in your device's time zone. For an event in another country, convert its start time to your zone first.
Once more than a day remains, the display adds a day count in front, such as "100d 09:00:00". When the countdown finishes you hear a short beep, and while it runs the remaining time is shown in the tab title so you can keep an eye on it from another tab.
Date mode counts real elapsed time, not calendar arithmetic. If a daylight-saving change falls inside the countdown, the result is one hour longer or shorter than a naive subtraction of wall-clock times would suggest — which is the correct answer.
Pomodoro: where it comes from and what the evidence says
Francesco Cirillo describes creating the technique in the 1980s, while struggling to concentrate on his university studies, using a tomato-shaped kitchen timer — pomodoro is Italian for tomato. By his account it spread in the 1990s when he coached software development teams.
Research on the technique itself is thin. A 2023 study by Biwer and colleagues followed 87 students at a Dutch university through one real study day. Students given fixed breaks (24 minutes of study and 6 of rest, or 12 and 3) reported less fatigue and distraction and more concentration and motivation than students who decided for themselves when to rest. Self-regulating students studied and rested for longer. Task completion and invested mental effort did not differ between the groups. That points to benefits for mood and efficiency — similar output in less time — rather than evidence that fixed breaks make people produce more.
So there is nothing special about exactly 25 minutes. Here you can set focus from 1 to 180 minutes, short breaks from 1 to 60, long breaks from 1 to 120, and the long-break interval from every 2nd to every 12th focus block.
- Statistics count focus sessions only; breaks are not logged.
- A focus session ended with Skip is not added to your statistics and does not fill a dot toward the next long break.
- Up to 1,000 sessions are kept in this browser, and "today" follows your device's calendar date.
Worked examples
Stopwatch display format
- Input
3,723,456 ms elapsed- Output
1:02:03.45
3,723 seconds is 1 hour, 2 minutes and 3 seconds; the remaining 0.456 s is truncated to 45 hundredths.
Three laps
- Input
Lap pressed at 1:02.30, 2:05.10 and 3:06.95 total- Output
Lap 1 01:02.30 · Lap 2 01:02.80 (slowest) · Lap 3 01:01.85 (fastest)
Each lap is the time since the previous lap: 2:05.10 − 1:02.30 = 1:02.80 and 3:06.95 − 2:05.10 = 1:01.85.
Countdown across a clock change
- Input
Now: 22 Sep 2026, 15:00 in New York. Target: 1 Jan 2027, 00:00- Output
100d 10:00:00
On the calendar that is 101 days minus 15 hours, or 100 days 9 hours. But US daylight saving time ends on 1 November 2026, when clocks fall back an hour, so one extra real hour passes before midnight on 1 January. In Seoul, which has no DST, the same inputs give 100d 09:00:00.
One full Pomodoro cycle on defaults
- Input
Focus 25 · short break 5 · long break 15 · long break every 4- Output
4 focus + 3 short + 1 long = 130 minutes; statistics show 4 sessions (100 min)
4 × 25 + 3 × 5 + 15 = 130. After the fourth focus block the long break replaces the short one.
How to use it
- Pick Stopwatch, Timer or Pomodoro from the tabs at the top.
- Stopwatch: start, and press Lap whenever you need a split. Timer: enter a duration or choose a date and time, then start.
- Pomodoro: adjust phase lengths and auto-start if you like, then start.
- When the exact moment of the alarm matters, keep this tab visible.
Frequently asked questions
Will the time be wrong if I switch tabs?
The displayed time corrects itself as soon as you return. What can lag is the end-of-timer beep and the Pomodoro phase change, by up to about a minute if the tab has been hidden for more than five minutes.
Does reloading the page reset the stopwatch?
No. The stopwatch saves its start time and laps, and the Timer and Pomodoro save their end time and current phase, so all three keep counting after a reload. Pomodoro also catches up and logs phases that ended while the page was closed.
What happens if my computer's clock changes?
While the page is open, time is measured with a monotonic clock that ignores the system clock, so the reading does not jump. Only reload recovery uses the device clock, so reloading after a clock change can be off by that amount. The date-mode timer follows the device clock, because its target is itself a wall-clock time. On some systems the monotonic clock also pauses while the computer sleeps, so the reading can lag by the sleep time after waking.
Does a Pomodoro have to be 25 minutes?
No. Twenty-five minutes is Cirillo's convention, and the study comparing break strategies used 24/6 and 12/3 schedules. Choose lengths that suit the task.
What about phones with the screen off?
Mobile browsers often suspend a page when the screen locks or you switch apps. The time is right when you come back, but the alarm may not sound while the page is suspended.
Sources
- Chrome for Developers: Heavy throttling of chained JS timers beginning in Chrome 88
- HTML Living Standard — Timers (setTimeout/setInterval)
- Francesco Cirillo — Pomodoro® Technique (official site)
- Biwer et al. (2023), Understanding effort regulation: Comparing 'Pomodoro' breaks and self-regulated breaks, Br J Educ Psychol 93(S2):353-367
Last reviewed: