Maximum Heart Rate Formula Calculator

Maximum Heart Rate Calculator body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; line-height: 1.6; color: #333; margin: 0; padding: 0; } .calculator-container { max-width: 800px; margin: 20px auto; padding: 20px; background: #fff; border-radius: 8px; box-shadow: 0 2px 10px rgba(0,0,0,0.1); } .calc-header { text-align: center; margin-bottom: 30px; } .calc-header h2 { color: #2c3e50; margin-bottom: 10px; } .input-group { margin-bottom: 20px; } .input-group label { display: block; margin-bottom: 8px; font-weight: 600; color: #555; } .input-group input, .input-group select { width: 100%; padding: 12px; border: 1px solid #ddd; border-radius: 4px; font-size: 16px; box-sizing: border-box; } .input-group input:focus, .input-group select:focus { border-color: #3498db; outline: none; box-shadow: 0 0 5px rgba(52,152,219,0.3); } .calc-btn { width: 100%; padding: 15px; background-color: #e74c3c; color: white; border: none; border-radius: 4px; font-size: 18px; font-weight: bold; cursor: pointer; transition: background 0.3s; } .calc-btn:hover { background-color: #c0392b; } .results-section { margin-top: 30px; padding: 20px; background-color: #f9f9f9; border-radius: 4px; border-left: 5px solid #e74c3c; display: none; } .main-result { text-align: center; margin-bottom: 25px; } .main-result .label { font-size: 14px; color: #7f8c8d; text-transform: uppercase; letter-spacing: 1px; } .main-result .value { font-size: 48px; font-weight: 800; color: #2c3e50; } .main-result .unit { font-size: 18px; color: #7f8c8d; } .zones-table { width: 100%; border-collapse: collapse; margin-top: 20px; background: white; } .zones-table th, .zones-table td { padding: 12px; text-align: left; border-bottom: 1px solid #eee; } .zones-table th { background-color: #f1f1f1; font-weight: 600; color: #2c3e50; } .zones-table tr:last-child td { border-bottom: none; } .zones-table .zone-color { width: 15px; height: 15px; display: inline-block; border-radius: 50%; margin-right: 10px; } .article-content { max-width: 800px; margin: 40px auto; padding: 20px; background: #fff; } .article-content h3 { color: #2c3e50; border-bottom: 2px solid #eee; padding-bottom: 10px; margin-top: 30px; } .article-content p { margin-bottom: 15px; color: #555; } .article-content ul { margin-bottom: 20px; padding-left: 20px; } .article-content li { margin-bottom: 10px; } .formula-box { background: #f8f9fa; padding: 15px; border-radius: 4px; font-family: monospace; margin: 10px 0; border: 1px solid #e9ecef; } .error-msg { color: #e74c3c; font-size: 14px; margin-top: 5px; display: none; } @media (max-width: 600px) { .main-result .value { font-size: 36px; } .zones-table { font-size: 14px; } }

Maximum Heart Rate Calculator

Estimate your Max Heart Rate (MHR) and training zones.

Please enter a valid age between 1 and 120.
Fox Formula (Standard: 220 – Age) Tanaka Formula (208 – 0.7 × Age) Gellish Formula (207 – 0.7 × Age) Gulati Formula (Women: 206 – 0.88 × Age)
Estimated Max Heart Rate
0 bpm

Target Training Zones

Zone Intensity Heart Rate Range Benefit

Understanding Your Maximum Heart Rate

Your Maximum Heart Rate (MHR) is the highest number of beats per minute (bpm) your heart can pump under maximum stress. It is a crucial metric for athletes and fitness enthusiasts to determine training intensities and ensure safety during exercise. While a clinical stress test is the most accurate way to measure MHR, mathematical formulas provide a reliable estimate for most individuals.

Common Formulas Used

Over the years, researchers have developed several formulas to estimate MHR based on age. This calculator allows you to choose between the most scientifically recognized methods:

1. The Fox Formula

This is the most widely used and simplest formula, often found on cardio equipment.

MHR = 220 – Age

2. The Tanaka Formula

Proposed in 2001, this formula is considered more accurate for healthy adults across a wider age range.

MHR = 208 – (0.7 × Age)

3. The Gellish Formula

