20 Minute Timer

Twenty minutes is the nap length, the eye-break interval and the shortest block long enough to actually get into something. Set it, put the screen face down and let the alarm handle the rest.

20:00

Timer ready, set to 20 minutes.

Ready · 20 minutes

Space start/pause · R reset · F full screen

Browsers only let a page make noise after you have interacted with it, so the alarm is armed the first time you press Start. Until then this tab is silent — that is the browser being polite, and nothing here is broken.

The nap timer, and why the alarm matters more than the countdown

The twenty-minute nap is the best-known use of this length, and it is also the case where a browser timer is most likely to let somebody down. Every other use on this site involves watching a screen. A nap involves deliberately not watching one — usually with the phone face down, the laptop lid nearly shut and the tab pushed to the background behind whatever you were working on.

That is exactly the situation in which most web timers quietly fail. A hidden tab has its scripts throttled, so a countdown that plays its sound from JavaScript when it notices it has finished can notice late. This page books the alarm on the browser's audio clock at the moment you press start, so the sound is scheduled before the tab is hidden and does not wait on a throttled script.

Twenty minutes is also the length at which we have to stop selling that and start qualifying it, because this is the page where the qualification actually bites. The exemption browsers grant to audio is an exemption for audio that is audible, and a timer counting down to a beep is silent for the entire wait. A silent context is one a browser may suspend outright when the tab is hidden, and while it is suspended the audio clock does not advance. Worse, the strictest tier of script throttling in Chrome applies to a tab that has been hidden and silent for more than five minutes — the same condition — so on a twenty-minute nap the fallback and the audio path are degraded together. In practice that means the beeps are deferred, not lost: they tend to arrive when you come back to the tab. That is a fine outcome for an eye break and a useless one for a nap you actually needed to end at twenty minutes.

So: if the consequence of oversleeping is serious — a train, an interview, a shift — use a phone alarm, and if you want the best chance from this page, keep the tab visible on a second screen where your own work cannot bury it. A closed laptop or a dead battery ends any web page, and no amount of careful scheduling survives that. What the page does still guarantee is the number: the countdown is derived from a fixed end instant, so however long the tab was hidden, the time it shows when you look at it is correct.

Twenty minutes away from the screen

The other twenty-minute habit is the eye break: a widely repeated guideline for screen work suggests looking away from the display every twenty minutes, at something roughly twenty feet away, for about twenty seconds. We have not evaluated the evidence behind it and are not going to claim an effect for it — what we can say is that it is a rule you cannot follow without a reminder, because the entire failure mode is not noticing that twenty minutes have gone.

Used that way the timer runs in a background tab all day, which puts the accuracy question front and centre. Three twenty-minute cycles fill an hour; a working day is twenty-four of them. Projected from the rate we measured, a naive tick-counting timer would finish each cycle about 14 s late on a busy page, so the twenty-fourth break of the day arrives 327 s after it should. A drifting reminder is a reminder that slowly stops being about twenty minutes. The runs those rates came from are published on the online countdown timer home page.

The same length works for a soak, a marinade, a laundry cycle checkpoint, a focused tidy of one room, and the first block of a study session before a proper break. For a longer block the 30 minute timer is the next step up; for the structured version with breaks built in, use the Pomodoro timer.

Setting a twenty-minute timer you can trust

Test the alarm before you rely on it. Press Start, listen for the tones, then press Reset. Ten seconds of checking is worth more than any promise a web page can make about its own audio.

Leave the tab open, not just the browser. Closing the tab ends the timer completely; switching to another tab or another application is fine. On a laptop, sleep ends it too — the page is not running while the machine is not.

Full screen is for naps as well as classrooms. A full-screen countdown on a second monitor is readable from a couch without unlocking anything, and it stops the browser from being a tempting thing to scroll while you are meant to be resting.

Use the URL if this is a routine. Bookmark this page for twenty minutes flat, or build your own: ?t=25m, ?t=20:00 and ?t=1200 all work on any page of the site.

The numbers behind a 20 minutes timer

