Stopwatch
Start, stop, lap — with keyboard control and a readable display.
Space start/stop · L lap · R reset
How it works
Elapsed time is measured with performance.now(), a monotonic clock that is not
affected by the system clock changing, and it is recomputed from the start timestamp on every
frame rather than accumulated. That means a backgrounded tab — where browsers throttle timers —
resumes with the correct total instead of having silently lost seconds.
Splits versus totals
The split is the time for that lap alone; the total is elapsed time since the start. Runners usually care about splits, and lap consistency is a better predictor of a good race than any single fast lap.
Accuracy
Browsers deliberately reduce timer resolution as a defence against timing side-channel attacks, so treat the hundredths as indicative rather than certified. For anything official, use purpose-built timing equipment.