Calculating your target heart rate is essential for maximizing the efficiency of your workouts, whether your goal is fat loss, endurance training, or athletic performance. This calculator uses the Karvonen Formula (when Resting HR is provided) or the Standard Method to determine your ideal training zones.
Leave blank to use the Standard Formula (220 – Age). Enter a value to use the more accurate Karvonen Formula.
Maximum Heart Rate (MHR): 0 BPM
Calculation Method: Standard
Zone
Intensity
Target Heart Rate (BPM)
Benefit
How to Calculate Your Heart Rate for Exercise
To exercise safely and effectively, it is crucial to understand your heart rate zones. The intensity of your physical activity is directly correlated to your heart rate. By keeping your heart rate within specific ranges, you target different energy systems in the body.
1. Maximum Heart Rate (MHR)
The first step in calculating exercise intensity is estimating your Maximum Heart Rate. The most common formula, and the one used as a baseline in many fitness trackers, is:
MHR = 220 – Age
For example, if you are 40 years old, your estimated maximum heart rate is 180 beats per minute (BPM).
2. The Karvonen Formula (Heart Rate Reserve)
While the standard formula gives a rough estimate, it doesn't account for individual fitness levels. A 40-year-old athlete and a 40-year-old sedentary person may have the same MHR but very different resting heart rates. The Karvonen Formula is considered more accurate because it incorporates your Resting Heart Rate (RHR).
This method ensures that the training zones are scaled to your specific cardiovascular efficiency.
Understanding Heart Rate Training Zones
Once you have your numbers, you can apply them to the five standard training zones:
Zone 1 (50-60%): Very Light. Warm-up and recovery. Ideal for starting a fitness program.
Zone 2 (60-70%): Light. The "Fat Burning" zone. Improves basic endurance and fat metabolism. You should be able to hold a conversation easily.
Zone 3 (70-80%): Moderate. Improves aerobic fitness and blood circulation in skeletal muscles. Breathing becomes heavier.
Zone 4 (80-90%): Hard. Increases maximum performance capacity. Sustainable for shorter periods. Breathing is labored.
Zone 5 (90-100%): Maximum. Develops maximum performance and speed. Only sustainable for very short bursts (sprinting).
How to Measure Resting Heart Rate
For the best results with this calculator, you should measure your resting heart rate. The best time to do this is in the morning, right after waking up, before you get out of bed.
Locate your pulse on your wrist (radial artery) or neck (carotid artery).
Count the number of beats for 60 seconds (or for 30 seconds and multiply by 2).
Repeat this for 3 days and take the average for a highly accurate RHR figure.
Safety Precautions
Always consult with a healthcare professional before starting a new exercise regimen, especially if you have pre-existing heart conditions. The numbers provided by this calculator are estimates based on general population averages. Medications, stress, caffeine, and environmental factors can all influence your actual heart rate during exercise.
function calculateHeartRate() {
// Get input values
var ageInput = document.getElementById("ageInput");
var restingHRInput = document.getElementById("restingHRInput");
var age = parseFloat(ageInput.value);
var restingHR = parseFloat(restingHRInput.value);
// Validation
if (isNaN(age) || age 120) {
alert("Please enter a valid age between 1 and 120.");
return;
}
// Calculate Max Heart Rate (MHR)
var mhr = 220 – age;
// Determine method (Karvonen vs Standard)
var isKarvonen = !isNaN(restingHR) && restingHR > 0 && restingHR < mhr;
// Display summary
document.getElementById("mhrDisplay").innerText = mhr;
document.getElementById("methodDisplay").innerText = isKarvonen ? "Karvonen (Heart Rate Reserve)" : "Standard (MHR %)";
// Define Zones
var zones = [
{ name: "Zone 1 (Warm Up)", minPct: 0.50, maxPct: 0.60, benefit: "Recovery, Warm-up" },
{ name: "Zone 2 (Fat Burn)", minPct: 0.60, maxPct: 0.70, benefit: "Basic Endurance, Fat Burning" },
{ name: "Zone 3 (Aerobic)", minPct: 0.70, maxPct: 0.80, benefit: "Improved Cardiovascular Fitness" },
{ name: "Zone 4 (Anaerobic)", minPct: 0.80, maxPct: 0.90, benefit: "Increased Performance Capacity" },
{ name: "Zone 5 (VO2 Max)", minPct: 0.90, maxPct: 1.00, benefit: "Maximum Speed & Power" }
];
var tableBody = document.getElementById("zonesTableBody");
tableBody.innerHTML = ""; // Clear previous results
// Loop through zones and calculate
for (var i = 0; i < zones.length; i++) {
var zone = zones[i];
var minBPM, maxBPM;
if (isKarvonen) {
// Karvonen Formula: ((MHR – RHR) * Intensity) + RHR
var hrr = mhr – restingHR;
minBPM = Math.round((hrr * zone.minPct) + restingHR);
maxBPM = Math.round((hrr * zone.maxPct) + restingHR);
} else {
// Standard Formula: MHR * Intensity
minBPM = Math.round(mhr * zone.minPct);
maxBPM = Math.round(mhr * zone.maxPct);
}
// Create Table Row
var row = document.createElement("tr");
var cellZone = document.createElement("td");
cellZone.innerHTML = "" + zone.name + "";
var cellIntensity = document.createElement("td");
cellIntensity.innerText = (zone.minPct * 100) + "% – " + (zone.maxPct * 100) + "%";
var cellBPM = document.createElement("td");
cellBPM.style.fontWeight = "bold";
cellBPM.style.color = "#e74c3c";
cellBPM.innerText = minBPM + " – " + maxBPM + " BPM";
var cellBenefit = document.createElement("td");
cellBenefit.innerText = zone.benefit;
row.appendChild(cellZone);
row.appendChild(cellIntensity);
row.appendChild(cellBPM);
row.appendChild(cellBenefit);
tableBody.appendChild(row);
}
// Show results
document.getElementById("results").style.display = "block";
}