Breathing Pace
{{ bpmDisplay }}
{{ cycleSeconds.toFixed(2) }} s / cycle · {{ session_min }} min session
Preset: {{ presetLabel }} In {{ inhale_s }} s Hold {{ hold1_s }} s Out {{ exhale_s }} s Hold {{ hold2_s }} s Live Ends ~ {{ finish_time_local }}
{{ centerPhase }}
{{ phaseRemainingDisplay }}
{{ elapsedDisplay }} · {{ breathsCompleted }} breaths
s
s
s
s
min
s
{{ audio_volume }}%
# Phase Start Elapsed (s) Duration (s) Copy
{{ r.idx }} {{ r.phase }} {{ r.startLocal }} {{ r.elapsed.toFixed(2) }} {{ r.duration.toFixed(2) }}
No data yet. Start a session.

                    
:

Introduction:

Breathing cycles are deliberate patterns of inhale, optional holds, and exhale that set a steady rhythm for calm and focus. You set the durations that feel comfortable, then watch the pace readout to understand how the cycle translates into breaths per minute.

Results show a simple rate and a clear sequence so you can practice with attention rather than guesswork. Presets mirror familiar patterns like equal in and out or box timing, while custom values let you fine tune longer exhales for relaxation or add gentle pauses between phases.

A short countdown can help you settle before the first inhale, and optional audio or vibration cues make it easier to follow the transitions without looking. If you feel lightheaded, shorten the holds or stop and return when comfortable.

This tool provides informational estimates and does not substitute professional advice.

Technical Details:

The underlying quantities are the durations of four phases measured in seconds: inhale, hold after inhale, exhale, and hold after exhale. From these the pace is summarized as breaths per minute (BPM), reflecting the number of full cycles completed in one minute.

The computation first adds the four phase durations to obtain the cycle length, then converts that time into a rate. This transformation is meaningful because it normalizes any combination of in, hold, out, and hold into a single comparable measure of pacing.

S = tin + th1 + tout + th2 B = 60 S
Symbols and units used in formulas
Symbol Meaning Unit/Datatype Source
tinInhale durations (number)Input
th1Hold after inhales (number)Input
toutExhale durations (number)Input
th2Hold after exhales (number)Input
SCycle lengths (number)Derived
BBreaths per minutebpm (number)Derived
Worked example: Inhale 5 s, hold 0 s, exhale 5 s, hold 0 s → S = 10 s; then B = 60 / 10 = 6.00 bpm.

Comparability improves when you keep body position and breathing route consistent across sessions. Results are most interpretable within the same person across time rather than between people with different lung volumes or habits.

Variables & parameters

Controllable parameters and typical ranges
Parameter Meaning Typical Range Notes
PresetPredefined timing patternBox, 4‑7‑8, 7‑11, etc.Custom allows any durations.
Session lengthTarget run time0–120 min0 means open‑ended.
CountdownDelay before start0–10 sDefault 3 s.
Audio volumePhase change beep0–100 %0 disables sound.
Beep frequencyTone pitch440–1200 HzMinimum accepted 100 Hz.
Beep durationTone length80–200 msUI minimum 40 ms.
VibrateHaptic at transitionsOn/OffDevice support required.
Prevent sleepScreen wake lockOn/OffRequested while running.
EasingVisual pacing curveSine, Linear, Ease‑in‑outVisual only.

Units, precision & rounding

  • BPM displays with two decimals; durations in the table display with two decimals; JSON stores elapsed and duration with three decimals.
  • Decimal separator is a dot; time readouts use the current locale for strings.

Validation & bounds extracted from the app

Inputs and constraints
Field Type Min Max Step/Pattern Error Text
Inhalenumber00.1 s
Hold after inhalenumber00.1 s
Exhalenumber00.1 s
Hold after exhalenumber00.1 s
Session lengthnumber01 min0 for open‑ended.
Countdownnumber01 s
Audio volumerange01001 %0 disables audio.
Beep frequencynumber1001 Hz
Beep durationnumber4010 ms
VibratebooleanDevice support required.
Prevent sleepbooleanRequests wake lock.
Easingenumsine|linear|easeInOut

I/O formats

