Stopwatch
A precision stopwatch with start, stop, reset, and lap time tracking.
00:00.00
How to use: Click Start to begin timing. Click Lap to record a split time while the stopwatch continues running. Click Stop to pause, then Resume to continue or Reset to clear everything.
Precision: This stopwatch measures time with 10-millisecond precision. Green indicates the fastest lap, red indicates the slowest lap (when 2+ laps are recorded).
Introduction
A stopwatch measures elapsed time with precision down to the millisecond, serving as an essential instrument for athletic training, scientific experiments, cooking timing, and any activity where the duration between a start and stop event matters. A browser-based stopwatch leverages the high-resolution performance.now() timer to deliver accuracy that surpasses typical clock-based implementations, while the lap function records intermediate times without pausing the main count. Whether you're timing a 100-meter sprint or a chemical reaction, the tool provides the temporal data without requiring a physical device.
What Is Stopwatch?
A stopwatch is a timing utility that measures continuous elapsed time from a start event to a stop event, with optional intermediate lap recordings. Unlike a countdown timer, which measures time remaining toward zero, a stopwatch counts upward indefinitely. The implementation uses the browser's performance.now() API, which provides monotonic timestamps with sub-millisecond resolution, avoiding the drift and jitter that plague implementations based on Date.now() or setInterval() alone.
The tool exists because physical stopwatches are single-purpose devices that most people no longer carry, while phone-based stopwatch apps are buried in clock utilities and often interrupted by notifications. A browser-based stopwatch is accessible from any device with a web browser, occupies no storage, requires no installation, and benefits from the large display and keyboard shortcuts that a desktop or laptop provides—space bar for start/stop, 'L' for lap—enabling faster reaction times than tapping a phone screen.
The lap function is what distinguishes a stopwatch from a simple timer. Recording laps captures the duration of each sub-interval—each lap around a track, each phase of a workout, each step of a process—while the main timer continues running. This dual-temporal view (split time vs. cumulative time) is essential for performance analysis: a runner who slows by 2 seconds on the third lap can identify that degradation only because lap times make it visible.
Stopwatch Examples
| Input | Output |
|---|---|
| Start → Lap at 1:23.456 → Lap at 2:47.891 → Stop at 4:12.337 | Lap 1: split 1:23.456 (cumulative 1:23.456) | Lap 2: split 1:24.435 (cumulative 2:47.891) | Final: 4:12.337 |
| Start → Stop at 0:09.847 → Reset | Timer displays 0:09.847 when stopped; after Reset, display returns to 00:00.000 and all history is cleared. |
| Start → Lap at 0:32.100 → Lap at 1:05.800 → Lap at 1:38.200 → Stop at 1:38.200 | Three laps with splits: 32.100s, 33.700s, 32.400s — consistent pacing with the middle lap slightly slower. |
| Start → (wait 25 minutes) → Stop | Display shows 25:00.000 (format automatically extends to MM:SS.mmm; hours appear as HH:MM:SS.mmm if elapsed time exceeds 60 minutes). |
Key Features of Stopwatch
- Millisecond-precision timing using the performance.now() monotonic clock for drift-free measurement
- Lap recording that captures both split time and cumulative elapsed time for each lap entry
- Keyboard shortcuts: Space for Start/Stop, L for Lap, R for Reset—enabling faster interaction than mouse clicks
- Automatic format scaling from MM:SS.mmm to HH:MM:SS.mmm when elapsed time exceeds one hour
- Pause and resume functionality that preserves accumulated time without resetting the count
- Lap history table with visual highlighting of the fastest (green) and slowest (red) laps for performance analysis
- Persistent display that remains visible during timing via always-on-top behavior in supported browsers
How It Works
Start, Stop, and Reset the Timer
Click start to begin counting elapsed time from zero. The display updates in real time showing hours, minutes, seconds, and milliseconds. Click stop to pause the count at any point, and reset to return to zero. The timer maintains its precision regardless of how long it runs.
Record Lap Splits During Timing
Press the lap button while the stopwatch is running to record a split time without stopping the main counter. Each lap entry shows the time at that moment and the duration since the previous lap, letting you measure intervals within a longer timing session.
Review and Copy Your Lap Data
The lap list displays all recorded splits with the overall elapsed time and individual lap durations. You can copy the full lap table to your clipboard for pasting into a spreadsheet or document, making it easy to analyze timing data after your session.
Who Uses This
Athletic Coaches
timing training intervals and recording lap splits during track workouts, using the split function to measure each repetition without stopping and restarting the timer between intervals
Cooking Enthusiasts
timing multiple cooking stages simultaneously by recording lap splits when each ingredient is added or each cooking step begins, tracking the total recipe time alongside individual step durations
Productivity Hackers
measuring how long specific tasks actually take throughout the day by recording a lap each time they switch activities, building an accurate time audit without manual time logging
Related Tools
Pomodoro Timer
Focus timer with 25-minute intervals and break alerts
Try itUtilityTyping Speed Test
Measure WPM and accuracy with real-time tracking
Try itUtilityNotepad
Auto-saving scratch pad for quick notes and snippets
Try itUtilityText to Speech
Read text aloud with adjustable speed and voice
Try it