← Back

Pomodoro Timer

Focus / break timer

Focusing
25:00
0 pomodoros completed

Switching to another tool page won't interrupt the pomodoro timer — it keeps running in the background, and you'll see the latest state when you come back. When each phase ends it keeps ringing until you manually confirm the switch to the next phase, and you'll need to click "Start" again afterward for the timer to actually run.

About Pomodoro Timer

This pomodoro timer alternates focus periods with breaks. You set a focus length and a break length (25 and 5 minutes by default), press start, and when the time runs out it rings to tell you; once you confirm, it switches to the next phase. It is deliberately plain: there is no task list, no charts and no syncing. It just keeps accurate time for 'work for this long, rest for that long' and keeps a short log of recent sessions below the timer. If you need a one-off reminder, this site's Countdown Timer or Alarm Clock may suit you better. If you want to work through a task in short, structured stretches in the pomodoro style, this page is enough.

How to use it

  1. Enter minutes in 'Focus duration (minutes)' and 'Break duration (minutes)'. The defaults are 25 and 5. These fields can only be edited while the timer is not running and nothing is waiting for confirmation. Entering 0 or clearing a field is treated as 1 minute.
  2. Click 'Start'. The first time, your browser may ask whether to allow notifications. If you allow them, you will see a system notification when time is up even if you are in another window.
  3. To stop for a moment, click 'Pause'; the same button becomes 'Start' again to resume. 'Reset' returns to the beginning of a focus phase and sets the completed-pomodoro count back to zero.
  4. When the countdown reaches zero the page shows 'Time's up, awaiting confirmation', plays a tone about every 2 seconds, and keeps the notification (if allowed) on screen.
  5. Click 'Confirm, switch to break' (or, after a break, 'Confirm, switch back to focus'). The next phase does not start by itself; click 'Start' again. This is intentional so you are not pushed into the next stretch before you are ready.
  6. Each confirmation adds an entry to the history with the phase (Focus or Break), its length and the completion time. Confirming a focus phase also raises the 'N pomodoros completed' counter by one.

A typical scenario

Say you need to write a report. Keep focus at 25 minutes, press 'Start' and work on the report only. When the tone sounds, confirm to move to a 5-minute break: stand up, walk around, drink some water, and press 'Start' to run the break. When the break tone sounds, confirm, and press 'Start' for the next focus stretch. If you want a longer deep-work session, pause, change the focus length to 45 minutes and the break to 10, and carry on. The history list at the bottom adds up the minutes of each finished phase, giving you a rough sense of how much focused time you had in a day.

Supported scope and known limits

  • There are only two alternating phases, focus and break. There is no 'long break after every fourth pomodoro'; adjust the break length yourself if you want one.
  • The timer state survives moving to other tool pages and also reloading or closing and reopening this page: the current phase, remaining time (or the running end time), completed count and duration settings are kept in your browser's local storage. If the countdown finished while the page was closed, reopening shows 'Time's up, awaiting confirmation' and rings once to alert you. Reset clears this state.
  • History is stored in your browser's local storage, keeps at most the latest 100 entries, and is written only when you confirm a phase; a phase you abandon part-way is not logged. Switching browsers or clearing site data removes it, and 'Clear history' deletes it too.
  • Timing is based on an end time on the system clock (remaining = end time minus now) rather than counting timer ticks, so a browser slowing background timers no longer makes the countdown run slow, and the display is corrected as soon as you return to the tab. However, the ring and notification can only fire when the browser lets the page run code, so in a background tab they may arrive a few seconds late, and a sleeping device cannot ring until it wakes. For strict punctuality trust your phone or watch.
  • The sound is a simple tone synthesized by the browser. There is no choice of ringtone and no volume control; volume follows your system. Browsers may require a click on the page before sound is allowed, and pressing 'Start' satisfies that.
  • System notifications need your permission; if you refuse, you only get the on-page message and the tone. The notification text follows the page language (English when the URL starts with /en, otherwise Chinese).

FAQ: Why doesn't the next phase start automatically?

After a stretch of focus many people need a clear signal to stop, and after a break a deliberate 'I'm ready'. If phases started on their own, a break might run out while you are away from your desk and you would come back to find the next focus period already ticking. So the tool waits for you to confirm and then press start.

FAQ: Can I change the durations mid-session?

Not while the timer is running or waiting for confirmation; the two inputs are disabled then, to avoid a mismatch between the settings and the countdown. Pause or reset first. Note that the remaining time on screen is updated from your new values only when the timer is idle and nothing is waiting for confirmation.

FAQ: Does it keep running if I open another tool?

Yes. The timer state lives at the site level rather than inside the pomodoro page, so navigating to another tool within the site does not stop it, and you will see the current state when you come back. It is also restored after a reload or reopening the tab: a running timer continues towards its end time, and one that has already finished shows 'Time's up, awaiting confirmation'.

FAQ: I can't hear anything. What should I check?

Check that the device and the tab are not muted and that you have clicked 'Start' on this page. If there is still no sound, allowing notifications gives you a visual alert. Mobile browsers restrict background pages in different ways, so on a phone it is best to keep the screen on and the page in the foreground.

Privacy and processing

The timer runs entirely in your browser. The tone is generated locally, and nothing in the code sends your usage anywhere. Two kinds of data are kept, both in your own browser's local storage: the history (phase, minutes and completion time), and the timer state used to restore the page after a reload (phase, remaining time or end time, completed count, durations). 'Clear history' deletes the history, and clearing site data removes everything.