Measure this in the morning before getting out of bed.
Your Heart Rate Data
Estimated Max Heart Rate (MHR):—
Heart Rate Reserve (HRR):—
Target HR (at chosen intensity):—
Recommended Zones (Karvonen Formula):
Fat Burning (50-60%):—
Aerobic (70-80%):—
Anaerobic (80-90%):—
How to Calculate Your Heart Rate When Exercising
Understanding your heart rate is the most effective way to gauge exercise intensity. While you can simply "feel" how hard you are working, using numbers ensures you are training in the specific zone required for your fitness goals, whether that is weight loss, endurance building, or peak athletic performance.
The Karvonen Formula Explained
This calculator utilizes the Karvonen Formula, which is considered more accurate than the standard "220 minus age" method because it accounts for your Resting Heart Rate (RHR). This represents your current fitness level; a lower resting heart rate usually indicates a more efficient cardiovascular system.
Improved aerobic capacity and cardiovascular strength.
Zone 4
80-90%
Increased anaerobic capacity and speed.
Example Calculation
If you are 40 years old with a resting heart rate of 60 bpm and want to exercise at 70% intensity:
MHR: 220 – 40 = 180 bpm
HRR: 180 – 60 = 120 bpm
Target: (120 × 0.70) + 60 = 144 bpm
In this scenario, your goal during the workout would be to keep your pulse around 144 beats per minute.
Tips for Accurate Measurement
To find your Resting Heart Rate (RHR), take your pulse for 60 seconds immediately after waking up, while still lying in bed. Use your index and middle fingers on your wrist (radial artery) or neck (carotid artery). Never use your thumb, as it has its own pulse.
function calculateHeartRate() {
var age = parseFloat(document.getElementById('age').value);
var rhr = parseFloat(document.getElementById('rhr').value);
var intensity = parseFloat(document.getElementById('intensity').value);
var resultDiv = document.getElementById('hrResult');
if (isNaN(age) || age 120) {
alert("Please enter a valid age.");
return;
}
if (isNaN(rhr) || rhr 150) {
alert("Please enter a valid resting heart rate (typically 40-100).");
return;
}
if (isNaN(intensity) || intensity 100) {
alert("Please enter an intensity percentage between 10 and 100.");
return;
}
// Formulas
var mhr = 220 – age;
var hrr = mhr – rhr;
// Calculate Target at specific intensity
var thr = Math.round((hrr * (intensity / 100)) + rhr);
// Calculate Zones
var fatMin = Math.round((hrr * 0.50) + rhr);
var fatMax = Math.round((hrr * 0.60) + rhr);
var aeroMin = Math.round((hrr * 0.70) + rhr);
var aeroMax = Math.round((hrr * 0.80) + rhr);
var anaMin = Math.round((hrr * 0.80) + rhr);
var anaMax = Math.round((hrr * 0.90) + rhr);
// Display results
document.getElementById('resMHR').innerText = mhr + " BPM";
document.getElementById('resHRR').innerText = hrr + " BPM";
document.getElementById('resTHR').innerText = thr + " BPM";
document.getElementById('resFatBurn').innerText = fatMin + " – " + fatMax + " BPM";
document.getElementById('resAerobic').innerText = aeroMin + " – " + aeroMax + " BPM";
document.getElementById('resAnaerobic').innerText = anaMin + " – " + anaMax + " BPM";
resultDiv.style.display = 'block';
resultDiv.scrollIntoView({ behavior: 'smooth', block: 'nearest' });
}