Heart-Rate Summary
{{ bpmTarget }} bpm @ {{ effortPct }}% ({{ basisLabel }})
Max {{ bpmMaximum }} bpm · {{ formulaLabels[formula] || '—' }}
Age {{ ageYears }} yrs Max {{ bpmMaximum }} bpm Target {{ bpmTarget }} bpm Rest {{ rest_hr }} bpm {{ basisLabel }}
yrs
%
bpm
Metric Value Copy
{{ r.label }} {{ r.value }}
Zone Effort % BPM Copy
{{ z.zone }} {{ z.percent }} {{ z.bpm }}
Zone (Range) Effort % BPM Range Copy
{{ b.label }} {{ b.lo }}–{{ b.hi }} {{ b.bpmMin }}–{{ b.bpmMax }}

            
:

Introduction:

Heart rates are counts of cardiac beats per minute and they reflect how hard your body is working at a moment in time. Maximum heart rate is the highest level you are expected to reach during very hard effort and a target heart rate is a practical point inside that capacity for steady training.

Training plans often refer to target zones so you can repeat sessions at comparable intensity and track progress more reliably. Enter your age and a preferred effort and you will see a beats per minute value along with simple zones you can use for easy days to harder intervals.

A quick example helps. A person aged thirty who aims for seventy percent effort will see a value near the middle of typical aerobic work and can use the lower zones for recovery on the next day. A consistent resting measurement makes personalized zones more precise.

Results are estimates and real responses vary with fitness, medication, sleep, stress, and conditions such as heat. Measure resting beats after sitting quietly and compare like with like across sessions for the clearest picture.

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

Technical Details:

The quantities of interest are heart rate in beats per minute (bpm), an estimate of the maximum heart rate for a given age, and a target training rate as a percentage of capacity. Heart rate reserve is the difference between the estimated maximum and a user’s resting rate and it supports personalized targets.

Computation proceeds in two steps: estimate the maximum heart rate from age using one of several research formulas, then map a chosen effort percentage to a beats per minute target. If a resting rate is provided and the heart rate reserve path is selected, the Karvonen method uses the reserve to personalize the target.

Results are shown as a single target value and as five bands that summarize common training intensities. Bands run from easier recovery work to very hard efforts near maximal oxygen uptake and they are expressed both as effort percentages and as beats per minute ranges.

Comparisons are most meaningful within one person over time using the same input method. Gulati’s formula is intended for women; using it elsewhere can misrepresent capacity. When values sit on a band edge, treat the result as borderline and use feel and breathing to choose the lower or higher band for the day.

HRmax = 220a (Fox) HRmax = round(2080.7×a) (Tanaka) HRmax = round(2110.64×a) (Nes) HRmax = round(2060.88×a) (Gulati, women)
Symbols and units used in formulas
Symbol Meaning Unit/Datatype Source
a Age years Input
HRmax Maximum heart rate bpm Derived
HRrest Resting heart rate bpm Input
HRR Heart rate reserve bpm Derived
E Effort level % of capacity Input
HRtarget Target heart rate bpm Derived
HRR= HRmax HRrest HRtarget = round( HRmax×E/100 ) (%Max basis) HRtarget = round( HRrest+HRR×E/100 ) (Karvonen, %HRR basis)

Worked example:

Age 30 years, effort 70%, resting rate not provided, Fox method.

HRmax = 22030=190 HRtarget = round(190×70/100)=133

At 133 bpm this sits on the Z2 to Z3 boundary; choose the easier side on recovery days.

Training zone thresholds and interpretations
Threshold band Lower bound % Upper bound % Interpretation
Z1 · Recovery 50 60 Very easy, restore and refuel.
Z2 · Endurance 60 70 Easy aerobic base.
Z3 · Tempo 70 80 Moderate to steady work.
Z4 · Threshold 80 90 Hard, near sustained limit.
Z5 · VO₂ max 90 100 Very hard, short efforts.

Units, precision & rounding policy

  • All heart rates are whole numbers in bpm, rounded to the nearest beat.
  • Age is floored to whole years; negative or missing values are treated as zero.
  • Effort is clamped to 1–100%; resting rate is clamped to 0 or higher.

Validation & bounds

Input validation and bounds enforced by the app
Field Type Min Max Step/Pattern Error text Notes
Age (years) Integer 1 Floored to integer Results shown only when age > 0.
Effort (%) Integer 1 100 Clamped Used for both %Max and %HRR bases.
Resting heart rate (bpm) Integer 0 Floored & clamped %HRR basis requires resting < maximum.

I/O formats & encoding

