Online stopwatch
Start, stop, lap, reset. Splits land in the list with the best and slowest highlighted. Export the whole session as CSV when you are done.
Plenty accurate for anything a human does manually. The display ticks at 30 frames per second, which is more than enough to read centiseconds without your eyes turning to mush. Under the hood, the elapsed time is anchored to the wall clock at the moment you pressed start. That means when the browser throttles the page in the background or you switch to a different tab, no time is lost: the display catches up to the correct elapsed time the moment the tab comes back. The Page Visibility API tells us when to force a redraw so the seconds do not appear frozen for half a beat on tab return.
Every lap shows two numbers: the split (time since the previous lap) and the cumulative (total time at the lap mark). Once you have two or more laps, the fastest split is painted green and the slowest is amber. This is the same convention runners and swimmers use, and it makes pace patterns jump out: if every odd lap is green and every even is amber, you are probably going too hard on the openers. The CSV export keeps the same order as the on-screen list with the headers Lap, Split, Cumulative.
Anything where you want repeatable splits. Cooking, where you check on a sauce every two minutes. Public speaking practice, where each slide should clock in under thirty seconds. Workouts where you do not have a wearable. Workshop facilitation where the group rotates rooms. If you are doing deep work in fixed blocks instead, the Pomodoro timer handles that better. For a one-shot countdown to a meeting, hit the countdown maker.