Inputs and outputs summary
Input Accepted Families Output Encoding/Precision Rounding
Phase durationsNumeric secondsBPM readoutNumberTwo decimals
Session controlsNumeric and togglesTimeline tableLocal time strings; numbersTwo decimals (display)
Session JSONUTF‑8 text; three‑decimal numbersAs stored
Timeline CSVComma‑separated textAs stored

Privacy & compliance

All calculations and timeline generation occur on your device. Copy and download actions create local files or clipboard entries. A charting script may be fetched to render visuals. No data is transmitted or stored server‑side.

Assumptions & limitations

  • Session ends automatically when the configured minutes elapse; zero minutes runs until stopped.
  • Visual easing affects animations only, not timing math.
  • Audio and vibration depend on device capabilities and user permissions.
  • Wake lock is requested only when enabled and may be denied by the environment.
  • Local time formatting depends on your locale and settings.
  • Rounding to two decimals can hide very small timing changes.
  • If all durations are zero, a minimal inhale–exhale sequence is enforced.
  • The breathline shows a normalized level, not airflow or volume.

Edge cases & error sources

  • Extremely short durations may make cues hard to perceive.
  • Beep frequency below audibility or muted system volume yields silent transitions.
  • Clipboard or download permissions can block copy/save actions.
  • Denied wake lock allows the screen to sleep during sessions.
  • Heavy system load can delay animations slightly between frames.
  • Locale clocks crossing midnight shift the “Start” time in the timeline.
  • Browser restrictions may limit vibration or audio without user gesture.
  • Closing the tab resets state and clears in‑memory history.
  • Chart rendering may be skipped if the visual engine is unavailable.
  • Changing tabs disposes inactive charts and recreates them when reopened.

Step‑by‑Step Guide

Breathing cycles convert phase durations into a clear pace and timeline.

  1. Choose a preset or select Custom.
  2. Enter inhale, optional holds, and exhale in seconds.
  3. Set Session length in minutes; use 0 for open‑ended.
  4. Optionally set a Countdown and enable cues.
  5. Press Start, breathe with the ring, and watch the pace.
  6. Pause or Stop anytime; copy or download your timeline if useful.

Example: 4 / 0 / 6 / 0 produces 10 s cycles at 6.00 bpm. Practice ends when the session timer reaches zero.

FAQ

Is my data stored?

No. Calculations, timeline, copies, and downloads happen on your device. Nothing is sent to a server.

Clipboard and file actions may prompt for permission.
How accurate is the BPM?

BPM is exact for the entered durations: it is 60 divided by the sum of all phases. Visual easing does not change timing.

What units and formats are used?

Seconds for phases, minutes for session length, BPM as a number with two decimals, local time strings in the timeline.

Can I use it without sound or vibration?

Yes. Set audio volume to 0 and turn off vibration. The visual ring remains fully usable.

Does it work offline?

The pacing logic is local, but visuals may rely on a charting script. If unavailable, the session still runs without charts.

How do I pace 4 7 8 breathing?

Pick the 4‑7‑8 preset or set inhale 4 s, hold after inhale 7 s, exhale 8 s, and hold after exhale 0 s.

What does a “hold” stage do?

It inserts a pause after inhale or exhale. Holds lengthen the cycle and lower BPM while keeping the same in‑out ratio.

Why did my session end early?

When the elapsed time reaches the session length, the run stops automatically. Set session length to 0 if you want an open‑ended practice.

Troubleshooting

  • No sound: raise audio volume in the app and system settings.
  • No vibration: ensure device supports haptics and permission is granted.
  • Screen sleeps: enable Prevent sleep and keep the page active.
  • Copy fails: allow clipboard access when prompted.
  • Downloads missing: check your downloads folder or pop‑up settings.
  • Charts not visible: continue the session; visuals may be unavailable in this environment.

Glossary

Breaths per minute (BPM)
Number of full inhale‑to‑exhale cycles per minute.
Cycle length
Sum of inhale, holds, and exhale durations.
Hold after inhale
Pause with lungs full before exhaling.
Hold after exhale
Pause with lungs empty before inhaling.
Countdown
Delay before the first inhale to get ready.
Easing
Animation curve for the visual ring pacing.
Wake lock
Request to keep the screen from sleeping.