Online stopwatch
Laps, splits, and a reading that stays correct even when the tab has been in the background for an hour.
0:00.00
Keyboard: Space starts and stops, L takes a lap, R resets.
| Lap | Split | Total |
|---|
Browsers throttle timers in background tabs, so a stopwatch built by counting ticks loses time steadily while you are looking elsewhere. This one measures the difference against a monotonic clock on every repaint, so the number is right whatever the browser did with the tab.
It stays right in a background tab
Most browser stopwatches are built by adding a few milliseconds on every timer tick. That is wrong, and it fails in a way people do not notice: browsers deliberately throttle timers in tabs that are not in front, often to once a second. A stopwatch that counts ticks loses time steadily while you are looking at something else.
This one never counts ticks. Every reading is the difference between now and the moment you pressed start, taken from the browser's monotonic clock. The repaint loop only decides when to redraw; it has no say in the number. Leave the tab for an hour and the reading is exactly right when you come back.
Why a monotonic clock
It cannot run backwards. The ordinary system clock can be corrected by the network, shifted by daylight saving, or changed by hand — any of which would make a stopwatch jump or show a negative time. The monotonic clock only ever moves forward.
Laps and splits
Each lap records both the total elapsed time and the split since the previous lap, which is the number most people actually want. Laps stay on screen while the watch runs.
Keyboard
Every control is a real button and reachable by tab. Space starts and stops, L takes a lap, R resets. The running time is announced to screen readers at sensible intervals rather than on every repaint, which would be unusable.
Related tools
See the online timer for counting down, and the online metronome.
Rate this tool
Was this tool useful? Your feedback helps us improve it.