Measure your pulse when you first wake up. If unknown, leave blank (less accurate).
Your Maximum Heart Rate: BPM
Zone
Intensity
Target Range (BPM)
Benefit
What Are My Heart Rate Zones? The Complete Guide
Understanding "what are my heart rate zones" is the single most effective way to optimize your cardiovascular training. Whether you are training for a marathon, trying to lose weight, or simply improving your general fitness, training at the right intensity ensures you get the specific physiological adaptations you need without overtraining.
Why Do Heart Rate Zones Matter?
Your heart rate is a direct indicator of how much oxygen your muscles are consuming and how hard your body is working. By dividing your heart rate into specific "zones," you can target different energy systems.
Without knowing your zones, you might fall into the "junk mile" trap—training too hard to recover quickly, but not hard enough to stimulate significant speed improvements. Or, you might be training too lightly to burn fat efficiently.
Understanding the 5 Heart Rate Zones
Most exercise physiologists divide training intensities into five distinct zones based on a percentage of your Maximum Heart Rate (MHR) or your Heart Rate Reserve (HRR).
The Karvonen Formula: This calculator uses the Karvonen method if you provide a Resting Heart Rate. This is superior to the standard "220 minus age" formula because it accounts for your specific fitness level by factoring in your heart rate reserve.
Zone 1: Very Light (50-60%)
Feeling: Very easy, effortless conversation.
Benefit: Improves overall health, helps recovery, and warms up the body. Ideal for active recovery days.
Zone 2: Light (60-70%)
Feeling: Comfortable, can maintain a full conversation.
Benefit: This is the famous "Fat Burning Zone." It builds endurance and teaches your body to utilize fat as a primary fuel source. It improves mitochondrial density in muscles.
Zone 3: Moderate (70-80%)
Feeling: Moderate sweating, breathing becomes rhythmic, conversation is possible but in shorter sentences.
Benefit: Improves aerobic capacity and blood circulation. This is often where people naturally fall during a steady run.
Zone 4: Hard (80-90%)
Feeling: Heavy breathing, muscle fatigue sets in, can only speak a few words.
Benefit: Increases maximum performance capacity (VO2 Max) and lactate threshold. This teaches your body to withstand high-intensity effort.
Zone 5: Maximum (90-100%)
Feeling: Gasping for air, cannot talk, can only be sustained for very short bursts.
Benefit: Develops maximum speed and power. Usually reserved for interval sprinting.
How to Calculate Your Max Heart Rate
The standard formula used globally is 220 – Age = Max Heart Rate. While this provides a general baseline, it can vary significantly between individuals. For the most accurate training zones, consider performing a field test or a professional VO2 Max lab test.
How to Use These Numbers
For Weight Loss: Spend the majority of your time in Zones 1 and 2.
For Endurance: Focus on high volume in Zone 2, with tempo runs in Zone 3.
For Speed: Incorporate interval training that spikes into Zones 4 and 5.
function calculateZones() {
// 1. Get Input Elements
var ageInput = document.getElementById('hr-age');
var rhrInput = document.getElementById('hr-resting');
var resultsArea = document.getElementById('results-area');
var displayMax = document.getElementById('display-max-hr');
var zonesBody = document.getElementById('zones-body');
// 2. Parse Values
var age = parseInt(ageInput.value);
var rhr = parseInt(rhrInput.value);
// 3. Validation
if (!age || isNaN(age) || age 120) {
alert("Please enter a valid age between 1 and 120.");
return;
}
// Handle RHR: if empty or NaN, treat as 0 for standard calculation logic,
// but note that Karvonen requires RHR. We will use a flag.
var useKarvonen = true;
if (!rhr || isNaN(rhr)) {
rhr = 0;
useKarvonen = false;
} else if (rhr 150) {
alert("Please enter a realistic resting heart rate (30-150 BPM).");
return;
}
// 4. Calculate Max HR (Standard Formula)
var maxHR = 220 – age;
// Safety check
if (useKarvonen && rhr >= maxHR) {
alert("Resting Heart Rate cannot be higher than or equal to Max Heart Rate.");
return;
}
// 5. Calculate Reserve
// If not using Karvonen (RHR=0), HRR isn't technically used, we just take % of MaxHR.
// However, math trick: (Max – 0) * % + 0 is the same as Max * %.
// So we can use the same formula structure if we treat RHR as 0 for non-Karvonen.
var hrReserve = maxHR – rhr;
// 6. Define Zones Data
// Zones: 1 (50-60%), 2 (60-70%), 3 (70-80%), 4 (80-90%), 5 (90-100%)
var zones = [
{ id: 1, minPct: 0.50, maxPct: 0.60, name: "Very Light", benefit: "Warm up, Recovery" },
{ id: 2, minPct: 0.60, maxPct: 0.70, name: "Light (Fat Burn)", benefit: "Endurance, Fat Loss" },
{ id: 3, minPct: 0.70, maxPct: 0.80, name: "Moderate", benefit: "Aerobic Fitness" },
{ id: 4, minPct: 0.80, maxPct: 0.90, name: "Hard", benefit: "Anaerobic Capacity" },
{ id: 5, minPct: 0.90, maxPct: 1.00, name: "Maximum", benefit: "Speed, Power" }
];
// 7. Clear previous results
zonesBody.innerHTML = ";
// 8. Generate Table Rows
for (var i = 0; i < zones.length; i++) {
var zone = zones[i];
// Formula: Target = (HRR * %) + RHR
var minBPM = Math.round((hrReserve * zone.minPct) + rhr);
var maxBPM = Math.round((hrReserve * zone.maxPct) + rhr);
var row = document.createElement('tr');
row.className = 'zone-row-' + zone.id;
row.innerHTML =
'