UseToolSuite UseToolSuite

Stopwatch & Countdown

Free online stopwatch and countdown timer with lap times and alerts. Drift-corrected for accuracy even in background tabs — no install needed.

Stopwatch and countdown in one Lap and split times Keeps accurate time in background tabs No sign-up, works offline

Stopwatch (Persistent)

00:00:00.00

Countdown Timer

Hours
:
Minutes
:
Seconds

Advanced Background Persistence

Most web-based timers stop tracking accurately when you switch tabs because modern browsers heavily throttle inactive background JavaScript (down to 1 execution per second). This tool uses absolute epoch timestamp anchoring stored safely in localStorage. You can start a countdown, close your browser completely, return hours later, and the timer will be exactly where it should be.

Zero-Dependency Audio Synthesis

Instead of relying on external MP3 files that could fail to load or be blocked by CORS policies, the timer's alarm sounds are synthesized natively in your browser using the HTML5 Web Audio API. This ensures the alarm always sounds exactly when needed.

Accuracy by design

A naive browser timer accumulates error; a well-built one doesn’t. The difference is architectural: instead of counting ticks, this tool anchors to the system epoch (milliseconds since 1 Jan 1970) and derives elapsed time by subtraction. The visual updates ride on requestAnimationFrame, which syncs redraws to your display’s refresh rate (typically 60–120fps) for smooth digits — but the truth of the time always comes from the clock, not from how many frames have rendered. That’s why it survives tab switches, throttling, and momentary freezes.

Stopwatch vs countdown

ModeCountsCommon use
StopwatchUp from zero, with lapsWorkouts, debugging, timing tasks
CountdownDown to zero, with an alertCooking, presentations, breaks

Lap times capture split intervals at millisecond precision — useful for comparing repeated efforts (sets, test runs) without resetting.

State that survives a reload

Active timer configuration and lap markers can be serialized to localStorage, so an accidental refresh doesn’t wipe a running session — the timer re-instantiates and resumes from the correct point (again via the stored start timestamp, not a counted value). Everything stays on your device; nothing is sent anywhere.

When you want structured focus instead

A bare countdown is perfect for one-off timing, but if your goal is sustained focus with built-in breaks, the Pomodoro Timer wraps the same accurate-timing core in a work/break cycle with session tracking. Use the stopwatch for measuring, the Pomodoro for managing attention.

Stopwatch & Countdown does the calculation instantly in your browser. It's one of the free Time & Date Tools on UseToolSuite. Below you'll find a step-by-step guide, answers to common questions, and related tools.

Last updated

How to Use This Tool

  1. 1

    Choose a mode

    Pick the stopwatch to count up, or set a countdown by entering hours, minutes, and seconds.

  2. 2

    Start and control

    Start, pause, and reset with the buttons. In stopwatch mode, hit Lap to record split times.

  3. 3

    Read your times

    The display shows the running time to the hundredth of a second; laps are listed underneath.

How helpful was this tool?

Click to rate

Embed this tool on your site

Paste this snippet into any HTML page or blog post to embed a live, fully working copy of Stopwatch & Countdown. Free for any use.

Key Concepts

Essential terms and definitions related to Stopwatch & Countdown.

Stopwatch vs. countdown

A stopwatch counts up from zero to measure how long something takes; a countdown starts at a set time and counts down to zero.

Lap / split time

A checkpoint recorded while the stopwatch keeps running — useful for timing each lap of a run or each round of an exercise without stopping the clock.

Clock drift

The small errors that build up when a timer counts its own ticks. Comparing against the device clock instead avoids drift over long runs.

Frequently Asked Questions

Does the timer stay accurate if I switch to another tab?

Yes. Browsers slow down timers in inactive tabs, so instead of counting ticks, this timer compares against your device clock. When you come back the display corrects itself to the true elapsed time rather than falling behind.

Will I lose my time if the page reloads?

A running timer and its laps are saved in your browser, so an accidental refresh picks up where you left off rather than resetting to zero.

Does it make a sound when a countdown finishes?

Yes, a countdown plays an alert when it reaches zero. Make sure the tab is not muted and your device volume is up; some browsers also require you to interact with the page once before they allow sound.

Will the timer keep accurate time if I switch tabs or lock my screen?

The elapsed time stays correct, even though the visual updates pause. Browsers throttle JavaScript in background tabs to save battery, so the on-screen digits may stop refreshing while the tab is hidden — but this timer doesn't COUNT by accumulating ticks. It records the absolute start timestamp and, whenever it needs the current value, computes the difference against the system clock. So when you return to the tab, it instantly snaps to the true elapsed time rather than showing a value that fell behind. A locked screen or a deep-sleeping device can suspend the JS engine entirely, but the same epoch-delta calculation corrects the display the moment the page becomes active again.

Why is setInterval a bad way to build a timer?

Because setInterval drifts — its callbacks are not guaranteed to fire exactly on schedule, and the small delays accumulate. If you build a timer by adding 1000ms every setInterval tick, each tick that fires a few milliseconds late adds error, and background-tab throttling can stretch a '1 second' interval to a full second or more, so after an hour your timer can be seconds or minutes off. The correct approach (what this tool uses) is to store the start time once and always compute elapsed = now − start against the real clock. The interval then only drives the DISPLAY refresh; the actual time comes from timestamps, so it never drifts no matter how irregular the ticks are.

Troubleshooting & Technical Tips

Common errors developers encounter and how to resolve them.

Timer looks frozen after the laptop was asleep

The OS suspends background tabs to save battery. Click the page or switch back to the tab and the display recalculates against the real clock and jumps to the correct time.

No sound when the countdown ends

Check that the browser tab is not muted and system volume is up. Browsers block audio until you have clicked somewhere on the page at least once, so interact with the timer before leaving it to run.

Related Tools