ModernCalcs

Stopwatch — Lap Timer with Precision

Online stopwatch timer with lap tracking. Measure time intervals precisely for sports, cooking, work tasks, and more.

Stopwatch

Ready

00:00.00

How to Use

  • Start: Click the green Start button to begin timing
  • Pause: Click Pause to temporarily stop (can resume later)
  • Lap: Record lap times while running (fastest/slowest highlighted)
  • Reset: Clear everything and start fresh
  • Copy: Copy current time or all lap times to clipboard

Time Reference

Common time intervals for reference

1 Minute

Quick timing

5 Minutes

Short intervals

10 Minutes

Medium tasks

15 Minutes

Quarter hour

30 Minutes

Half hour

1 Hour

Full hour

Online Stopwatch with Lap Times and Millisecond Precision

This browser-based stopwatch records elapsed time with millisecond precision and supports unlimited lap splits. Unlike a physical stopwatch, it displays all your split data in a scrollable table so you can review every segment without losing track. Everything runs locally — no data is sent anywhere, and no account is needed.

Formula
Elapsed = performance.now() − startTime Lap split = currentTime − lastLapTime

Uses the browser's high-resolution Performance API (sub-millisecond precision) rather than Date.now() which has 1ms resolution on most systems. Display is updated every frame via requestAnimationFrame.

How a Browser Stopwatch Works

When you press Start, the stopwatch records a start timestamp using performance.now() — a high-resolution timer that's more precise than the system clock and immune to clock adjustments. Every animation frame (roughly 60 times per second via requestAnimationFrame), it subtracts the start time from the current time to compute the elapsed duration.

This is fundamentally different from a simple interval (setInterval), which can drift over time because JavaScript's event loop doesn't guarantee exact timing. The performance.now() subtraction approach is always accurate to the actual wall time, regardless of how busy the browser is.

Lap Times vs Split Times

Lap time is the time for one specific segment — how long that lap alone took. Split time is the cumulative time from start to the end of that lap. Both are useful: lap times tell you how consistent you are from segment to segment, while splits show total progress. Most competitive timing systems record both, and this stopwatch displays both columns in the lap table.

Stopwatch Precision and Its Limits

Browser security measures (added to mitigate Spectre-class timing attacks) deliberately reduce the resolution of performance.now() to about 1ms in most browsers (Firefox caps at 1ms by default; Chrome may vary). For practical sports timing, interval training, and presentations, 1ms is more than sufficient. If you need sub-millisecond laboratory precision, use a dedicated hardware timer.

Practical Uses

Stopwatches are used far beyond sports. Runners and cyclists use lap splits to track pace consistency. Cooks time multiple dishes in parallel. Presenters practice sections of a talk to hit time targets. Competitive gamers time spawn intervals. Scientists measure reaction times in behavioral experiments. A browser stopwatch covers all of these without an app install.

Quick Reference

  • Interval training: record work/rest periods as laps
  • Cooking: time multiple dishes simultaneously with laps
  • Presentation practice: hit your section targets
  • Gaming: measure spawn cycles or cooldown timers
  • Lab experiments: record reaction times and trial durations
  • Accuracy tip: keep the tab in the foreground for unthrottled display refresh

Frequently Asked Questions

How accurate is the browser stopwatch?

The stopwatch uses the browser's Performance API (performance.now()), which has sub-millisecond resolution. In practice, timing accuracy is limited to about 1ms by browser security measures that prevent timing-based attacks. For most uses, this is indistinguishable from perfect precision.

What is the difference between a lap and a split time?

A lap time is the duration of a single segment — how long it took to complete just that lap. A split time is the cumulative time from the start to the end of that lap. For example, if lap 1 is 0:45 and lap 2 is 0:50, the split for lap 2 is 1:35.

Does the stopwatch work when the browser tab is in the background?

The display may throttle to save battery when the tab is in the background, but the underlying timing still runs. The elapsed time is always calculated from the original start timestamp using performance.now(), so the recorded time remains accurate regardless of display throttling.

Can I record lap times?

Yes. Click the Lap button while the stopwatch is running to record the current split. Each lap shows both the segment time and the cumulative time. Lap records are kept until you reset the stopwatch.

What is the Performance API?

window.performance.now() is a browser API that returns a high-resolution timestamp in milliseconds since the page was loaded. It's more precise than Date.now() and monotonically increasing, meaning it can't go backwards even if the system clock is adjusted.

How do I use a stopwatch for interval training?

Start the stopwatch when your interval begins, press Lap at each rest/work transition to record segment times, then review your splits to track consistency. Many runners aim for even splits — where each lap time is close to the others.

Does it work on mobile?

Yes. The stopwatch is fully responsive and works on smartphones and tablets. The buttons are touch-optimized. For best results, keep the screen awake during your timing session.