Skip to the tool
CALCPARK

Pomodoro Timer

Free online Pomodoro timer with 25-minute focus sessions, short and long breaks, a task list and daily stats. Exact in background tabs; optional sound and notifications.

Runs on your device
Loading the tool…

How to use it

  1. Optionally add a task with the number of pomodoros you expect it to take, and select it as the active task.
  2. Press Start (or Space). Work until the timer ends; the beep and, if allowed, a notification tell you the phase is over.
  3. Take the short break when it starts. After the configured number of sessions the timer offers a long break instead.
  4. Turn on “Start the next phase automatically” to run rounds hands-free, or press Start for each phase.
  5. Check “Today” for completed sessions and focus minutes; the last seven days are summed below it.

Example

With the default settings a full round is 4 × 25 min of focus + 3 × 5 min short breaks + 1 × 15 min long break = 130 minutes, of which 100 are focused work. A task estimated at 3 pomodoros shows 0/3, then 1/3, 2/3 and 3/3 as each focus session you spend on it completes. If you prefer 50/10 blocks, set focus to 50, short break to 10 and sessions to 2 – the link in the address bar keeps those values for next time.

How the timer keeps time

When you press Start the tool stores one number: the moment the phase ends (Date.now() + remaining). Every 250 ms, and whenever the tab becomes visible again, it recomputes remaining = end − nowand shows the ceiling in seconds. Nothing is counted down tick by tick, so a browser that throttles timers in a hidden tab to once a minute – which Chrome, Firefox and Safari all do – cannot make the clock run slow; at worst the final beep arrives a few seconds late, and the next phase length is still exact. Pausing stores the remaining time; resuming sets a new end moment.

Phase sequencing follows Francesco Cirillo’s original description: a long break after four pomodoros, a short break otherwise, and a pomodoro only counts when it ran to the end – skipped or reset sessions are not recorded. The sound is two short 880 Hz tones synthesised with the Web Audio API; the notification uses the Notifications API and is requested only when you tick the option.

Sources: Francesco Cirillo – The Pomodoro Technique, Chrome Developers – timer throttling in background tabs, MDN – Notifications API.

Limits worth knowing

  • Sound needs a user interaction first (browsers block autoplay); pressing Start counts as one.
  • On iOS, web notifications only work from a web app added to the Home Screen; the beep still works.
  • Closing the tab stops the timer. Tasks, settings and statistics survive; a running phase does not.

Questions

Why 25 minutes?
25 minutes is the length Cirillo used because it is short enough to start without resistance and long enough to get real work done; the tool lets you set anything from 1 to 180 minutes if 50/10 or 90/20 suits you better.
Does the timer keep running if I switch tabs or lock the screen?
Yes. It compares the stored end time with the current clock whenever it wakes up, so the remaining time is always right. Only closing the tab or the browser ends the session.
Where are my tasks and statistics stored?
In your browser’s localStorage under keys starting with calcpark:pomodoro. They never leave your device; clearing site data removes them.
Can I share my timer settings?
Yes – the focus, break and cycle lengths are added to the page link (the part after #). Tasks and statistics are not included.