Similar to Tanaka, this non-linear regression formula is often used in clinical settings.

MHR = 207 – (0.7 × Age)

4. The Gulati Formula (For Women)

Research suggests the standard formulas may overestimate MHR for women. The Gulati formula is specifically calibrated for female physiology.

MHR = 206 – (0.88 × Age)

Heart Rate Training Zones

Once you know your MHR, you can calculate specific heart rate zones to target different fitness goals:

  • Zone 1 (50-60%): Very light activity used for warm-ups and recovery.
  • Zone 2 (60-70%): The "Fat Burning" zone. Builds basic endurance and burns fat efficiently.
  • Zone 3 (70-80%): Aerobic zone. Improves cardiovascular system and stamina.
  • Zone 4 (80-90%): Anaerobic zone. Improves high-speed endurance and lactic acid tolerance.
  • Zone 5 (90-100%): Maximum effort. Used for short interval sprints by advanced athletes.

Disclaimer

These calculations are estimates. Genetics, medication, and fitness levels can significantly influence your actual maximum heart rate. Always consult a physician before starting a new exercise program, especially if you have a history of heart conditions.

function calculateHeartRate() { var ageInput = document.getElementById('calcAge'); var formulaInput = document.getElementById('calcFormula'); var ageError = document.getElementById('ageError'); var resultSection = document.getElementById('resultSection'); var mhrDisplay = document.getElementById('mhrResult'); var zonesBody = document.getElementById('zonesBody'); // Reset error state ageError.style.display = 'none'; var age = parseFloat(ageInput.value); var formula = formulaInput.value; // Validation if (isNaN(age) || age 120) { ageError.style.display = 'block'; resultSection.style.display = 'none'; return; } // Calculate MHR based on formula var mhr = 0; if (formula === 'fox') { mhr = 220 – age; } else if (formula === 'tanaka') { mhr = 208 – (0.7 * age); } else if (formula === 'gellish') { mhr = 207 – (0.7 * age); } else if (formula === 'gulati') { mhr = 206 – (0.88 * age); } // Round MHR to nearest whole number mhr = Math.round(mhr); // Update MHR Display mhrDisplay.textContent = mhr; resultSection.style.display = 'block'; // Calculate Zones // Zone 1: 50-60% // Zone 2: 60-70% // Zone 3: 70-80% // Zone 4: 80-90% // Zone 5: 90-100% var zones = [ { name: "Zone 1", intensity: "50% – 60%", range: Math.round(mhr * 0.5) + " – " + Math.round(mhr * 0.6) + " bpm", benefit: "Warm Up / Recovery", color: "#bdc3c7" }, { name: "Zone 2", intensity: "60% – 70%", range: Math.round(mhr * 0.6 + 1) + " – " + Math.round(mhr * 0.7) + " bpm", benefit: "Fat Burn / Endurance", color: "#3498db" }, { name: "Zone 3", intensity: "70% – 80%", range: Math.round(mhr * 0.7 + 1) + " – " + Math.round(mhr * 0.8) + " bpm", benefit: "Aerobic Capacity", color: "#2ecc71" }, { name: "Zone 4", intensity: "80% – 90%", range: Math.round(mhr * 0.8 + 1) + " – " + Math.round(mhr * 0.9) + " bpm", benefit: "Anaerobic Threshold", color: "#f1c40f" }, { name: "Zone 5", intensity: "90% – 100%", range: Math.round(mhr * 0.9 + 1) + " – " + mhr + " bpm", benefit: "Maximum Performance", color: "#e74c3c" } ]; // Clear previous table rows zonesBody.innerHTML = "; // Populate table for (var i = 0; i < zones.length; i++) { var row = document.createElement('tr'); var zoneCell = document.createElement('td'); zoneCell.innerHTML = '' + zones[i].name; var intensityCell = document.createElement('td'); intensityCell.textContent = zones[i].intensity; var rangeCell = document.createElement('td'); rangeCell.textContent = zones[i].range; rangeCell.style.fontWeight = 'bold'; var benefitCell = document.createElement('td'); benefitCell.textContent = zones[i].benefit; row.appendChild(zoneCell); row.appendChild(intensityCell); row.appendChild(rangeCell); row.appendChild(benefitCell); zonesBody.appendChild(row); } }

Leave a Comment