Pomodoro timer

Time by focus, short break, and long break cycles, with support for custom durations, pause, skip, and drift correction using an absolute deadline.

Local browser processing
This page has passed the public directory check; full functionality is available after enabling JavaScript.
User Guide

How to Use the Pomodoro Timer

Duration settings and focus state only run on the current page; they are not uploaded, and no notification, microphone, or other device permissions will be requested.

  1. Set cycle

    Set the focus, short break, and long break durations separately, as well as the number of focus rounds before a long break.

  2. Start Focusing

    Click to start; after pausing, you can continue, and skip will take you directly to the next stage.

  3. Complete Cycle

    After focus work, switch to a short break; after the set number of rounds, switch to a long break. The page shows the current phase and completed rounds.

Limitations and Notes

  • The page uses an absolute deadline to calibrate background timing; if the system sleeps or the clock is adjusted manually, the display may jump after resuming.
  • Browsers may limit refresh rates for background tabs, so the background won’t redraw every second, but it will be corrected to the actual time when you return to the page.
  • Closing or refreshing the page will reset the current cycle. This page does not provide cross-device sync or historical statistics.

FAQ

Will it slow down when switching to another tab?

Timer intervals do not accumulate error; when you return to the page, it recalculates using the current time and the deadline.

Why aren’t system notifications showing up?

This tool runs with zero permissions and only shows a notice on the current page when a phase ends.

Will pausing take up break time?

No. Pausing saves the remaining milliseconds, and resuming recalculates the deadline.

Page feedbackFound an issue or have suggestions for improvement?
Feedback features need to be used in the online version

Please enable JavaScript in the online version before submitting; local features of the current tool or example are not affected.

Go to the online version for feedback