BrowserTools
Advertisement
Home / Misc / Stopwatch & Timer

Stopwatch & Timer

Online stopwatch with lap times and a countdown timer with audible alarm — all in your browser.

Loading Stopwatch & Timer… If nothing happens, please enable JavaScript.

Frequently asked questions

Does the timer keep running if I switch to another tab?
Yes. The elapsed time is computed from a stored start timestamp using performance.now(), not from a counter that increments on every tick. Even if the browser throttles JavaScript execution in the background tab, the timer will show the correct elapsed time when you return to it.
How precise is the timer?
The timer displays time to the hundredth of a second (10 ms resolution). Browsers deliberately cap the resolution of performance.now() to around 1 ms in standard contexts for security reasons, so displayed values are accurate to within a few milliseconds. This is more than sufficient for sports, cooking, and productivity use cases.
How does the audible alarm work?
The countdown alarm uses the Web Audio API to synthesise a short tone directly in the browser without downloading any audio file. For the alarm to sound, your system volume must be turned up. Some browsers also require that you have interacted with the page (clicked or tapped something) before they allow audio playback, as a measure against autoplay abuse.
Can I record lap times?
Yes. Pressing the Lap button during a stopwatch session records the current elapsed time as a split. Each subsequent lap records both the cumulative time and the time for that individual interval. You can copy all lap times to the clipboard using the Copy button and paste them into a spreadsheet or notes app.
What is the Pomodoro Technique and how can this timer help?
The Pomodoro Technique, developed by Francesco Cirillo in the late 1980s, breaks work into 25-minute focused intervals (called Pomodoros) separated by 5-minute breaks, with a longer 15–30 minute break after every four intervals. The countdown timer on this page is ideal for Pomodoro sessions: set it to 25 minutes, focus until the alarm sounds, then reset it to 5 minutes for a break.
What is the maximum countdown duration?
The countdown timer accepts hours, minutes, and seconds, so you can set durations ranging from a few seconds up to many hours. There is no enforced upper limit. However, because the state is held in browser memory, closing or refreshing the tab will reset the timer.
Why does performance.now() have reduced precision in browsers?
High-resolution timers can be exploited in Spectre-style side-channel attacks, where an attacker uses precise timing measurements to infer the contents of memory they should not be able to read. To mitigate this, browsers reduced the resolution of performance.now() after the Spectre vulnerability was disclosed in 2018. The current resolution of approximately 1 ms is a deliberate security trade-off.
Can I use this for timing athletic events like running or swimming?
Yes, with the caveat that browser-based timers are not certified for official competition timing. For personal training, coaching sessions, and informal events, the millisecond-range accuracy is more than adequate. Record splits with the Lap button and copy the full table of times when the session ends.
Does the page need an internet connection once loaded?
No. Once the page has loaded in your browser, the stopwatch and timer function entirely offline. No network requests are made during timing. This means the tool works reliably even in locations with poor connectivity, such as gyms, outdoor sports venues, or kitchens far from the router.
How does this compare to a dedicated stopwatch app?
A dedicated hardware stopwatch or a native mobile app may offer slightly better battery optimisation and can save session history to persistent storage. This browser tool has the advantage of being instantly accessible on any device without installation, and the lap export feature makes it easy to transfer times to a spreadsheet or training log.

About Stopwatch & Timer

Timekeeping is one of humanity's oldest technological pursuits, and the stopwatch is one of its most refined instruments. A stopwatch measures elapsed time from a defined start point to a defined stop point, with the precision needed to distinguish fractions of a second. Modern digital timers go further, recording intermediate lap times so you can analyse the breakdown of a longer activity into its component intervals. A countdown timer works in the opposite direction: it counts down from a set duration and signals when time has expired. Both instruments are essential in contexts where time is the primary variable being managed, from athletic training to cooking, from software performance testing to the Pomodoro productivity technique.

The range of people who use stopwatches and countdown timers every day is surprisingly broad. Coaches and athletes use lap timing to analyse race splits and training intervals. Cooks and bakers rely on countdown timers to avoid overcooking. Teachers use timers to manage class activities and test durations. Software developers and QA engineers time code execution and user-interface responsiveness. Public speakers rehearse with a countdown to keep within their allotted slot. Knowledge workers practising the Pomodoro Technique alternate 25-minute focused work sessions with 5-minute breaks, both timed precisely. The need to measure or limit a span of time is so universal that every smartphone, smartwatch, and smart speaker ships with these functions built in.

This browser-based tool implements both a stopwatch and a countdown timer using the Web API performance.now() for timing. Unlike JavaScript's setInterval, which can drift when a browser tab is throttled or the system is under load, performance.now() returns a high-resolution timestamp that is computed from the wall clock. The actual elapsed time is calculated as the difference between the start timestamp and the current timestamp, which means background-tab throttling does not cause the timer to lose time. The audible alarm is generated using the Web Audio API, which synthesises a tone directly in the browser without requiring any audio file to be loaded. All state is held in memory — closing or refreshing the tab resets everything.

A note on browser timing precision: for privacy and security reasons, browsers deliberately reduce the resolution of performance.now() to approximately 1 millisecond in most contexts (and to 5 milliseconds or more in cross-origin iframes). This is sufficient for the vast majority of timing tasks — cooking, exercise, productivity — but is not suitable for benchmarking tasks that require microsecond precision, for which you would need a dedicated hardware timer or a specialised profiling tool.

From Sundials to performance.now(): 4,000 Years of Timekeeping Technology

The history of the stopwatch begins long before electricity. The earliest mechanical stopwatches were pocket watches modified with a seconds hand that could be started and stopped independently of the main movement. The pivotal invention was the split-seconds mechanism, patented in 1862, which allowed two independent hands to be started together and stopped separately — essential for timing multiple competitors in a race. But the most significant milestone was Adolphe Nicole's 1844 patent for the first true stopwatch with a reset function: a mechanism that could return the seconds hand to zero with a single push of the crown. Nicole was a Swiss watchmaker working in London, and his invention became the standard design for chronograph watches that persists to this day. Early mechanical stopwatches were accurate to about 1/5 of a second — far less precise than a modern browser timer, but revolutionary for 19th-century sports officials.

Electronic timekeeping transformed professional sports in the 20th century. The 1932 Los Angeles Olympics were the first Games to use photo-finish technology, combining a camera with an electronic timer to resolve disputes invisible to the human eye. By the 1960s, the Swiss company Longines was providing electronic timing accurate to 1/100 of a second for the Olympics. Digital stopwatches for consumers appeared in the 1970s alongside the quartz watch revolution; the first Casio digital watch with a stopwatch function (the Casio Casiotron) launched in 1974. These battery-powered quartz oscillators could maintain time with an accuracy of a few seconds per year, vastly superior to the spring-driven mechanical watches they replaced.

Browsers implement high-resolution timing through the Performance API, specifically the performance.now() method, which was standardised by the W3C in 2012. Unlike the older Date.now() method, which returns a Unix timestamp in whole milliseconds and can jump backwards if the system clock is adjusted, performance.now() returns a floating-point number representing the time elapsed since the page's time origin, with sub-millisecond resolution. The method is monotonically increasing — it never goes backwards — making it ideal for measuring durations. Its precision was deliberately reduced from microseconds to approximately 1 millisecond after the Spectre CPU vulnerability was disclosed in January 2018, as high-resolution timers are a necessary component of certain side-channel attacks. The trade-off between timing precision and security is a fascinating example of how low-level hardware vulnerabilities can propagate all the way up to the browser APIs that everyday web applications depend on.

Advertisement