The hour is where drift stops being theoretical
Every page on this site makes the same argument about accuracy, and on every other page the numbers are small enough that you could reasonably shrug. Not here. Applying the drift rates we measured to 3,600 ticks, a naive tick-counting countdown finishes an hour about 21 s late on an idle page and 41 s late on a page busy with other work. That is not a rounding error. In an exam it is a paragraph.
Those two figures are projections, and we would rather say so than dress them up: they come from multiplying a measured per-tick drift rate by 3,600 ticks. Nobody here has ever timed an hour-long run. What supports the multiplication is that two different run lengths were measured and neither rate is far from the other — 5.89 ms per tick over one minute against 6.07 ms per tick over five. They are not identical, and averaging them away would hide the spread: projecting from the five-minute rate gives 22 s for an idle hour where the one-minute rate gives 21 s. Treat the region between them as the claim. The whole dataset — every repeat, the spread between them, and what happens when the thread freezes — is on the countdown timer home page.
This page has no drift to accumulate. It records the instant the hour ends and subtracts the monotonic clock from it on every animation frame, so the error at the end of an hour is the same as the error at the end of a minute: about the length of one frame.
Exam sections, deep work and things in ovens
The hour has three quite different constituencies. Exams and mock papers, where a section is an hour and the invigilator's clock is the only thing that matters — a projected countdown removes every "how long left?" from the room and answers it once, permanently, in digits everyone can read. Deep work, where the hour is the smallest block in which anything difficult gets properly started, and the point of the timer is to make finishing a decision instead of a drift. And slow cooking, where an hour is the gap between putting something in and needing to care about it again.
The exam case has one requirement the others do not: it has to be visible and unambiguous from
the back of a room, which is what full-screen mode is for. Press F and the digits
scale to the height of the display, with the controls out of the way so nothing can be nudged
by a passing sleeve.
If your hour is really a sequence of shorter blocks, do not run it as an hour. Four quarter hours land on the clock grid, six ten-minute slots fit an agenda, and the Pomodoro cycle alternates work and rest on its own so you are not clicking reset every twenty-five minutes.
What an hour in a browser tab cannot promise
An hour is long enough for real-world things to interrupt a web page, and it would be dishonest to sell certainty we cannot deliver. Three limits, plainly:
- A sleeping computer ends the timer. Nothing in a browser tab runs while the machine is asleep. Over an hour that is a realistic risk on a laptop on battery — check your sleep settings, or use a device alarm.
- A closed tab ends the timer. There is no storage, no notification and no recovery. Reopening the page gives you a fresh hour, not the remains of the old one.
- A muted tab produces no alarm. Browsers let you mute a tab, and a muted tab stays muted no matter how carefully the sound was scheduled.
What the page does promise is narrower and testable: while the tab is alive, the number on screen is derived from the clock and never accumulated, so it is right when you look away and right when you look back.
The numbers behind a 1 hour timer
Every row here is worked out from the duration itself: the conversions are arithmetic on 3,600 seconds, and the accuracy rows come from the drift measurement described on the home page. The source column says which is which.
One disclosure belongs beside the table itself, where you will actually read it: those drift figures were measured in Node v22.20.0 on one Windows desktop, not in a browser (win32 10.0.26200, AMD Ryzen 9 9950X3D 16-Core Processor, on 2026-08-14). Each condition was run 5 times and the figures used here are the medians, because single runs of this kind vary by more than the difference they are being used to describe. Your machine will produce different numbers. What transfers is the shape — a counter that accumulates drifts, and a counter that subtracts from a fixed instant does not.
| 1 hour timer | Value | Source |
|---|---|---|
| Length in seconds | 3,600 s | arithmetic |
| Length in milliseconds | 3,600,000 ms | arithmetic |
| Share of one hour | 1 | arithmetic |
| Ticks a naive 1-per-second counter makes | 3,600 | arithmetic |
| Finish lateness of a naive counter, idle page | 21 s | projected |
| Finish lateness of a naive counter, busy page | 41 s | projected |
| Share of the timer lost to one 3-second frozen tab | 0.1% | derived |
| One-hour blocks in an eight-hour day | 8 | arithmetic |
| One-hour sections in a three-hour exam | 3 | arithmetic |
| Worst lateness of the timestamp method in the 5-minute Node run | 31 ms | measured |
Start now, finish when?
The most common question about any fixed-length timer is what time it lets you out. These finish times are computed at build time from the start time plus 3,600 seconds, so the rows that cross midnight are right for the same reason the rest are.
| If you start | Start (24 h) | Start (12 h) | It ends | Ends (12 h) | Day |
|---|---|---|---|---|---|
| First exam section | 09:00 | 9:00 AM | 10:00 | 10:00 AM | same day |
| Deep work block, mid-morning | 10:30 | 10:30 AM | 11:30 | 11:30 AM | same day |
| In the oven after lunch | 13:45 | 1:45 PM | 14:45 | 2:45 PM | same day |
| Evening revision hour | 19:00 | 7:00 PM | 20:00 | 8:00 PM | same day |
| An hour that ends tomorrow | 23:30 | 11:30 PM | 00:30 | 12:30 AM | next day |