Free Online Stopwatch — Lap, Split, and Millisecond Timing
A precision browser stopwatch with millisecond accuracy via performance.now(), lap and split tracking, copy-to-clipboard export, and zero install. Works offline once loaded.
A stopwatch counts up from zero to measure elapsed time, unlike a countdown timer that counts down to zero. This browser stopwatch uses performance.now() for sub-millisecond resolution and remains accurate even when the tab is throttled. Use it for sports timing, science experiments, debate rounds, and any task where you need precise elapsed time with lap and split functionality.
How a Stopwatch Differs from a Countdown Timer
A stopwatch and a countdown timer are mirror images. A stopwatch starts at zero and counts up indefinitely until you stop it — it answers the question "how long did that take?" A countdown timer starts at a fixed duration and counts down to zero — it answers "how much time is left?" Both share the same underlying clock, but the user interface and the cognitive frame are different.
Use a stopwatch when the endpoint is unknown: timing a sprint, a science experiment, a presentation rehearsal, or a debugging session. Use a countdown timer when the endpoint is fixed: a 25-minute Pomodoro, a five-minute speech limit, an oven bake time. The Blog Timer's stopwatch and interval timer share the same timing engine, so accuracy is identical across tools.
A Short History of the Stopwatch
The mechanical stopwatch is an offshoot of the chronograph, a complication added to pocket watches in the early 19th century. Louis Moinet, a French watchmaker, built what is now recognized as the first chronograph in 1816 with a 60-Hz beat rate — capable of resolving 1/60th of a second. Nicolas Mathieu Rieussec patented an inked-recording chronograph in 1821, used at the Champ de Mars horse races to record finishing times.
The marine chronometer pioneer John Harrison had already established that mechanical timepieces could be made portable and precise enough for navigation; the stopwatch is essentially that engineering discipline applied to elapsed-time measurement. By the 1860s, split-second chronographs with two seconds hands — one stoppable independently — let timekeepers record intermediate times without losing the running total. That dual-hand design is the direct ancestor of the modern "lap and split" button on every digital stopwatch and every browser stopwatch widget.
The transition from mechanical to quartz stopwatches in the 1970s pushed resolution from 1/10th of a second to 1/100th, and the move to digital integrated circuits in the 1980s brought 1/1000th of a second to consumer devices. Sport-grade Omega and Seiko electronic timers used at the 1968 Mexico City Olympics resolved to 1/1000th and became the FINA and World Athletics reference. Today, a typical web stopwatch using performance.now() resolves to roughly 0.005 ms on a modern desktop browser, though browsers deliberately quantize the value to 100 microseconds or 1 ms to mitigate timing side-channel attacks like Spectre.
Lap Times vs. Split Times Explained
The two terms are routinely confused, even by experienced athletes. They measure different things.
- Lap time is the time for a single segment — the duration of one lap of the track, one length of the pool, one inning. If lap 1 takes 1:20 and lap 2 takes 1:18, those are the lap times.
- Split time is the cumulative time at the end of a segment — the total elapsed time from the start. After lap 2 in the example above, the split is 2:38.
Track and pool timing displays usually show both: the split running on the main display, the lap time recorded for each segment in a memory list. Our stopwatch above records both columns for every lap you press, plus a third column showing how the lap compares to your fastest lap so far — useful for pacing analysis.
Top Use Cases for a Browser Stopwatch
Sports and athletics timing
For interval running on a track, lap-based swimming sets, cycling efforts, or rowing pieces, a stopwatch with lap memory is essential. Coaches use the lap delta (how each lap differs from the fastest) to identify pacing problems. FINA, the world swim federation, requires automatic timing to 0.01 second resolution in finals (FINA Swimming Rule SW 13). A browser stopwatch is not FINA-certified but is more than accurate enough for training, club meets, and personal records.
Lab and science class experiments
Pendulum period measurements, free-fall timing, chemical reaction durations, biology behavioural studies. A stopwatch with sub-millisecond resolution and exportable lap data is more useful than the analog wall clock in most school labs. The W3C High Resolution Time specification (HR-Time Level 3) defines the monotonic clock used here, which never goes backwards even if the system clock is adjusted — a property analog stopwatches cannot offer.
Presentation and debate timing
Track total speaking time while logging each speaker as a lap. Debate formats like British Parliamentary, Lincoln-Douglas, and policy debate all have strict per-speaker limits. Press "Lap" when a speaker finishes; the split tells you total round time, the lap tells you that speaker's duration. For team-based formats, see also our chess clock for per-player budgets.
Cooking, brewing, and fermentation
Steeping tea, brewing coffee, timing a sourdough fold cycle, measuring pasta cook time. For fixed durations a countdown timer is cleaner, but a stopwatch is unbeatable when you don't know how long something will take and need to record the total — for example "how long did the dough rise to double its volume?"
Debugging and performance work
Engineers timing manual workflows, QA staff timing user journeys, or anyone benchmarking a hand-operated process. For code-level benchmarking use performance.now() directly in the console; for human-process timing, a visible stopwatch is more honest about start-stop reaction time.
How Accurate Is This Stopwatch?
The stopwatch uses performance.now() from the W3C High Resolution Time API (HR-Time Level 3, MDN reference). This is a monotonic clock that returns elapsed time from a fixed origin with at least 1 ms resolution in all modern browsers, often higher.
- The displayed time is computed from the difference between the current
performance.now()reading and the start timestamp, not by incrementing a counter on each frame. This means the displayed time stays correct even if the browser drops frames or you minimize the window. - Reaction-time delay between the physical event and your button press dominates the total error. Human reaction time averages 200 to 250 ms for visual stimuli (Welford, 1980), so a hand-operated stopwatch — mechanical or digital — is realistically accurate to about ±0.25 second per start/stop pair, regardless of internal resolution.
- Browser timer throttling in background tabs does not affect this stopwatch because the elapsed time is recomputed from the wall-clock difference, not accumulated from setInterval ticks. See Chrome's timer throttling documentation.
Browser Stopwatch vs. Phone Stopwatch vs. Hardware Timer
| Property | Browser stopwatch | Phone stopwatch (iOS / Android) | Hardware sport timer |
|---|---|---|---|
| Resolution | ~1 ms (quantized) | ~10 ms | 1 ms (FINA-grade: 1 ms) |
| Lap memory | Unlimited (RAM) | ~100 laps typical | 10–300 laps |
| Export | Copy to clipboard, share URL | Manual screenshot | Print or memory dump |
| Offline | Yes (once loaded) | Yes | Yes |
| Cost | Free | Free (bundled) | $15–$400 |
| Lock-screen access | No (tab must be open) | Yes (control center) | N/A (single-purpose) |
| Reaction-time floor | ~250 ms (human) | ~250 ms (human) | ~250 ms (human, manual) |
Stopwatch Modes Compared
| Mode | What it does | Use case |
|---|---|---|
| Standard stopwatch | Counts up from zero, single elapsed reading | Single event timing |
| Lap mode | Records discrete segment times alongside running total | Track laps, swim lengths |
| Split mode | Records cumulative times at intermediate points | Marathon split tracking, ultra running |
| Countdown | Counts down from fixed duration to zero | Use the countdown timer |
| Interval | Alternates work and rest periods automatically | Use the interval timer |
Keyboard Shortcuts
This stopwatch is fully keyboard-driven: press Space to start or stop, L to record a lap, R to reset, and C to copy the lap list to your clipboard. Shortcuts work when the page is focused but no input field is active.
How to Use the Stopwatch on This Page
- Press Start or hit Space. The display starts counting up at millisecond resolution.
- Press Lap or L at each segment endpoint. Each lap appears in the table below with its lap time, split time, and delta versus your fastest lap.
- Press Stop (the same Start button) to freeze the clock. Press it again to resume from where it stopped.
- Press Copy Laps to put a tab-separated list of all laps on your clipboard for pasting into a spreadsheet.
- Press Reset when finished to clear the display and lap history.
Stopwatch FAQ
The internal timing is accurate to about 1 millisecond, the resolution exposed by the W3C High Resolution Time API in browsers. Human reaction time on button presses adds about 200 to 250 milliseconds of error per start or stop, which dominates the total inaccuracy for any hand-operated timing.
Yes. The elapsed time is computed from timestamps, not from frame counters, so background tab throttling does not cause drift. When you return to the tab the display catches up immediately.
A lap is the duration of one segment alone. A split is the cumulative elapsed time at the end of that segment. If lap 1 is 1:20 and lap 2 is 1:18, the split after lap 2 is 2:38.
Yes. Click "Copy Laps" to put a tab-separated table on your clipboard. Paste into a spreadsheet for further analysis. We do not store lap data on any server.
Yes. Once the page has loaded, the stopwatch JavaScript runs entirely client-side. You can disconnect from the internet and it will continue to work until you close the tab.
Most sports officially time to 0.01 second (hundredths) because human reaction time makes finer resolution meaningless for manual operation. We show milliseconds because they are the native resolution of the browser API and useful for some lab and engineering contexts.
No. Official races require certified electronic timing equipment with photoelectric start and finish detection. This stopwatch is appropriate for training, training-camp time trials, school sports, and any context where manual operation is acceptable.
The display rolls into hours after 59:59.999 minutes and supports up to 99 hours, 59 minutes, 59 seconds. Browser performance.now() itself has no practical upper limit for any human-relevant duration.