Timer & Stopwatch

Works offlineNothing is uploadedFree, no sign-up

05:00

Runs entirely in this tab. Nothing is sent anywhere.

A countdown timer that accepts however you type time — 5m, 1:30, 90 — and rings a clear alarm, plus a stopwatch with laps. Both keep counting from a timestamp, so a background tab stays exact.

A timer built on the clock, not on ticks

Most JavaScript timers drift: they add up one-second callbacks, the browser throttles callbacks in background tabs, and ten minutes later the countdown is forty seconds behind reality. This one stores a single timestamp and derives everything from it — the display is a projection of the clock, so it cannot drift by construction.

The alarm is three rising beeps generated by the browser's own oscillator — no audio file, nothing fetched — and the tab's title shows the remaining time, so a glance at the tab bar is enough.

Frequently asked questions

Does it keep time in a background tab?

Yes. Browsers throttle background timers, so this one never counts ticks — it remembers when it started and computes the remainder from the clock on every wake. Come back an hour later and it is exactly right, and the alarm fires the moment the tab gets a chance to run.

What formats does the duration field accept?

Plain seconds (90), colon time (1:30 or 1:00:00) and unit shorthand (5m, 2h, 1h30m). Minutes and seconds over 59 in colon form are rejected rather than guessed.

How do laps work?

Each press records the split since the previous lap and the total at that moment — the athletics convention. Laps live only on the page; reset clears them.

Can I run the timer and the stopwatch at once?

One at a time — switching tabs resets the other, deliberately: two competing clocks on one page is how a rest interval gets missed. Open the page in a second browser tab for a second clock; each keeps its own exact time.

Related tools