Free Pomodoro Timer
Stay focused with the Pomodoro technique. Customise work and break durations, track completed sessions, and hear an audio alert when each phase ends.
Shortcuts: Space start/pause Β· R reset Β· S skip
Common uses
- Pomodoro Timer for StudyingUse the Pomodoro technique to study more effectively β work in focused 25-minute sessions with 5-minute breaks.
- Pomodoro Timer for Remote WorkCombat work-from-home distraction with structured Pomodoro sessions. Track focus time and enforce regular breaks.
- Pomodoro Timer for Writing ProjectsUse Pomodoro sessions to power through writer's block and maintain writing momentum on essays, reports, or creative work.
- Pomodoro Timer for ProgrammingUse structured focus sessions to code more effectively β avoid flow-state interruptions while ensuring regular breaks.
- Pomodoro Timer for Focus and ADHDStructured work intervals help people with ADHD maintain focus and make difficult tasks feel more manageable.
How It Works
This Pomodoro timer runs entirely in the browser with zero external libraries. The countdown is anchored to a wall-clock timestamp using Date.now() so background-tab throttling cannot slow the timer, and all notification sounds are synthesized on demand via the Web Audio API β no audio files are downloaded.
- 1Wall-clock countdown engineWhen you press Start, the timer records an absolute end timestamp (Date.now() plus the remaining seconds). Every 500 ms, setInterval recomputes how many seconds remain by subtracting the current time from that fixed endpoint. If the browser throttles the tab, the math self-corrects the moment the next tick fires.
- 2Tab-focus re-syncA visibilitychange event listener fires the same sync function the instant you switch back to the tab. This means the display jumps immediately to the correct remaining time rather than waiting for the next 500 ms tick β important when the tab has been in the background for a long stretch.
- 3Web Audio API sound synthesisThe three alert sounds (classic, chime, digital) are generated entirely by the browser's built-in AudioContext β an OscillatorNode sets the frequency and waveform type (sine or square), and a GainNode applies an exponential volume ramp to shape the envelope. No audio files are fetched or decoded.
- 4Settings and daily count persistenceYour custom durations and today's completed-pomodoro count are written to localStorage under two separate keys. On page load the tool reads them back, validates every value against allowed ranges, and rehydrates the timer β so your settings survive a page refresh without any server round-trip.
Related Tools
Noise Generator
Mix white, pink and brown noise with rain and ocean sounds, set a sleep timer that fades out, and download a loopable 1 to 60 minute WAV or MP3.
Interval Timer
A work and rest timer for HIIT and Tabata workouts with warm-up, rounds, sets, a big countdown, colour-coded phases, beeps and optional voice cues.
Flashcards
Make flashcard decks or import them from a spreadsheet, then study with flip cards and a spaced-repetition schedule saved in your browser.