HRV Resonance Finder
{{ resonance_bpm_display }}
{{ cycle_seconds.toFixed(2) }} s / cycle · {{ summaryPattern }}
Age {{ age }}y {{ height_cm }} cm {{ sexLabel }} RHR {{ rhr_bpm }} bpm Warnings: {{ warnings.length }}
years
cm
bpm
{{ exhale_bias_percent }}%
s
s
Metric Value Copy
Resonant rate (bpm) {{ resonance_bpm.toFixed(2) }}
Cycle length (s) {{ cycle_seconds.toFixed(2) }}
Inhale (s) {{ inhale_s.toFixed(2) }}
Hold after inhale (s) {{ eff_hold_in_s.toFixed(2) }}
Exhale (s) {{ exhale_s.toFixed(2) }}
Hold after exhale (s) {{ eff_hold_out_s.toFixed(2) }}
Recommended window (bpm) {{ window_low.toFixed(2) }} – {{ window_high.toFixed(2) }}
Status {{ statusLine }}

                
This tool estimates a resonance-breathing pace from simple inputs; it is not a medical device. Breathe comfortably. Stop if you feel dizzy or unwell.

Introduction:

Heart rate variability (HRV) resonance is a breathing pace where your inhale and exhale align with natural rhythms to strengthen vagal influence. People also call it coherent breathing, or simply resonance breathing. A practical long‑tail you might hear is “breathing rate for vagal tone,” which describes the same idea without jargon.

You provide a few basics about yourself and your comfort preferences, then you get a breaths‑per‑minute rate and a simple pattern for inhale, optional holds, and exhale. Results include cycle length in seconds, a recommended range, and a response curve that illustrates how nearby rates compare.

For example, many adults land near a slow, even rhythm that feels calm without strain. Treat the number as a starting point and adjust by comfort, especially on days when energy or mood shifts. Stop if you feel light‑headed or unwell. This tool provides informational estimates and does not substitute professional advice.

If you prefer a longer exhale for down‑shifting, nudge the exhale bias a little and keep breathing relaxed. If training or fitness changes over time, revisit the estimate and use the highlighted window to explore small, comfortable variations.

Technical Details:

The estimator starts from a baseline rate and applies small, bounded offsets from age, standing height, sex, resting heart rate, and two optional z‑scores that proxy vagal tone and cardio fitness. The result is clamped to a plausible band and rounded to two decimals. Cycle length is the reciprocal in seconds. Inhale and exhale share the remaining cycle after any holds, split by an exhale bias. A Gaussian‑shaped response curve illustrates relative vagal response and defines a recommended window around the center. All calculations are deterministic and run in your browser.

  1. Start with a 5.5 breaths/min baseline.
  2. Apply age band offset, then height offset relative to 170 cm.
  3. Add a small sex offset.
  4. Add a resting‑heart‑rate offset with limits.
  5. Add vagal‑tone and fitness z‑score offsets.
  6. Clamp result to 4–8 bpm and round to two decimals.
  7. Compute cycle length T = 60 / fres seconds.
  8. Subtract holds to get available time.
  9. Split available time by exhale bias into inhale and exhale.
  10. Build a Gaussian response and mark low/high window edges.
fres = clamp( 4,8, round( 5.5 +Δage +Δheight +Δsex +Δrhr +Δvagal +Δfit ,2) ) T = 60fres tavail = max(0,T-hin-hout) fex = clamp(0,1,0.5+b/2) tin = tavail(1-fex) tout = tavailfex
Symbols used and their units or datatypes
Symbol Meaning Unit/Datatype Source
fresResonance ratebpmDerived
TCycle lengths / cycleDerived
hinHold after inhalesInput
houtHold after exhalesInput
bExhale bias fraction0–1Derived from input
tinInhale durationsDerived
toutExhale durationsDerived
wCurve half‑widthbpmDerived
σGaussian sigmabpmDerived
[low, high]Recommended windowbpmDerived
Estimator constants and coefficients
Constant Value Unit Source Notes
Baseline rate5.5bpmCodeStarting point before offsets.
Age offsets≤20:+0.25; 21–35:+0.10; 36–50:+0; 51–65:−0.15; 66–80:−0.30; >80:−0.45bpmCodeApplied once by band.
Height offset−0.4 × (height−170)/100, clampedbpmCodeClamp −0.4 to +0.4.
Sex offsetfemale:+0.08; other:+0.04; male:+0bpmCodeSmall adjustment.
RHR offset0.35 × (rhr−60)/40, clampedbpmCodeClamp −0.5 to +0.5.
Vagal z−0.12 × zbpmCodeLinear.
Fitness z−0.08 × zbpmCodeLinear.
Width base0.35, scaled and clampedbpmCodeScale 0.7–1.4; clamp 0.15–0.8.
Window clamp[3, 9]bpmCodeApplies to low/high.
Rate clamp[4, 8]bpmCodeFinal output band.

