Stopwatch
Start, lap and reset with the buttons or the keyboard. Nothing to install.
00:00.00
Space start or pause · L lap · R reset
Laps
How it works
The stopwatch records the timestamp at which you started it and reports the difference between that and now. It does not count upwards tick by tick, and that distinction matters: a counter that increments on each animation frame loses time whenever the browser is busy or the tab is in the background, and the error accumulates. Reading the difference between two timestamps cannot drift, however long the run.
Laps are stored as timestamps too. Each lap shows both the split — time since the previous lap — and the cumulative elapsed time, because a sequence of splits is what you usually want to compare while the total is what you usually want to report.
Accuracy is limited by your device clock's resolution and by how promptly the browser can respond, which in practice means a few milliseconds. That is ample for training, cooking or timing a process; it is not a substitute for instrumented timing where a millisecond genuinely matters.
Examples
Interval training. Start once and hit Lap at the end of each repetition. The split column shows whether the fifth interval was slower than the first, which the running total alone would hide.
Timing a process. Leave it running in a background tab while a build or a bake finishes. Because the elapsed time is derived from timestamps, the total is correct even though the tab was throttled the whole time.
Comparing two attempts. Copy the lap list after each run and put them side by side. The export includes both split and cumulative figures, so no arithmetic is needed to compare them.
Practical notes
Elapsed time is measured from a stored start timestamp, so leaving the tab, locking the screen or a busy machine cannot cause drift. What can change is how promptly the display updates: in a background tab the browser throttles repaints, so the figure catches up when you return rather than ticking smoothly throughout.
The practical accuracy limit is your device clock and the browser's scheduling, which together mean a few milliseconds. That is comfortably enough for training intervals, cooking or timing a process, and it is not a substitute for hardware timing where a millisecond is the unit of interest.
Laps are held in the page. Reloading clears them, so copy the list before closing the tab if the numbers matter — there is no server-side history to fall back on.
Frequently asked questions
How accurate is it?
It reflects your device’s high-resolution clock, which is well under a millisecond in practice. Browsers deliberately coarsen the timer slightly for security, so treat the hundredths as an indication rather than a certified measurement.
Does it keep running if I switch tabs?
Yes. The display may update less often in a hidden tab, but the elapsed time is read from the clock, so it is correct when you come back.
What do fastest and slowest mean?
They mark the shortest and longest split — the time between consecutive laps, not the running total.
What is the difference between split and total?
The split is the time since the previous lap; the total is the time since you started. Splits tell you about consistency, the total tells you about the whole run.
Can I export my laps?
Yes, copy the list. It includes both split and cumulative times, so no arithmetic is needed to compare runs.
Does reloading keep my laps?
No. Laps live in the page, so copy them before closing the tab if the numbers matter.
Can I use the keyboard?
Yes. Space starts and pauses, L records a lap and R resets, so timing does not depend on hitting a button accurately.
Does it record fractions of a second?
Yes, to hundredths, which is the useful limit given browser scheduling.
Can I run more than one at a time?
One stopwatch per page, but the lap function covers most cases where you would otherwise want several. For genuinely independent timings, open the page in a second tab.
Does it work on a phone?
Yes, and the buttons are sized for touch. Bear in mind that a phone may sleep the tab aggressively; the elapsed total stays correct because it is measured from a timestamp, but the display pauses until you wake it.