Pomodoro Timer
Run pomodoro sessions locally: customizable focus, short break, long break and cycles with a full phase plan shown before you start. Timing works offline from your device clock.
Attention behaves like a muscle and is trained by alternating work with rest: twenty-five minutes on a single task, five minutes completely off, and a longer break after four rounds — that is the whole of the Pomodoro method. It runs in the browser with no account and no network timing, the durations and round count are adjustable, and each phase change is announced; the planned total for the session is shown before you start.
Timing is based on an absolute difference rather than a tick per second, so a background tab being throttled does not corrupt it — but do not close the tab. The 25/5 split is the founder's habit rather than a rule: 45/10 suits exam preparation and 50/10 deep work, and the rhythm that can be sustained is the good one. A full phase table and the planned total are given before the first round so the session can be checked in advance.
—
Did this tool solve your problem?
Submitting sends the tool name, your input and the current result to the server. Please do not include ID numbers, phone numbers or other private data.
AI assistant It answers using your current input and result
Asking again sends your current input and result to the server once more. Please do not include private data.
How to use
- Set the focus and break durations and the number of rounds (25/5 over four rounds by default).
- Check the phase table and the planned total for the session.
- Press start; each phase change is announced.
- Adjust the rhythm if 25/5 does not suit the work.
How it works
Starting a pomodoro
Press "start" to enter the first focus phase; when it ends, a break begins automatically, and when the break ends it returns to focus, cycling until you press "reset."
Adjusting duration and rounds
Focus duration (5-120 minutes), short and long breaks (1-60 minutes) and rounds (2-8) are all adjustable; for a 50-minute deep-work block, set focus to 50 and rounds to 2.
Phase prompts
Each phase's remaining time ticks live in the result area; entering a break clearly shows "on break" and the page title changes too, so switching tabs won't miss a phase change.
Viewing the total plan
The result area gives a full phase table from your settings: how many focus phases, how many short breaks, the final long break and the planned total — so you know how long the whole pomodoro set takes before starting.
Code example
JavaScript Derive the phase from a timestamp (background tabs stay honest)
// do NOT accumulate "+1 second per tick": browsers throttle background timers and it drifts
const PLAN = [{ phase: 'focus', min: 25 }, { phase: 'break', min: 5 }];
const total = PLAN.reduce((s, p) => s + p.min, 0) * 60000;
const startedAt = Date.now();
function tick() {
const elapsed = (Date.now() - startedAt) % total; // modulo = a looping pomodoro
let acc = 0;
for (const p of PLAN) {
const len = p.min * 60000;
if (elapsed < acc + len) {
return { phase: p.phase, remain: acc + len - elapsed };
}
acc += len;
}
}
setInterval(() => {
const { phase, remain } = tick();
render(phase, Math.ceil(remain / 1000)); // paint only; the clock is the timestamp
}, 250);
Python A terminal pomodoro
import time
FOCUS, BREAK = 25 * 60, 5 * 60
def run(rounds=4):
for i in range(rounds):
print(f'round {i + 1}: focus')
time.sleep(FOCUS)
print('break')
time.sleep(BREAK)
# time with monotonic (immune to wall-clock changes), which a plain sleep loop cannot pause
start = time.monotonic()
while time.monotonic() - start < FOCUS:
left = int(FOCUS - (time.monotonic() - start))
print(f'\r{left // 60:02d}:{left % 60:02d}', end='')
time.sleep(1)
FAQ
Does the pomodoro timer need a network connection?
No. It uses your device's local clock and works offline once the page loads; as long as the tab stays open, timing continues even when you switch away.
What if focus is interrupted?
The pomodoro method suggests handling a quick matter then continuing; for a longer interruption, press "reset" and start a new pomodoro. The reset button is there — discarding or not is your call.
Why do breaks matter?
The method builds a 5-minute short break into the rhythm: stepping away from the screen relieves eye strain and attention decay. Breaking on time isn't laziness — it's part of the method.
Is timing accurate after switching tabs?
Yes. Timing is based on time differences rather than per-second accumulation, so even if the browser throttles a background tab, the remaining time is correct when you return.
Can I skip a break and start the next focus?
Press "reset" to clear and start over. Whether to finish the break strictly is your habit; resting at least 1-2 minutes is advisable.
Is 25 minutes mandatory?
No. 25/5 is just the founder's common reference; exam takers often use 45+10 and deep workers 50+10. This tool allows free combinations — the key is finding a rhythm you can sustain.
How does a pomodoro differ from a plain countdown?
A countdown runs once; a pomodoro cycles between focus and break phases automatically and gives a full plan table, suited to study and work needing rhythm management. Use each as needed.