There are two ways to build a timer in a browser and only one of them stays accurate. Counting up by adding a second every time an interval fires accumulates every delay the browser ever imposed — a background tab, a busy main thread, a laptop lid closing — and drifts by minutes over an hour. Reading a monotonic clock on each frame and subtracting the start time cannot drift, because it never accumulates anything.
That difference is invisible for thirty seconds and obvious after a long session, and it is why so many countdown pages finish late.
Why do browsers throttle timers?
To save power. A background tab has its timers slowed deliberately — often to once a second or less — and a mobile browser may suspend them entirely when the screen locks.
A counting timer treats each missed tick as a second that did not happen. A clock-reading timer asks "what time is it now" and gets the right answer regardless of how many ticks were skipped, which is why it survives the tab being hidden.
The practical consequence: any timer that must be right should be checked when the tab comes back, not trusted to have kept counting while it was away.
What can a browser alarm actually promise?
Less than most pages offering one imply. It depends on the tab staying open, the machine staying awake, and the sound being permitted to play — and the last of those is the one that fails silently.
Browsers block audio until the user has interacted with the page, which is a deliberate anti-autoplay measure. An alarm set on a page that was never clicked can reach its time and make no sound at all.
For anything consequential — a flight, a medication, an oven — a phone alarm is the right instrument. A browser alarm is a convenience for something you are sitting in front of.
Why is a metronome different from a timer?
Because it needs sub-millisecond accuracy on every beat rather than second-level accuracy once. Scheduling each click when a JavaScript timer happens to fire produces audible jitter; scheduling it against the Web Audio clock, ahead of time, does not.
The technique is to look a short distance into the future and queue the clicks that fall inside that window, then repeat. The audio hardware plays them at exactly the scheduled moment regardless of what the page is doing, which is what makes the beat steady enough to play against.
It is the same reason a bar is a reliable unit of time in music production: at 120 BPM in 4/4 a bar is exactly two seconds, so eight bars is sixteen — arithmetic that only holds if the clock underneath is exact. The tempo article covers the rest of that arithmetic.
What does a stopwatch reading in hundredths mean?
Less precision than it displays. The clock underneath is accurate, and the chain between an event and your finger is not — human reaction time is around 200 to 300 milliseconds, which is twenty to thirty of those hundredths.
That makes the second decimal place meaningful for a machine-triggered measurement and decorative for a hand-timed one. Lap splits are the useful output, because the reaction delay largely cancels between two presses made the same way.
The reaction test measures that delay directly, and it is worth doing once to see how large it is relative to the numbers a stopwatch shows.
Precision and accuracy are worth separating here. The display precision is hundredths; the accuracy of a hand-started measurement is tenths at best. Reporting a hand-timed figure to two decimal places claims a precision the method cannot deliver, which the significant figures article covers in general terms.
What is the Pomodoro timing actually for?
Structure rather than optimisation. Twenty-five minutes of work, five off, and a longer break after four rounds — named by Francesco Cirillo after a tomato-shaped kitchen timer in the late 1980s.
The specific numbers matter far less than the two properties they create: a unit of work short enough to start without dread, and a boundary that makes interruptions visible. Anyone who finds 25 minutes wrong for their work is not doing it incorrectly by using 50.
Questions people ask
Why does my countdown finish late? Almost always a counting implementation plus a backgrounded tab. A clock-reading timer finishes on time regardless of what happened in between.
Can a timer run when the screen is off? On mobile, generally not reliably. The operating system suspends the page, and it resumes rather than catching up.
Is a world clock affected by this? No — it renders a single instant through the browser’s own time zone database each time it updates, so it is always reading rather than counting. That is also what keeps it correct when a country changes its rules.
Why does the first beat sound different? It is pitched higher deliberately, so the start of the bar is audible without counting. It is the one piece of information a metronome can convey beyond the tempo.
Read the clock, do not count the ticks. The countdown timer, stopwatch and alarm clock all work that way, the Pomodoro timer adds the structure on top, the world clock renders one instant in many places, and the metronome uses the audio clock because a beat needs more than a timer can give.