Time & productivity

Online stopwatch with laps

Start, pause and record laps with the buttons or the keyboard. Each lap shows its own split and the running total, the fastest and slowest laps are highlighted, and the whole list can be downloaded as a spreadsheet. The time is read from the clock rather than counted up, so it stays correct when the tab is in the background or the page is reloaded.

00:00.00

Keyboard: Space to start or pause, L for a lap, R to reset.

Runs entirely in your browser. Nothing you enter here is uploaded.

How to use the stopwatch

  1. Press Start or the space bar. The time runs in minutes, seconds and hundredths; hours appear after the first hour.
  2. Press Lap or L at the end of each lap, round or task. The table shows the lap number, that lap's own time and the total so far, newest first; below the main display, the current lap is timed live.
  3. Press Pause or the space bar to stop the clock, and Resume to carry on from the same time.
  4. Press Download CSV to save the laps as a spreadsheet, and Reset or R to clear everything. Reset only works while paused, so a stray key press cannot wipe a running timing.

If you reload the page or close and reopen the tab, a running stopwatch is still running and a paused one keeps its time and laps. The state is kept in your browser only, and Reset removes it.

Why this stopwatch stays accurate

The obvious way to build a web stopwatch is to add 10 milliseconds every time a 10-millisecond timer fires. It works while you watch it and goes wrong as soon as you look away. Browsers slow down timers in tabs you are not looking at, to save battery: MDN documents that inactive tabs get a minimum delay, and Chrome's own documentation says hidden pages have their timers checked once per second, and after five minutes hidden only once per minute. A counting stopwatch in such a tab loses almost all the time that passes.

This stopwatch never counts. When you press Start it records the time from the system clock; whenever it needs to show the elapsed time it subtracts that start time from the current time, adding any time accumulated before a pause. The display is redrawn with requestAnimationFrame, which browsers pause in background tabs — but because nothing is counted, the correct time is there the moment you come back.

Laps work the same way. A lap stores the total elapsed time at the moment you pressed the button; the lap time is the difference between that total and the previous one. The fastest and slowest laps are marked once there are at least two.

Times are cut down, not rounded, to the hundredth of a second: 59.999 seconds is shown as 00:59.99, never as a full minute that has not yet passed.

Examples

Three laps recorded at 10.00, 22.50 and 30.00 seconds:

LapLap timeTotal
300:07.50 (fastest)00:30.00
200:12.50 (slowest)00:22.50
100:10.0000:10.00

The summary reads "3 laps · fastest 00:07.50 · slowest 00:12.50 · average 00:10.00". The CSV file has one row per lap with the lap number, lap time and total, and opens directly in Excel or Google Sheets.

Longer times switch to hours: 1 hour, 2 minutes and 3.45 seconds is shown as 1:02:03.45. If you start the stopwatch at 1.0 s, pause at 4.0 s and resume at 10.0 s, it shows 5.00 seconds at 12.0 s — the six seconds of the pause are not counted.

Limits

  • Precision is about a hundredth of a second on screen, but the time between your press and the browser noticing it is typically a few milliseconds and depends on the device. For timing that matters, such as official races, use dedicated timing equipment.
  • It follows the system clock. If the computer's clock is changed while the stopwatch runs — manually or by a time synchronisation — the elapsed time jumps by the same amount.
  • One stopwatch per browser. Opening the page in two tabs shows the same saved stopwatch, and the tab you use last wins.

Frequently asked questions

Does the stopwatch keep running if I switch tabs?

Yes. It reads the clock instead of counting, so the time is correct whenever you come back, even after minutes in the background.

What happens if I reload the page?

A running stopwatch keeps running, and a paused one keeps its time and laps. Press Reset to clear it.

What is the difference between lap time and total?

Lap time is how long that single lap took; total is the time since you started, up to the end of that lap.

Can I use it with the keyboard?

Yes: Space starts and pauses, L records a lap and R resets while paused.

Is my data sent anywhere?

No. The stopwatch runs and stores its state in your browser only.

Sources and further reading

↵ to open · Esc to close