Stopwatch
Measure monotonic elapsed running time with pause/resume, precise lap splits, reset Undo and fixed local lap-report snapshots.
Your inputs stay in your browser.Browser-local monotonic timing; no callback counting. Background callback gaps reconcile to the clock, but device/browser suspension or closure is not guaranteed. Refresh clears the timer. Maximum 999 hours and 1000 laps. Shortcuts Space (start/pause) and L (lap) work only when this timer area itself is focused.
00:00:00.00
Initializing local timer controls…
How to use Stopwatch
Start, record laps and Pause; Resume begins a new active segment. Select newest/oldest lap order without changing IDs. Focus the timer area itself for Space and L shortcuts. Read elapsed announces one reading. Capture export snapshot once before Copy/Download; recapture explicitly for a newer report. Reset Undo restores the snapshot paused.
Worked example
Running for 1234 ms displays 00:00:01.23 by truncation. Pause for 5000 ms, then resume for 1000 ms: total 2234 ms, not 7234. Laps at 1500 and 4000 ms have splits 1500 and 2500 ms.
Rules and limits
performance.now running segments, never callback counting. Display HH:MM:SS.cc without 24-hour wrapping. At 999 hours the timer pauses exactly at the cap; at most 1000 laps. Fastest/slowest labels compare all completed splits after two laps, retaining ties and actual timestamps even if displayed hundredths match. One render loop, scoped shortcuts and no per-frame live announcements. Background callback gaps reconcile, but browser/device suspension or closure is not guaranteed. Refresh clears timing.
What should we improve next?
Help shape the next update to Stopwatch. Tell us what would make it better for you.
Prefer email? feedback@tooltulip.com