Omni Calculator Heart Rate

Heart Rate & Training Zone Calculator

Optimize your workouts and monitor your cardiovascular health

Intensity: 70%

Your Personal Heart Metrics

Max Heart Rate
(Fox Formula)
Target Heart Rate
(Karvonen Formula)

Heart Rate Training Zones:

How the Heart Rate Calculator Works

A heart rate calculator is an essential tool for athletes and fitness enthusiasts to determine their cardiovascular limits and optimize training intensity. By calculating your Maximum Heart Rate (MHR) and Target Heart Rate (THR), you can ensure you are working out efficiently—whether your goal is fat loss, endurance, or peak performance.

The Math Behind the Beats

This calculator utilizes two primary scientific formulas to provide accurate data:

  • The Fox Formula: The simplest method to estimate MHR (220 – Age).
  • The Karvonen Formula: Considered more accurate because it incorporates your Heart Rate Reserve (HRR). It uses the formula: Target HR = ((Max HR − Resting HR) × %Intensity) + Resting HR.

Understanding Training Zones

Training in specific heart rate zones yields different physiological results:

Zone Intensity Benefit
Zone 1 50-60% Warm-up & Recovery
Zone 2 60-70% Fat Burn & Basic Endurance
Zone 3 70-80% Aerobic Capacity (Cardio)
Zone 4 80-90% Anaerobic Threshold
Zone 5 90-100% Maximum Performance

Practical Example

If you are 40 years old with a resting heart rate of 60 BPM and want to train at 70% intensity:

  1. Max HR = 220 – 40 = 180 BPM
  2. Heart Rate Reserve = 180 – 60 = 120 BPM
  3. Target HR = (120 × 0.70) + 60 = 84 + 60 = 144 BPM
function calculateHeartRate() { var age = parseFloat(document.getElementById('hr_age').value); var restingHR = parseFloat(document.getElementById('hr_resting').value); var intensity = parseFloat(document.getElementById('hr_intensity').value); if (isNaN(age) || age 120) { alert('Please enter a valid age.'); return; } if (isNaN(restingHR) || restingHR 150) { alert('Please enter a realistic resting heart rate (30-150 BPM).'); return; } // Calculations var maxHR = 220 – age; var heartRateReserve = maxHR – restingHR; // Target Heart Rate based on selected intensity (Karvonen) var targetHR = Math.round(((heartRateReserve * intensity) / 100) + restingHR); // Display results document.getElementById('res_max').innerText = maxHR + " BPM"; document.getElementById('res_target').innerText = targetHR + " BPM"; // Generate Zone list var zones = [ { name: "Zone 1 (Warm up)", min: 50, max: 60, color: "#3498db" }, { name: "Zone 2 (Fat Burn)", min: 60, max: 70, color: "#2ecc71" }, { name: "Zone 3 (Aerobic)", min: 70, max: 80, color: "#f1c40f" }, { name: "Zone 4 (Anaerobic)", min: 80, max: 90, color: "#e67e22" }, { name: "Zone 5 (Max Effort)", min: 90, max: 100, color: "#c0392b" } ]; var zonesHTML = ""; for (var i = 0; i < zones.length; i++) { var zoneMin = Math.round(((heartRateReserve * zones[i].min) / 100) + restingHR); var zoneMax = Math.round(((heartRateReserve * zones[i].max) / 100) + restingHR); zonesHTML += '
' + '' + zones[i].name + '' + '' + zoneMin + ' – ' + zoneMax + ' BPM' + '
'; } document.getElementById('hr_zones_list').innerHTML = zonesHTML; document.getElementById('hr_results').style.display = 'block'; }

Leave a Comment