Stopwatch
Precise stopwatch with lap recording. Use keyboard shortcuts for hands-free operation.
00:00.000
Space Start / Stop ·
L Lap ·
R Reset
About Stopwatch
This online stopwatch runs entirely in your browser with millisecond precision using the performance.now() API. It records lap times, highlights the fastest and slowest laps, and lets you copy the full lap history as text.
Features
- Millisecond precision - Displays hours, minutes, seconds, and milliseconds.
- Lap recording - Records both the split time (time since last lap) and the total elapsed time.
- Best/worst lap - Highlights the fastest lap in green and the slowest in red.
- Keyboard shortcuts - Space to start/stop, L to lap, R to reset.
- Copy laps - Export the full lap table as plain text.
How to Use
- Click Start (or press Space) to begin timing.
- Click Lap (or press L) to record a lap time while the timer continues.
- Click Stop to pause. Click Start again to resume.
- Click Reset to clear all laps and return to 00:00.000.
- The Best and Worst laps are highlighted automatically.
How It Works
The stopwatch uses performance.now() for millisecond-precision timing. Lap times are the difference between consecutive lap presses. The display updates every 10ms using setInterval.
Example
Time a 400m running workout with lap intervals: press Lap after each 100m split to see individual split times and compare your fastest vs. slowest laps.
FAQ
No. The stopwatch records the wall-clock start time using
performance.now(), so it continues counting accurately even when the tab is not in focus. The display may update less frequently in the background, but the time is always correct when you return.The timer uses
performance.now() which has sub-millisecond resolution. Display updates run at ~60fps via requestAnimationFrame, so the displayed milliseconds are accurate to within a few milliseconds of actual elapsed time.