Stopwatch & Timer
Math & NumbersStart a stopwatch with lap tracking or a countdown timer with alarms. Millisecond precision, keyboard shortcuts, and background-safe operation for timing workouts, focus sessions, and tests.. Free, private — all processing in your browser.
Every device has a clock, but when you want a precise stopwatch or countdown timer that works in your browser — without installing an app, signing in, or downloading yet another utility — the options thin out fast. This timer and stopwatch combination runs entirely in your browser with millisecond precision, supports lap tracking, and continues counting when the tab is in the background.
The stopwatch is built for interval work. Start, pause, resume, lap, and reset are one keystroke each (spacebar to start/pause, L to lap, R to reset) so you keep your hands on the workout or whatever you're timing. Lap times record into a table with split and total time, and you can export laps as CSV or plain text. Precision goes to milliseconds, which matters for short intervals where a 0.1 second difference is meaningful.
The countdown timer handles the rest. Set hours, minutes, and seconds, pick an alarm sound (or go silent), and the timer counts down. A progress ring gives visual feedback, the remaining time appears in the tab title so you can monitor without switching tabs, and an audio or browser notification fires when time is up. For work routines like Pomodoro, set 25 minutes, hit start, work until the alarm, hit start again for a 5-minute break. Combined with keyboard shortcuts and background operation, this is a productivity tool you'll actually reach for.
Stopwatch & Timer — key features
Millisecond-precision stopwatch
High-resolution time tracking using performance.now() for accurate interval measurement.
Lap tracking
Record split and total times in a table; export as CSV or plain text.
Countdown timer with alarm
Set hours/minutes/seconds, pick an alarm sound, and get audio plus browser notification on completion.
Keyboard shortcuts
Space for start/pause, L for lap, R for reset — works without reaching for the mouse.
Tab title updates
Remaining time appears in the browser tab so you can monitor while working in other apps.
Background-safe operation
Timer keeps accurate time even when the tab is hidden thanks to visibility-change reconciliation.
Silent mode
Turn off audio alerts when you need a quiet timer for meetings or late-night work.
How to use the Stopwatch & Timer
- 1
Pick stopwatch or timer
Stopwatch for open-ended timing with laps; timer for a fixed countdown.
- 2
Set duration (timer only)
Enter hours, minutes, and seconds for the countdown.
- 3
Start with space or button
The display updates live; progress ring shows elapsed proportion.
- 4
Use laps or alarms
Press L to record a lap on the stopwatch; countdown plays alarm automatically when time is up.
- 5
Review and export
Laps can be exported as CSV for analysis; timers can be reset and re-run with one click.
Common use cases for the Stopwatch & Timer
Productivity
- →:
- →:
- →:
Fitness
- →:
- →:
- →:
Cooking and daily use
- →:
- →:
- →:
Testing and QA
- →:
- →:
- →:
Stopwatch & Timer — examples
Pomodoro
25 minute work, 5 minute break
timer 25:00
countdown + alarm
HIIT interval
30 seconds on, 10 off
timer 0:30
short countdown repeatable
Stopwatch laps
Running track splits
space to start, L to lap
table of lap/total times
Kitchen timer
Steep tea for 3 minutes
timer 3:00
alarm signals done
Long focus block
90 min deep work
timer 1:30:00
notification on completion
Technical details
Accurate browser timers rely on performance.now() which returns high-resolution monotonic time in milliseconds with sub-millisecond precision. This is preferred over Date.now() for stopwatch use because it's immune to system clock adjustments. Rendering is throttled via requestAnimationFrame so the display updates at the screen refresh rate (usually 60fps) without burning CPU, while the underlying time tracking remains accurate even if the display is paused.
Background tab operation is important. Modern browsers throttle timers in hidden tabs to reduce battery drain — setTimeout and setInterval callbacks fire less frequently when the tab loses focus. But performance.now() still advances correctly, so the stopwatch uses timestamp math on visibility change events to reconstruct elapsed time accurately. A stopwatch started at 0:00 that runs for 5 minutes in a hidden tab will read 5:00 when you return, not some throttled half-time.
The countdown timer uses the same approach: an end timestamp, visibility-change reconciliation, and a periodic display update. When the timer expires, the tool plays a chosen alarm sound via the Web Audio API (for reliable audio even when other tabs are playing) and fires a browser notification (with permission) so you know even if the tab is hidden. Tab-title updates let you see the remaining time without switching tabs. All state lives in localStorage optionally, so accidentally closing the tab doesn't lose your running timer if you reopen within a few seconds.
Common problems and solutions
⚠Tab throttling in old browsers
Older browsers severely throttled hidden tab timers. Modern browsers still throttle but the tool reconciles on visibility change.
⚠System sleep
Closing a laptop or letting it sleep pauses the browser. Timers will not fire during sleep; they resume where they left off.
⚠Audio permission
Browsers may block audio until the user interacts with the page. Start the stopwatch or timer manually to grant audio.
⚠Notification permission
Browser notifications need permission on first use. Allow them for alarm reliability even when the tab is hidden.
⚠Accuracy for very short intervals
Events under 16ms (one refresh frame) may not display individually but the underlying time tracking is still precise.
⚠Session loss
Refresh or close loses current state unless you allow localStorage. Enable session save for resilience.
Stopwatch & Timer — comparisons and alternatives
Phone stopwatches are fine for simple use but requires reaching for a device. OS built-in timers work but notifications can be unreliable on long running systems. Dedicated Pomodoro apps add features but require installation. This browser-based tool gives you a precise stopwatch, countdown timer, lap tracking, keyboard shortcuts, and tab-title updates — all client-side, no account, no install. It keeps accurate time even with tab throttling and plays reliable alarms. Ideal for work intervals, workouts, cooking, and any timing you need without reaching for another device.
Frequently asked questions about the Stopwatch & Timer
▶How accurate is this stopwatch?
Millisecond precision using performance.now(). Display updates match your screen's refresh rate; underlying tracking is independent.
▶Will it keep running if I switch tabs?
Yes. The display may pause due to browser throttling but the time advances accurately and reconciles when you return.
▶Can I set multiple timers at once?
Some multi-timer configurations exist but this tool focuses on one stopwatch and one timer. For multiple parallel timers use multiple browser tabs or windows.
▶Does it work offline?
Yes after first load. The page caches and runs without network.
▶Can I customize the alarm sound?
Several built-in alarm options are provided. Custom audio file support is on the roadmap.
▶Does it have a Pomodoro preset?
Quick preset buttons set common durations (25, 50, 90 minutes) with one click.
▶Can I save lap times?
Laps table exports to CSV or plain text for your own record-keeping.
▶Is my timing data private?
Yes. All timing happens client-side. Nothing leaves your browser.
Additional resources
Related tools
All Math & NumbersAge Calculator
Calculate exact age from a birth date in years, months, days, and smaller units with leap-year-accurate arithmetic.
Cron Expression Generator
Build and understand cron expressions — visual editor, plain English explanation
Crontab Guru
Translate cron expressions into plain English, calculate next run times, and explore common scheduling patterns.
Date Difference Calculator
Calculate exact difference between two dates in years, months, weeks, days, hours with optional weekend or holiday exclusion.
Date Formatter
Format dates in any pattern — ISO 8601, US, European, custom strftime tokens — with full timezone and locale support.
Epoch Converter
Convert between Unix epoch timestamps (seconds and milliseconds) and human-readable dates in any timezone with multiple format options.
Explore more tools
200+ free tools that run in your browser.
Browse all tools →