Enter this to use the Karvonen Formula (more accurate). Leave blank for Standard method.
Check a specific percentage instantly.
Estimated Max Heart Rate:
— bpm
Training Zones
Zone
Intensity
Heart Rate Range (bpm)
Benefit
Custom Target:
% intensity =
bpm
Understanding Max Heart Rate Percentages
Training effectively requires more than just moving your body; it requires monitoring your intensity. The Max Heart Rate Percentage Calculator helps you identify your ideal heart rate zones to ensure you are training safely and efficiently towards your specific fitness goals.
How Maximum Heart Rate is Calculated
This calculator determines your Maximum Heart Rate (MHR) and then breaks it down into training zones. Depending on whether you provide your Resting Heart Rate (RHR), the calculator switches between two primary methods:
Standard Method (Fox Formula):220 – Age. This is the most common estimation used globally. It provides a baseline MHR, and zones are calculated as simple percentages of this number.
Karvonen Formula: This method is considered more accurate for individuals with varying fitness levels because it incorporates your Heart Rate Reserve (HRR). The formula is: Target HR = ((Max HR - Resting HR) × %Intensity) + Resting HR.
Heart Rate Training Zones Explained
Training in specific heart rate zones elicits different physiological adaptations. Here is a breakdown of the 5 standard zones:
Zone 1: Very Light (50-60%)
Feeling: Very easy, can converse effortlessly. Benefit: Improves overall health, helps recovery, and warms up the muscles. Ideal for cool-downs and active recovery days.
Zone 2: Light (60-70%)
Feeling: Comfortable, breathing is rhythmic. Benefit: Builds basic endurance and fat-burning capacity. This is often called the "fat burning zone" because the body relies heavily on fat stores for energy.
Zone 3: Moderate (70-80%)
Feeling: Moderate sweating, breathing is harder but can still speak in short sentences. Benefit: Improves aerobic fitness and blood circulation in skeletal muscles. This is the sweet spot for improving cardiovascular capacity.
Zone 4: Hard (80-90%)
Feeling: Heavy breathing, muscle fatigue sets in. Benefit: Increases maximum performance capacity and lactate threshold. This zone trains your body to sustain high speeds for longer.
Zone 5: Maximum (90-100%)
Feeling: Gasping for air, can only sustain for short bursts. Benefit: Develops maximum speed and power. Usually reserved for interval training and elite athletic conditioning.
Why Use Heart Rate Percentages?
Using a percentage of your max heart rate allows you to normalize intensity. A 150 bpm heart rate might be a warm-up for a 20-year-old but a high-intensity effort for a 60-year-old. By calculating percentages, you ensure that your workout intensity matches your physiological capabilities, preventing overtraining and ensuring consistent progress.
function calculateHeartZones() {
// 1. Get Inputs
var ageInput = document.getElementById('ageInput');
var rhrInput = document.getElementById('rhrInput');
var customTargetInput = document.getElementById('customTarget');
var age = parseFloat(ageInput.value);
var rhr = parseFloat(rhrInput.value);
var customPercent = parseFloat(customTargetInput.value);
// 2. Validation
if (isNaN(age) || age 120) {
alert("Please enter a valid age between 1 and 120.");
return;
}
// 3. Calculate Max Heart Rate (Standard Fox Formula)
var maxHR = 220 – age;
// 4. Determine Calculation Method (Standard vs Karvonen)
var useKarvonen = false;
if (!isNaN(rhr) && rhr > 20 && rhr < maxHR) {
useKarvonen = true;
}
// 5. Logic for Zones
// HR Reserve = MaxHR – RestingHR
// Karvonen = (HRR * %) + RestingHR
// Standard = MaxHR * %
var zones = [
{ name: "Zone 1", desc: "Very Light / Recovery", minPct: 0.50, maxPct: 0.60, class: "zone-row-1" },
{ name: "Zone 2", desc: "Light / Fat Burn", minPct: 0.60, maxPct: 0.70, class: "zone-row-2" },
{ name: "Zone 3", desc: "Moderate / Aerobic", minPct: 0.70, maxPct: 0.80, class: "zone-row-3" },
{ name: "Zone 4", desc: "Hard / Anaerobic", minPct: 0.80, maxPct: 0.90, class: "zone-row-4" },
{ name: "Zone 5", desc: "Maximum / VO2 Max", minPct: 0.90, maxPct: 1.00, class: "zone-row-5" }
];
var tableHtml = "";
for (var i = 0; i < zones.length; i++) {
var z = zones[i];
var minBpm, maxBpm;
if (useKarvonen) {
var hrr = maxHR – rhr;
minBpm = Math.round((hrr * z.minPct) + rhr);
maxBpm = Math.round((hrr * z.maxPct) + rhr);
} else {
minBpm = Math.round(maxHR * z.minPct);
maxBpm = Math.round(maxHR * z.maxPct);
}
tableHtml += "