Units, precision & rounding: Decimal separator is a dot. Displayed values use two decimals. Optional rounding sets inhale, exhale, and holds to the nearest 0.1 s using half‑up rules. The JSON export uses numeric values; any enabled rounding is reflected in exported hold and phase durations.

Validation rules extracted from code
Field Type Min Max Step/Pattern Error Text Placeholder
Agenumber11201Age must be between 1 and 120.
Heightnumber802501Height must be between 80 and 250 cm.
Sexenummale|female|other
Resting heart ratenumber251801Resting heart rate must be between 25 and 180 bpm.
Exhale biasrange−40401
Hold after inhalenumber00.1Hold durations cannot be negative.
Hold after exhalenumber00.1Hold durations cannot be negative.
Phase feasibilityderivedHolds exceed or leave no time for inhale/exhale at this rate.
Vagal tone znumber−330.5
Fitness znumber−330.5
Curve width +number010.05
Input and output formats
Input Accepted Families Output Encoding/Precision Rounding
Numbersintegers, decimalsMetricstwo‑decimal displayhalf‑up where shown
EnumssexCSV exporthrv_resonance_metrics.csvtwo‑decimal text
Booleansround durationsJSON exporthrv_resonance_payload.jsonnumeric values

Networking & storage: Processing is client‑side only. Clipboard copies and file downloads originate from the browser session. No sign‑in required.

Performance: The response curve samples 3–9 bpm in 0.05‑bpm steps (≈ 121 points), an O(n) pass with minimal memory.

Diagnostics & determinism: Identical inputs yield identical outputs. Warnings highlight atypical values; errors block infeasible phase splits.

Security considerations: Avoid pasting sensitive text in exports you plan to share. Keep breathing gentle; do not force holds beyond comfort.

Worked example: Age 35 years, height 170 cm, sex other, resting heart rate 60 bpm, no holds, no bias.

fres=5.64 bpm T=605.6410.64 s tin=5.32 s tout=5.32 s [low, high]=[5.29,5.99] bpm

Assumptions & limitations

  • Heuristic estimator; not a measurement device. Heads‑up
  • Outputs stay within 4–8 bpm by design.
  • Window edges clamp to 3–9 bpm for charting.
  • Large exhale bias can feel uncomfortable; comfort takes priority.
  • Holds must leave time for inhale and exhale at the chosen rate.
  • Z‑scores are relative proxies, not clinical assessments.
  • Displayed rounding may hide very small differences.
  • No account for illness, medication, or acute stressors.

Edge cases & error sources

  • Non‑numeric input resolves to bounds.
  • Age, height, or heart‑rate outside limits triggers errors or warnings.
  • Holds that sum to the cycle halt calculations.
  • Extreme bias values show a comfort warning.
  • Rates near 4 or 8 bpm compress the exploration window.
  • Floating‑point rounding affects second‑decimal displays.
  • Clipboard or download actions may be blocked by browser policies.
  • Charting may not render if the visual layer fails to initialize.

Step‑by‑Step Guide:

Set your basics, preview the pattern, and breathe naturally while you explore small changes.

  1. Enter Age and Height.
  2. Select Sex.
  3. Add Resting heart rate from a calm, seated minute.
  4. Optionally add holds and adjust exhale bias for comfort.
  5. Toggle rounding if you prefer tidy 0.1‑second phases.
  6. Review the table, curve, and window before practicing.

Example: age 35, height 170 cm, resting 60 bpm, no holds, zero bias → about 5.64 bpm with ~10.64‑second cycles split evenly.

  • Keep breaths gentle, through nose when possible.
  • Explore within the window in 0.1–0.2 bpm steps.
  • Longer exhales can feel more settling; do not strain.

You finish with a personal rate and timing you can use immediately.

FAQ:

Is my data stored?

No. Calculations run in your browser. Clipboard copies and file downloads remain local to your device.

How accurate is the estimate?

It is a bounded heuristic that blends age, height, sex, resting heart rate, and optional z‑scores. Use the recommended window to fine‑tune by comfort.

What units are used?

Breaths per minute for rate, seconds for phases, centimeters for height, and beats per minute for heart rate.

What does exhale bias do?

It shifts available time toward exhale or inhale while keeping the overall cycle and any holds unchanged.

Can I use it offline?

Yes. After the page loads, computations work without a connection. Exports save to local storage locations you choose.

Why do I see warnings?

Warnings flag values outside typical ranges or comfort risks, such as very large bias or unusually high or low resting heart rate.

How do I validate my rate?

Breathe comfortably at the suggested rate, then explore within the window. Choose the pattern that feels smooth, warm, and sustainable.

Glossary:

HRV
Heart rate variability, beat‑to‑beat changes in timing.
Resonance
A breathing rate that amplifies vagal modulation.
Vagal tone
Parasympathetic influence on heart rhythm.
bpm
Breaths per minute; rate output of the estimator.
Cycle length
Seconds per full inhale‑exhale cycle.
Exhale bias
Fraction that steers more time to exhale.
Hold
Optional pause after inhale or exhale.
z‑score
Relative measure; zero is typical for the group.