Time something with lap splits

Measure elapsed browser time with cumulative laps and per-lap splits.

freeworks offlinenothing uploaded
ToolStopwatch
0:00.00

Space to start or stop · L to lap · R to reset

How it works

Start and resume record performance.now, pause banks the measured difference, and requestAnimationFrame only refreshes the centisecond display. Lap timestamps are cumulative; subtracting the previous timestamp yields each split and ranks the fastest and slowest after two laps.

  • Timing begins only on a user action and starts from zero.
  • Centiseconds are displayed although browsers may deliberately coarsen the underlying timer resolution.

Worked example

Two recorded laps
Input
											Start; lap at 12.34 s; lap at 27.89 s; stop
										
Output
												Lap 1: 0:12.34
Lap 2: 0:15.55
Total: 0:27.89
											

When to use this

Workouts record splits, usability tests time browser tasks, and classroom experiments measure repeated trials.

Edge cases

  • Changing the wall clock does not move elapsed time because performance.now is monotonic.
  • A throttled background tab redraws late but recomputes from timestamps instead of accumulating missed ticks.
  • One lap has no fastest-versus-slowest distinction because no second split exists.

References