Time

Timer & Stopwatch

Track time accurately with persistent state and sound alerts.

Stopwatch idle

Ready
00:0000

Stopwatch vs. timer: two different clocks with the same buttons

Stopwatch counts up from zero with no target and never finishes on its own — Start, Pause, and Reset are the only controls that matter. Timer counts down from a target duration (5 minutes by default) toward zero, adds a progress bar across the top of the display, and does something the stopwatch never does: it finishes, plays a sound, and shows a distinct finished state. Switching between the two modes resets whichever one was in use, so it is not possible to pause a stopwatch mid-run and pick up a timer countdown in its place.

Both share the exact same time display, which hides the hours field entirely once elapsed or remaining time is under an hour — under sixty minutes only MM:SS shows, with two extra digits of hundredths in a smaller, lighter font beside it.

How a paused-and-forgotten timer knows exactly how much time has passed

Every change to mode, status, and elapsed time is written to localStorage, but what actually gets restored on reload is not a frozen snapshot — it is a live reconciliation. For a timer or stopwatch that was running at the moment the tab closed, the tool takes the wall-clock gap between the stored timestamp and right now, adds it to the time already accumulated, and picks up exactly where it would be had the tab never closed. A timer that would have already reached zero during that gap is marked finished immediately on load, without waiting for another tick; a stopwatch just resumes counting up from the reconciled total.

A paused timer or stopwatch, by contrast, restores its frozen accumulated time with no wall-clock adjustment at all — pausing genuinely stops the clock, and only resuming starts the reconciliation logic again from that point forward.

Voice control's exact vocabulary, and why "stop" sometimes does nothing

Voice control listens for exactly three words as substrings of whatever it hears, checked in this order: reset, then stop, then start — so a phrase containing more than one of them resolves to whichever is checked first. Commands are explicit, not toggles: saying start only takes effect if the clock is not already running, and saying stop only takes effect if it currently is. Saying start while already running, or stop while paused or idle, is a deliberate no-op rather than an error.

The recognizer runs continuously and restarts itself automatically if the browser's speech session ends on its own (Chrome cuts these off periodically) as long as the toggle is still on, and it turns itself off and alerts if microphone access is denied. The on/off preference is remembered in localStorage across reloads, but for privacy reasons the microphone itself is never auto-started — flipping the switch back on after a reload is always a deliberate action.

What happens when a timer actually reaches zero

A finished timer plays one short tone through the Web Audio API — a sine wave sweeping from 880Hz down to 440Hz over half a second with a matching volume fade — once, not on a loop. Nothing plays for a stopwatch, since it has no target to reach. From the finished state, pressing the main button restarts the same duration from the top rather than resuming; the +1/+5/+15-minute and -1-minute buttons in the Add Time menu adjust the target duration directly, and doing that while paused or finished immediately recalculates the remaining time — which can flip a finished timer back to paused if enough time is added, or push a paused one straight to finished if enough is subtracted.

The URL is a remote control: presets, autostart, and how another tool on this site uses it

Mode and duration read from the page's own URL on load (?mode=timer&duration=300), and an autostart=true parameter launches the countdown running immediately with no click required, overriding whatever was previously saved. That is not a hidden feature — the Text Counter tool's speaking-time estimate builds this exact URL itself and links straight into it, so pasting text there and clicking Start Timer lands here already counting down for exactly as long as that text would take to say out loud.

A voice-driven countdown, start to alarm

Landing on a 90-second timer with voice control already switched on, saying "let's start" triggers the substring match on start, moves the clock to running, and begins the countdown. Twenty seconds in, saying "hold on, stop for a second" matches stop before start would even be checked, pausing the clock with 70 seconds still showing. Saying "okay start again" resumes exactly where it paused. When the remaining time reaches zero, the tone plays once and the display switches to its finished state — saying "reset" at any point in that sequence, running or paused, immediately returns it to idle at the original 90 seconds.

Common use cases

Timing a presentation to a Text Counter estimate

Paste a script into the Text Counter, then use its Start Timer button to launch a countdown sized exactly to the estimated speaking time.

Hands-free interval timing while cooking

Turn on voice control and say start, stop, or reset without touching a screen with wet or messy hands.

A countdown with a definitive end for a fixed-length talk

Set a target duration once; the progress bar and finishing tone make the exact cutoff unmistakable to whoever is watching.

A stopwatch that survives an accidental tab close

Time a task or workout with the stopwatch, knowing a reload or closed tab reconciles the elapsed time instead of losing it.

Frequently asked questions

What is the actual difference between the stopwatch and the timer besides direction?

The timer has a target duration and a progress bar, and it finishes with a sound when it reaches zero. The stopwatch has neither — it counts up indefinitely with no end state and never plays a sound on its own.

If I close the tab while a timer is running, does it keep counting?

The countdown itself pauses with the tab, but the clock time does not lie when returning to it: reopening the page compares the stored start time against the current time and fast-forwards the display to where it should actually be, including marking it finished immediately if it would have already reached zero.

What exact words does voice control listen for?

Three: reset, stop, and start, matched as substrings of whatever is heard and checked in that order, so a word like reset inside a longer sentence is caught the same as saying it alone.

Why did saying "stop" not pause my timer?

Stop only takes effect if the clock is currently running — saying it while the timer is already paused or idle is treated as a no-op rather than a command with nothing to act on.

Does the alarm sound repeat until I dismiss it, or play once?

Once — a half-second tone plays exactly when the countdown reaches zero and does not repeat, loop, or need to be silenced.

Can another tool on the site actually launch my timer with a specific duration?

Yes — the Text Counter's speaking-time estimate does exactly this: its Start Timer button builds a URL with the estimated duration and an autostart flag, so clicking it lands here already running for that exact length of time.

Why do I have to turn voice control back on every time I reload the page, even though it remembers I had it enabled?

Browsers require a real user gesture before granting microphone access, so while the toggle's on/off preference is restored from storage, the actual microphone connection is never started automatically — flipping it back on is always a deliberate action.

Does adjusting the timer duration while it is paused actually change what is displayed?

Yes, immediately — adding or subtracting time while paused recalculates the remaining time on the spot, and if that pushes the remaining time to zero or back above it, the status can flip between paused and finished right then, not just on the next run.

You might also like