Supported outputs and precision
Input Accepted families Output Encoding/precision Rounding
Age, effort, resting rate Whole numbers Tables & summary Integers in bpm and % Nearest whole beat
CSV export Comma‑separated text As displayed
JSON export UTF‑8, nested payload As displayed

Networking & storage behavior

  • All calculations run locally in the browser; no server requests are made for computation.
  • Copy actions use the system clipboard; file downloads are created locally.
  • Charts render via a client‑side charting layer; they do not transmit data.

Performance & determinism

  • Time and memory costs are constant in input size.
  • Identical inputs always produce identical outputs.

Security & privacy

No personal data is transmitted or stored on a server. Avoid sharing health information from this page in unsecured contexts.

Assumptions & limitations

  • Heads‑up Age‑based formulas are population averages with wide individual variation.
  • Gulati is intended for women; use elsewhere with caution.
  • Heart rate reserve requires resting beats lower than the estimated maximum.
  • Resting measurement should be taken seated and calm for consistency.
  • Effort is restricted to 1–100%; values outside this range are not used.
  • Age is floored; fractional ages are not interpreted.
  • Rounding to whole beats may move borderline values between bands.
  • Environmental heat, dehydration, and altitude can elevate readings.

Edge cases & error sources

  • Empty or non‑numeric fields are treated as zero and ignored when required.
  • Negative ages are coerced to zero and suppress results.
  • Resting rate equal to or above maximum disables the reserve basis.
  • Extremely high or low ages can yield implausible maxima.
  • Copy permissions blocked by the browser prevent clipboard actions.
  • Fractional inputs are rounded or floored before use.
  • Locale quirks in number entry can be rejected by numeric fields.
  • Switching formulas changes bands; compare runs with one method.
  • On band edges, rounding can flip the displayed zone.
  • Chart rendering requires the local script to be available.

Step‑by‑Step Guide:

Target and maximum heart rates are estimated in two steps for a clear training cue.

  1. Enter Age in years.
  2. Choose an Effort percentage that matches your session goal.
  3. Optionally pick a maximum‑rate Formula.
  4. Optionally set Basis to %HRR and provide a resting rate.
  5. Read the target in bpm and review the zone table for pacing.
  6. Borderline? Prefer the easier band on recovery days.

Example: Age 45, 60% effort, resting 55 bpm, %HRR basis ⇒ steady aerobic work.

  • Tip: keep device, posture, and time of day consistent across measurements.

FAQ:

How accurate is this?

Age formulas are averages and real values can differ substantially. The reserve method improves personalization when resting beats are measured consistently.

What units are used?

All heart rates are shown as whole beats per minute and effort is shown as a percent of capacity.

Is my data stored?

No. Inputs are handled in the browser and exports are created locally; nothing is sent to a server.

Can I use it without a connection?

Once the page and its local scripts are available, calculations run without a connection. Charts require the client script to load successfully.

Which formula should I choose?

Fox is a familiar baseline. Tanaka and Nes are alternatives from research. Gulati is designed for women. Pick one and use it consistently for comparisons.

How do I calculate target heart rate?

Estimate maximum from age, choose an effort percentage, then either take that percent of maximum or use the reserve path with resting beats.

What does a borderline result mean?

If a value lands on a band edge, treat it as borderline. Choose the lower band for easier days and the higher band for focused hard work.

What does it cost or license?

The package does not declare pricing or a license statement. Treat outputs as informational guidance for personal training choices.

Troubleshooting:

  • No result shows: ensure age is at least 1 year.
  • %HRR is unavailable: resting beats must be below the estimated maximum.
  • Clipboard copy fails: allow clipboard access in browser permissions.
  • Downloads are empty: try a different filename or storage location.
  • Numbers look off: check units and confirm effort percent is 1–100.
  • Zones seem shifted: verify the selected maximum‑rate formula.
  • Charts do not update: switch tabs once to trigger a redraw.

Advanced Tips:

  • Tip Use one formula across weeks to keep trends comparable.
  • Tip Recheck resting beats monthly to refresh personalized zones.
  • Tip Log terrain, temperature, and sleep to explain day‑to‑day swings.
  • Tip Treat two to three minutes in Z1 after hard work as routine.
  • Tip Use cadence and breathing as a cross‑check against the zones.
  • Tip When on an edge, bias down on long runs and up for short intervals.

Glossary:

Beats per minute (bpm)
Count of heart contractions in one minute.
Maximum heart rate
Estimated upper limit of sustainable heart rate.
Target heart rate
Goal rate chosen for a specific session.
Effort (%)
Intensity expressed as a percent of capacity.
Heart rate reserve
Maximum minus resting beats per minute.
Karvonen method
Target using resting beats and reserve.
Training zone
Intensity band used to guide pacing.
Resting heart rate
Beats measured at quiet rest, seated.