Your heart rate during exercise is a crucial indicator of workout intensity and effectiveness. Calculating your target heart rate zone helps ensure you're exercising safely and achieving your fitness goals, whether they're for endurance, fat burning, or general health.
How is it Calculated?
The most common method for estimating your maximum heart rate (MHR) is the age-based formula:
Estimated MHR = 220 – Age
Once your estimated MHR is known, you can determine your target heart rate zone based on your desired intensity level. The target heart rate zone is typically expressed as a percentage of your MHR.
Target Heart Rate = MHR × (Intensity Level / 100)
Different intensity levels correspond to different physiological benefits:
Moderate Intensity (50-60% of MHR): Good for building an endurance base and general fitness.
Vigorous Intensity (70-85% of MHR): Improves cardiovascular and cardiorespiratory fitness more rapidly. Often used for high-intensity interval training (HIIT) and more advanced athletes.
Example: For a 30-year-old individual aiming for vigorous intensity at 75%:
So, the target heart rate for this individual at 75% intensity would be approximately 143 beats per minute.
Note: This calculator uses a general estimation formula. Individual heart rates can vary. If you have a known maximum heart rate or specific health conditions, consult with a healthcare professional or certified fitness trainer for personalized guidance.
function calculateHeartRate() {
var ageInput = document.getElementById("age");
var maxHeartRateInput = document.getElementById("maxHeartRate");
var intensityLevelInput = document.getElementById("intensityLevel");
var targetRateDisplay = document.getElementById("targetRateDisplay");
var intensityZoneDisplay = document.getElementById("intensityZoneDisplay");
var age = parseFloat(ageInput.value);
var maxHeartRate = parseFloat(maxHeartRateInput.value);
var intensityLevel = parseFloat(intensityLevelInput.value);
var calculatedMHR;
var targetHeartRate;
var intensityZoneText = "";
// Validate age input
if (isNaN(age) || age 120) {
alert("Please enter a valid age between 1 and 120.");
return;
}
// Validate intensity level input
if (isNaN(intensityLevel) || intensityLevel 100) {
alert("Please enter an intensity level between 0 and 100 percent.");
return;
}
// Determine Maximum Heart Rate (MHR)
if (!isNaN(maxHeartRate) && maxHeartRate > 0) {
calculatedMHR = maxHeartRate;
} else {
// Use the age-based formula if MHR is not provided or invalid
calculatedMHR = 220 – age;
if (calculatedMHR = 50 && intensityLevel 60 && intensityLevel 70 && intensityLevel 80 && intensityLevel 85) {
intensityZoneText = "Target Zone: Very High Intensity (Use with caution)";
} else {
intensityZoneText = "Target Zone: Below Moderate Intensity";
}
intensityZoneDisplay.textContent = intensityZoneText;
} else {
targetRateDisplay.textContent = "Error";
intensityZoneDisplay.textContent = "";
}
}