.bpm-calculator-container {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
max-width: 800px;
margin: 20px auto;
padding: 25px;
background: #f9fbfd;
border: 1px solid #e1e4e8;
border-radius: 8px;
box-shadow: 0 4px 6px rgba(0,0,0,0.05);
}
.bpm-calculator-header {
text-align: center;
margin-bottom: 25px;
}
.bpm-calculator-header h2 {
color: #d32f2f;
margin: 0;
font-size: 24px;
}
.bpm-input-group {
margin-bottom: 20px;
}
.bpm-input-group label {
display: block;
font-weight: 600;
margin-bottom: 8px;
color: #333;
}
.bpm-input-group input, .bpm-input-group select {
width: 100%;
padding: 12px;
border: 1px solid #ccc;
border-radius: 4px;
font-size: 16px;
box-sizing: border-box;
}
.bpm-input-group small {
color: #666;
font-size: 0.85em;
}
.bpm-calc-btn {
width: 100%;
padding: 14px;
background-color: #d32f2f;
color: white;
border: none;
border-radius: 4px;
font-size: 18px;
font-weight: bold;
cursor: pointer;
transition: background-color 0.3s;
}
.bpm-calc-btn:hover {
background-color: #b71c1c;
}
.bpm-results {
margin-top: 30px;
display: none;
border-top: 2px solid #e1e4e8;
padding-top: 20px;
}
.bpm-summary-box {
background: #fff;
padding: 15px;
border-radius: 6px;
border-left: 5px solid #d32f2f;
margin-bottom: 20px;
box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}
.bpm-summary-title {
font-size: 14px;
color: #555;
text-transform: uppercase;
letter-spacing: 0.5px;
}
.bpm-summary-value {
font-size: 28px;
font-weight: 700;
color: #222;
}
.bpm-zone-table {
width: 100%;
border-collapse: collapse;
margin-top: 15px;
background: white;
}
.bpm-zone-table th, .bpm-zone-table td {
padding: 12px;
text-align: left;
border-bottom: 1px solid #eee;
}
.bpm-zone-table th {
background-color: #f1f1f1;
font-weight: 600;
color: #333;
}
.bpm-zone-table tr:last-child td {
border-bottom: none;
}
.zone-badge {
display: inline-block;
padding: 4px 8px;
border-radius: 4px;
font-size: 12px;
font-weight: bold;
color: white;
}
.article-content {
margin-top: 40px;
line-height: 1.6;
color: #333;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
.article-content h2 {
color: #222;
border-bottom: 2px solid #d32f2f;
padding-bottom: 10px;
margin-top: 30px;
}
.article-content h3 {
color: #444;
margin-top: 25px;
}
.article-content ul {
margin-bottom: 20px;
}
.article-content li {
margin-bottom: 10px;
}
.info-box {
background-color: #e3f2fd;
padding: 15px;
border-radius: 5px;
border-left: 5px solid #2196f3;
margin: 20px 0;
}
Your Age (Years)
Resting Heart Rate (BPM) – Optional
Enter this for the Karvonen formula (more accurate), otherwise standard formula is used.
Calculate Zones
Estimated Maximum Heart Rate (MHR)
0 bpm
Zone
Intensity
Target Range (BPM)
Benefit
*Calculated using Standard 220-Age formula.
function calculateZones() {
var ageInput = document.getElementById('userAge').value;
var rhrInput = document.getElementById('restingHR').value;
var age = parseFloat(ageInput);
var rhr = parseFloat(rhrInput);
// Validation
if (!age || isNaN(age) || age 120) {
alert("Please enter a valid age between 1 and 120.");
return;
}
// Calculate Max Heart Rate (MHR) = 220 – Age
var mhr = 220 – age;
// Update MHR Display
document.getElementById('mhrValue').innerText = mhr;
document.getElementById('resultsArea').style.display = 'block';
var useKarvonen = false;
if (rhr && !isNaN(rhr) && rhr > 30 && rhr < mhr) {
useKarvonen = true;
document.getElementById('formulaName').innerText = "Karvonen (Heart Rate Reserve)";
} else {
document.getElementById('formulaName').innerText = "Standard (220 – Age)";
}
// Define Zones
var zones = [
{ name: "Zone 1", label: "Very Light", color: "#9e9e9e", minPct: 0.50, maxPct: 0.60, benefit: "Warm up, recovery" },
{ name: "Zone 2", label: "Light", color: "#4caf50", minPct: 0.60, maxPct: 0.70, benefit: "Fat burning, endurance" },
{ name: "Zone 3", label: "Moderate", color: "#ff9800", minPct: 0.70, maxPct: 0.80, benefit: "Aerobic fitness" },
{ name: "Zone 4", label: "Hard", color: "#f44336", minPct: 0.80, maxPct: 0.90, benefit: "Anaerobic capacity" },
{ name: "Zone 5", label: "Maximum", color: "#b71c1c", minPct: 0.90, maxPct: 1.00, benefit: "Maximum performance" }
];
var tableHtml = "";
for (var i = 0; i < zones.length; i++) {
var zone = zones[i];
var minBpm, maxBpm;
if (useKarvonen) {
// Target Heart Rate = ((max HR − resting HR) × %Intensity) + resting HR
var hrr = mhr – rhr; // Heart Rate Reserve
minBpm = Math.round((hrr * zone.minPct) + rhr);
maxBpm = Math.round((hrr * zone.maxPct) + rhr);
} else {
// Standard Formula = MHR * %Intensity
minBpm = Math.round(mhr * zone.minPct);
maxBpm = Math.round(mhr * zone.maxPct);
}
tableHtml += '
';
tableHtml += '' + zone.name + ' ';
tableHtml += '' + zone.label + ' (' + (zone.minPct * 100) + '-' + (zone.maxPct * 100) + '%) ';
tableHtml += '' + minBpm + ' – ' + maxBpm + ' bpm ';
tableHtml += '' + zone.benefit + ' ';
tableHtml += ' ';
}
document.getElementById('zonesTableBody').innerHTML = tableHtml;
}
What is BPM in Heart Rate?
BPM stands for Beats Per Minute . It is the standard unit of measurement used to quantify heart rate—the number of times a person's heart contracts in one minute. Monitoring your BPM is a vital way to gauge your cardiovascular health and the intensity of your exercise routines.
For most healthy adults, a normal resting heart rate usually falls between 60 and 100 BPM . However, highly active individuals and athletes may have resting heart rates as low as 40 BPM, indicating a highly efficient heart muscle.
How to Calculate Maximum Heart Rate (MHR)
Before you can identify your target heart rate zones, you must determine your Maximum Heart Rate. The most common formula used is:
Standard Formula (Fox Method):
MHR = 220 – Age
For example, if you are 40 years old, your estimated maximum heart rate would be 220 – 40 = 180 BPM .
The Karvonen Formula
While the standard formula is a good baseline, the Karvonen method is considered more accurate for individuals with varying fitness levels because it incorporates your Resting Heart Rate (RHR) . This method calculates your "Heart Rate Reserve" (HRR) first.
Step 1: Measure Resting Heart Rate (RHR).
Step 2: Calculate MHR (220 – Age).
Step 3: Calculate Heart Rate Reserve (HRR = MHR – RHR).
Step 4: Calculate Target Zone = (HRR × Intensity %) + RHR.
Understanding Heart Rate Zones
Training in specific heart rate zones allows you to target different physiological benefits. Here is a breakdown of the 5 standard zones:
Zone 1 (50-60%): Very light intensity. Used for warm-ups, cool-downs, and active recovery.
Zone 2 (60-70%): Light intensity. Often called the "Fat Burning Zone." It improves basic endurance and muscle efficiency.
Zone 3 (70-80%): Moderate intensity. Improves aerobic fitness and blood circulation in skeletal muscles.
Zone 4 (80-90%): Hard intensity. Increases anaerobic tolerance and high-speed endurance. Sustainable for shorter periods.
Zone 5 (90-100%): Maximum intensity. Improves maximum sprint speed and neuromuscular reaction. Only sustainable for very short bursts.
How to Measure Your Pulse
To use the calculator effectively, you may need to measure your resting heart rate manually if you don't have a heart rate monitor or smartwatch:
Radial Artery (Wrist): Place your index and middle fingers on the inside of your opposite wrist, just below the thumb base.
Carotid Artery (Neck): Place your index and middle fingers on the side of your neck, just beside your windpipe.
Count: Count the number of beats you feel for 15 seconds .
Calculate: Multiply that number by 4 to get your BPM. (e.g., 18 beats in 15 seconds = 72 BPM).