Meditation Timer
Meditation timer with optional interval bells and a pause/resume control.
Written by Golam Rabbani, Founder & Lead Engineer
How to use this meditation timer
- Enter the total session duration in minutes (1–180).
- Optionally set an interval in minutes for interim bells (use 0 to skip).
- Tick "Play soft bell" if you want a bell sound at each interval and at the end.
- Press "Start session".
- Use Pause and Resume during the session, or Reset to start over.
About this meditation timer
A minimalist meditation timer that runs entirely in your browser, with no app to install and no account to create. It counts down from your chosen duration with a large monospaced clock and, optionally, rings a soft 528 Hz sine-wave bell at each interval and again when the session ends. The bell is generated on the fly with the Web Audio API — there is no audio file to download.
Timing uses <code>performance.now()</code>, so the countdown does not drift if your system clock changes, and Pause/Resume preserve the accumulated elapsed time. The timer is timezone-independent: it works entirely in elapsed seconds.
Worked example: set duration to 10 minutes, interval to 2 minutes, and leave the bell ticked. The display starts at 10:00 and counts down. At 8:00, 6:00, 4:00, and 2:00 the bell rings softly to mark the interval boundary, and a final bell plays when the display reaches 00:00. The bottom of the panel shows which interval you are on (for example, "Interval 3 / 5"). Press Pause to freeze; the next session minute does not start until you press Resume.
If your browser blocks autoplay or you have audio disabled, the timer still works — it simply does not ring. Useful for daily practice, breathing exercises, focus blocks, or yoga rest periods.
FAQ
- Will the timer keep running if I switch tabs?
- Yes. It is based on absolute elapsed time, so background tabs do not desync. The bell, however, may be muted while the tab is backgrounded depending on your browser.
- Is there a way to skip the bell?
- Yes — untick the "Play soft bell" checkbox, or set the interval to 0 to skip interval bells while keeping the final completion bell.
- What is the maximum duration?
- 180 minutes. If you need longer, run another session.
- Why a sine-wave bell instead of an audio file?
- It loads instantly, plays at any volume without distortion, and avoids the need to ship and license a real audio file.