Every row here is worked out from the duration itself: the conversions are arithmetic on 1,200 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.

Cycle counts are exact division. The accumulated-lateness row is the measured busy-page drift rate applied to twenty-four consecutive cycles.
20 minutes timer Value Source
Length in seconds 1,200 s arithmetic
Length in milliseconds 1,200,000 ms arithmetic
Share of one hour 1/3 arithmetic
Ticks a naive 1-per-second counter makes 1,200 arithmetic
Finish lateness of a naive counter, idle page 7.1 s projected
Finish lateness of a naive counter, busy page 14 s projected
Share of the timer lost to one 3-second frozen tab 0.3% derived
Twenty-minute cycles in an hour 3 arithmetic
Twenty-minute cycles in an eight-hour day 24 arithmetic
Projected schedule slip by the last cycle of the day, naive counter, busy page 327 s projected

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 1,200 seconds, so the rows that cross midnight are right for the same reason the rest are.

Start plus 1,200 seconds, computed. The 15:40 row shows a cycle chain landing exactly on the hour.
If you start Start (24 h) Start (12 h) It ends Ends (12 h) Day
Nap after lunch 13:10 1:10 PM 13:30 1:30 PM same day
First focus block of the afternoon 14:00 2:00 PM 14:20 2:20 PM same day
Third cycle, ending on the hour 15:40 3:40 PM 16:00 4:00 PM same day
Soak before bed 21:15 9:15 PM 21:35 9:35 PM same day
Started ten minutes before midnight 23:50 11:50 PM 00:10 12:10 AM next day

20 Minute Timer: common questions

Will the alarm wake me if the tab is hidden?
It is scheduled to, and on this length in particular we are not going to promise more than that. The tones are booked on the browser's audio clock the moment you press start, so they are queued before the tab is ever hidden and do not depend on a throttled script noticing the finish. But a browser may suspend a silent audio context in a hidden tab, and a countdown waiting for its beep is silent the whole way — twenty minutes hidden is well past the point where browsers start applying their strictest throttling. If that happens the tones are deferred rather than cancelled, which usually means they play when you return to the tab. Add the ordinary caveats — sound must be unlocked by a click first, a muted tab or a sleeping laptop produces nothing — and the honest advice for a nap is a phone alarm, or at least leaving this tab visible.
Is twenty minutes the right nap length?
It is the length most commonly recommended for a short nap, on the reasoning that it is brief enough to avoid waking from deep sleep. We have not assessed that literature and make no claim about it. What we can tell you is that this page will end at twenty minutes precisely, so the variable is your choice of length and not the clock.
Can I run it repeatedly for eye breaks?
Yes, but use Reset between cycles and leave the page alone — it returns to a full twenty minutes and keeps the alarm armed. If you want the cycle to advance without being touched, the Pomodoro timer alternates work and break automatically.
Does the countdown drift over twenty minutes?
Not measurably. The remaining time is recomputed from a fixed end instant on every frame, and across our idle runs the worst lateness of that method at any point was about 30.2 ms — roughly two animation frames, and it does not grow with the length of the timer. The one thing that does delay the display is a frozen thread, which stops it repainting for as long as the freeze lasts; the next sample after it re-reads the clock and is correct again, so nothing is lost, only paused.
What if my computer goes to sleep?
The timer stops with the machine and the alarm will not fire on time. Nothing running inside a browser tab survives a sleeping computer. Stop the screen sleeping, or use a device-level alarm.
Can I have twenty minutes with no sound at all?
Untick Alarm sound. The countdown runs and finishes visually, and the tab title also counts down, so a silent timer is still readable from the tab strip without switching to it.

More of our small tools

Same idea: one job, no sign-up, works in the browser.

  • Military Time Converter

    Turn 18:45 into 6:45 PM and back, with the 0000/1200 edge cases handled properly. Handy when a shift roster and a kitchen timer disagree about what "1900" means.

  • Days Until Counter

    The same idea as this page on a calendar scale: an exact count of the days from now to a date. For deadlines a 60-minute timer cannot hold.