How to use the stopwatch
- Press Start (or the Space bar). Press it again to stop, and again to carry on from where you stopped.
- Press Lap (or L) each time a lap, round or task ends. Each row shows that lap's time and the total so far.
- Press Full screen (or F) to show large digits that can be read across a room. Press Esc or the button again to leave.
- Press Copy laps to copy a tab-separated list you can paste into a spreadsheet, email or chat.
- Press Reset (or R) to clear the time and laps. An Undo button appears for ten seconds in case you pressed it by mistake.
Keyboard shortcuts
| Key | Action |
|---|---|
| Space | Start or stop |
| L | Record a lap (while running) |
| R | Reset (while stopped or running) |
| F | Enter or leave full screen |
| Esc | Leave full screen |
How this stopwatch keeps accurate time
A simple web stopwatch adds 10 milliseconds every time a timer fires. That drifts, because browsers do not promise to run timers on time, and it breaks badly in the background: to save battery, browsers run timers in hidden tabs at most about once a second, and sometimes much less often. A stopwatch that counts ticks can lose minutes that way.
This stopwatch never counts ticks. When you press Start it records the exact moment from performance.now(), a monotonic clock: it only moves forward, at a steady rate, and is not changed when your computer syncs its clock or you change the time zone. Whenever the screen is drawn, the elapsed time is simply "now minus start", plus any time from earlier runs if you paused. The display is refreshed with the browser's animation timer, in step with your screen, and pauses while the tab is hidden; when you come back, the next frame shows the correct time straight away. Laps are timed the same way, at the moment you press the key, not when the screen next updates.
Two situations need more than that clock. If your computer goes to sleep, some browsers stop performance.now() while it sleeps, so the stopwatch also notes the ordinary system clock and, if that shows more time has passed than the steady clock by over two seconds, it trusts the system clock instead. (The one side effect: if someone moves the system clock forward by more than two seconds while the stopwatch runs, it cannot tell that apart from sleep and counts the jump.) And to survive a reload, the start time and laps are saved in your browser's local storage on this device. Nothing is sent to us. If your browser blocks storage (for example in some private windows) the stopwatch still works; it just starts fresh after a reload.
What "accurate" means here
Browsers deliberately round performance.now() a little, to between a few microseconds and a millisecond depending on the browser, to make some security attacks harder. The display shows hundredths of a second. Both are far finer than the delay between seeing something happen and pressing a key, so for timing people (races, speeches, workouts) the limit is the person pressing the button, as with any handheld stopwatch. For timing code, use your programming language's own timing tools.
Lap times and split times
The word "split" is used two ways. In running, a split usually means the total time at a checkpoint, while a lap time is the time for that one section. To avoid confusion the table shows both: Lap time is the time since the previous lap press, and Total (split) is the time since you started. Once you have two or more laps, the fastest is marked in green and the slowest in red, which is handy for spotting pace changes in intervals.
Tips and troubleshooting
- Space scrolls the page instead of starting. Click an empty part of the page first. Shortcuts are ignored while a text box has focus.
- Full screen does not work. iPhones and some embedded browsers block full screen for web pages. The button then fills the browser window instead; rotate the phone for bigger digits.
- The screen dims while timing. Tick Keep screen awake. It uses the Screen Wake Lock API, which most current browsers support on a secure connection; if yours does not, the page tells you.
- The tab title shows the time. While running, the browser tab shows the elapsed time to the second, so you can glance at it from another tab.
- Timing a talk? The speech timer adds green, yellow and red cues for time limits.
Related tools
Planning a script? See how long it takes to read aloud with the words to minutes converter. Coordinating people in different places? The meeting planner lines up time zones, and the Unix timestamp converter turns machine timestamps into readable dates.