Stopwatch & Timer

Stopwatch & Timer

A stopwatch, countdown timer, and Pomodoro timer in one page. Millisecond precision, alarm, browser notification, URL deep-links — all in your browser.

Very accurate. We use `performance.now` — a high-resolution monotonic clock immune to wall-clock changes — as the timing baseline, with `requestAnimationFrame` driving the visible render. Drift over an 8-hour stopwatch run stays under 100 ms; for sub-second use cases (sport, science, music), the displayed centiseconds match a stopwatch app on your phone.

Yes. We compute the displayed time from a monotonic baseline (`performance.now`), so even when the browser throttles JavaScript in a hidden tab, the time-up event still fires and the elapsed time is correct on tab return. The alarm sound plays the moment you come back to the tab if it fired while hidden; the browser notification appears immediately regardless.

00:00.00

Lap times

Press Lap (or L) while the stopwatch is running to record a split time.

Sound & notifications

Keyboard: Space = start/pause • R = reset • L = lap

Built for focus, cooking, classrooms, and live events

Three modes, millisecond precision, and a few small touches that make the difference.

Three modes in one page

Stopwatch, countdown timer, and Pomodoro timer share a single big-digit display. Switch with a click; each mode keeps its own state and laps.

Millisecond precision, drift-

Driven by performance.now — a monotonic high-resolution clock that's immune to wall-clock changes and tab throttling. Drift over an 8-hour run stays under 100 ms.

Alarm + browser notification

Web Audio beep / chime / bell at zero, plus a system notification so users see it from another tab. The page title and favicon flash too.

Lap times with split + total

Stopwatch records unlimited laps, showing both split and cumulative times — perfect for interval training, race practice, or speed runs.

Fullscreen + URL deep-links

One-click fullscreen for classrooms, livestreams, or events. Share `/?t=300` to launch a 5-minute timer instantly — no setup needed.

Privacy by design

Every tick runs in JavaScript on your device. No timer events, no laps, no Pomodoro count is ever transmitted. Open DevTools → Network and verify zero outbound requests.

How to use the stopwatch and timer

Four ways to use the same big-digit display.

  1. 1

    Pick a mode

    Click Stopwatch, Countdown, or Pomodoro at the top. Each mode keeps its own state — switching back later resumes where you left off.

  2. 2

    Stopwatch with laps

    Press Start (or Space) to count up from zero with millisecond precision. Press Lap (or L) to record a split — the table below shows both split and cumulative times. Reset clears everything.

  3. 3

    Countdown timer

    Type a duration into the input — e.g. 5m, 1h 30m, 25:00, or just 10 for ten minutes — and press Set. Or click any quick preset chip. Press Start to begin; the page rings, flashes the title, and (if you allow) shows a system notification at zero.

  4. 4

    Pomodoro focus blocks

    Pick a preset (25 / 5 / 15 by default) or type your own focus / short / long minutes and number of cycles. The timer auto-advances through focus → short break → focus → … with the long break inserted after the configured number of cycles. The cycle counter at the bottom tracks completed focus blocks.

What people use it for

Four common scenarios where a, in-browser timer beats a phone or kitchen timer.

Pomodoro / deep-work sessions

Block out distractions with 25-minute focus periods and 5-minute breaks. The browser notification keeps you aware even if the tab is hidden, and the cycle counter shows how many blocks you've completed today.

Cooking, baking & brewing

Hard-boil eggs (6 min), proof bread dough (1 hour), brew tea (3 min), bake cookies (12 min). One-click presets cover the most common kitchen durations.

HIIT, interval training & speech practice

Stopwatch with laps for sprint sets, countdown for Tabata 20s / 10s, or rehearsing a TED-style talk against an 18-minute cap. The alarm tells you exactly when you've gone over.

Classroom, livestream & event timing

Project the fullscreen view on a smart-board for the whole class. Share `?t=45m` so students can run the same countdown locally. Embed deep-links into livestream overlays for auction or giveaway countdowns.

100% private — runs in your browser

Timer events, lap times, and Pomodoro counts never leave your device. Open DevTools → Network and you'll see zero outbound requests during use.

  • All timing, alarm sounds (Web Audio API), and lap recording happen as JavaScript on your machine — visible in the page source.
  • Browser notifications use the standard `Notification.requestPermission` flow; we never store anything beyond your locally-saved settings.
  • No login, no telemetry on timer values, no third-party API. We only use one cookie for cookie consent and one for language preference.

Related guides

Hand-picked tutorials on focus, productivity, and browser timing precision.

Frequently asked

How accurate is this timer?

Very accurate. We use `performance.now` — a high-resolution monotonic clock immune to wall-clock changes — as the timing baseline, with `requestAnimationFrame` driving the visible render. Drift over an 8-hour stopwatch run stays under 100 ms; for sub-second use cases (sport, science, music), the displayed centiseconds match a stopwatch app on your phone.

Will the timer keep running if I switch tabs?

Yes. We compute the displayed time from a monotonic baseline (`performance.now`), so even when the browser throttles JavaScript in a hidden tab, the time-up event still fires and the elapsed time is correct on tab return. The alarm sound plays the moment you come back to the tab if it fired while hidden; the browser notification appears immediately regardless.

What is the Pomodoro technique?

Pomodoro is a time-management method developed by Francesco Cirillo in the late 1980s: alternate 25-minute focus blocks with 5-minute short breaks, then take a longer 15–20-minute break after every fourth focus block. The fixed cadence reduces decision fatigue and exploits the brain's natural ultradian rhythm. Our default preset is 25 / 5 / 15 with 4 cycles before a long break — fully editable.

Can I share a timer link?

Yes. Append `?t=` to the URL with any duration, e.g. `https://timer.ikit.app/?t=300` for a 5-minute timer or `?t=25m` or `?t=1h30m`. Use `?stopwatch=1` to deep-link the stopwatch and `?pomodoro=1` for the Pomodoro mode. Bookmark them, embed them in lesson plans, or paste in chat.

Is anything sent to your server?

No. The timer, the alarm sound, lap recording, Pomodoro state, and notifications all run in your browser. No timing events leave your device. You can verify in DevTools → Network — there are zero outbound requests during use. We use one cookie for cookie-consent state and one for language preference, that's it.