A coach timing repeats hits the lap button at the end of each sprint. The split list grows: Lap 1, Lap 2, Lap 3. The running total never pauses. That list is built on performance.now(), a monotonic clock that only moves forward. It ignores NTP corrections, manual clock changes, and daylight saving transitions. Here is what that means for anyone who needs an online stopwatch with laps, and how to avoid the wall-clock trap.

Start, lap, and reset

Three controls run the tool. Start begins the timing. Lap captures the current elapsed duration and begins a fresh segment without stopping the overall count. Reset zeroes everything.

Lap is the function that separates a stopwatch from a simple count-up timer. When you time repeated intervals, you want each split recorded while the running total stays intact. The main readout keeps climbing. The lap list stores each split as you go.

How the online stopwatch with laps measures time

The stopwatch uses performance.now(), a monotonic clock. It never jumps backward. It never jumps forward in a way that would corrupt your elapsed duration.

Your wall clock runs on Date.now(), which reads your operating system's time. That time gets adjusted. NTP corrections happen every 9 to 64 minutes on most systems. Daylight saving changes happen twice a year. Manual adjustments happen whenever you fix a wrong clock. None of those adjustments touch a stopwatch that uses monotonic time.

How does a lap split get recorded?

When you press lap, the stopwatch freezes the elapsed duration at that moment and begins a new segment measurement. The main timer keeps running without interruption.

The lap list builds a record, each entry with its own duration. You see total elapsed time alongside individual splits. Coaches track pace variation this way. Medics time procedure steps. Anyone measuring repeated intervals gets usable data without stopping the clock.

Fullscreen visibility for rooms and groups

Fullscreen mode needs a user gesture: a click or a keypress. Browsers refuse to force fullscreen on page load. That is a security rule, not a flaw.

Once active, the stopwatch fills the screen. Exam halls, operating rooms, and treatment areas use this mode because the digits are readable across a room. Nothing distracts from the timing readout.

Fullscreen does not keep your screen awake. That requires a separate Screen Wake Lock API request, or an adjustment in your OS power settings.

What accuracy to expect from a browser stopwatch

The underlying performance.now() timestamp has sub-millisecond precision. Your reaction time pressing start and stop is the real ceiling, typically two to three tenths of a second. The stopwatch itself is not the limiting factor.

You get consistent, repeatable timing for intervals down to about a tenth of a second for practical use. For calibrated measurements, certified equipment is necessary. For timing a speech, a test, or a workout, a browser stopwatch is more than sufficient.

Who uses an online stopwatch with laps

Interval training and HIIT sessions use the lap button to time work and rest periods without losing the session total. Coaches time sprints, track pace changes, and measure progress across weeks.

Exam invigilators run a fullscreen readout that every student can see. Practice tests benefit from clean starts and stops.

Healthcare settings time procedures and medication intervals. The stopwatch runs continuously, and the lap function records each step's duration without disrupting the overall timing.

Why wall-clock time would break the stopwatch

If the stopwatch used Date.now(), an NTP correction that shifts the system clock forward by half a second mid-timing would add half a second to your elapsed time. A backward correction would shrink it. A daylight saving transition would gain or lose an entire hour.

performance.now() resets on page navigation. Refresh the page, and your timing starts over. That is by design. The monotonic clock is tied to the page's lifetime. Do not refresh mid-measurement.