.hr-calc-container {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
max-width: 600px;
margin: 20px auto;
padding: 25px;
border: 1px solid #ddd;
border-radius: 12px;
background-color: #ffffff;
box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}
.hr-calc-container h2 {
color: #d32f2f;
text-align: center;
margin-top: 0;
}
.hr-input-group {
margin-bottom: 20px;
}
.hr-input-group label {
display: block;
margin-bottom: 8px;
font-weight: 600;
color: #333;
}
.hr-input-group input {
width: 100%;
padding: 12px;
border: 1px solid #ccc;
border-radius: 6px;
box-sizing: border-box;
font-size: 16px;
}
.hr-calc-btn {
width: 100%;
padding: 15px;
background-color: #d32f2f;
color: white;
border: none;
border-radius: 6px;
font-size: 18px;
font-weight: bold;
cursor: pointer;
transition: background-color 0.3s;
}
.hr-calc-btn:hover {
background-color: #b71c1c;
}
.hr-result-box {
margin-top: 25px;
padding: 20px;
background-color: #f9f9f9;
border-radius: 8px;
border-left: 5px solid #d32f2f;
}
.hr-result-box h3 {
margin-top: 0;
color: #333;
}
.hr-metric {
display: flex;
justify-content: space-between;
margin-bottom: 10px;
padding-bottom: 5px;
border-bottom: 1px dashed #ddd;
}
.hr-metric span:last-child {
font-weight: bold;
color: #d32f2f;
}
.hr-article {
margin-top: 30px;
line-height: 1.6;
color: #444;
}
.hr-article h2 {
color: #222;
border-bottom: 2px solid #eee;
padding-bottom: 10px;
}
.zone-table {
width: 100%;
border-collapse: collapse;
margin: 20px 0;
}
.zone-table th, .zone-table td {
border: 1px solid #ddd;
padding: 10px;
text-align: left;
}
.zone-table th {
background-color: #f2f2f2;
}
Heart Rate Intensity Calculator
Using the Karvonen Formula for precise training zones.
Your Age (Years)
Resting Heart Rate (BPM)
Target Intensity – Low (%)
Target Intensity – High (%)
Calculate Target Zones
Calculated Results
Estimated Max Heart Rate:
0 bpm
Heart Rate Reserve (HRR):
0 bpm
Target Training Zone:
0 – 0 bpm
How to Calculate Heart Rate Intensity
Calculating heart rate intensity is the most effective way to ensure your workouts align with your fitness goals. Whether you are training for endurance, fat loss, or cardiovascular health, staying within specific "zones" determines the physiological adaptations your body makes.
The Karvonen Formula Explained
While the standard formula (220 – Age) gives a rough estimate of Maximum Heart Rate (MHR), it doesn't account for individual fitness levels. The Karvonen Formula is superior because it incorporates your Resting Heart Rate (RHR) to calculate your Heart Rate Reserve (HRR).
The Math:
Step 1: 220 – Age = Max HR
Step 2: Max HR – Resting HR = Heart Rate Reserve (HRR)
Step 3: (HRR × Intensity%) + Resting HR = Target Heart Rate
Common Training Intensity Zones
Zone
Intensity
Benefit
Zone 1
50% – 60%
Recovery & Warm-up
Zone 2
60% – 70%
Endurance & Fat Metabolism
Zone 3
70% – 80%
Aerobic Capacity (Cardio)
Zone 4
80% – 90%
Anaerobic Threshold
Zone 5
90% – 100%
Maximum Performance/Sprints
Example Calculation
If you are 40 years old with a resting heart rate of 70 bpm and want to exercise at 70% intensity:
Max HR: 220 – 40 = 180 bpm
HRR: 180 – 70 = 110 bpm
Target: (110 × 0.70) + 70 = 147 bpm
To stay in a "Moderate" zone (50% to 70%), this person would aim for a heart rate between 125 and 147 beats per minute.
function calculateHRIntensity() {
var age = parseFloat(document.getElementById('hrAge').value);
var rhr = parseFloat(document.getElementById('hrResting').value);
var lowI = parseFloat(document.getElementById('hrIntensityLow').value);
var highI = parseFloat(document.getElementById('hrIntensityHigh').value);
var resultsDiv = document.getElementById('hrResults');
var resMaxHr = document.getElementById('resMaxHr');
var resHrr = document.getElementById('resHrr');
var resTargetZone = document.getElementById('resTargetZone');
if (isNaN(age) || isNaN(rhr) || isNaN(lowI) || isNaN(highI)) {
alert('Please fill in all fields with valid numbers.');
return;
}
if (age 120) {
alert('Please enter a valid age.');
return;
}
// Calculations
var maxHr = 220 – age;
var hrr = maxHr – rhr;
if (hrr <= 0) {
alert('Resting heart rate cannot be higher than maximum heart rate. Please check your inputs.');
return;
}
var targetLow = Math.round((hrr * (lowI / 100)) + rhr);
var targetHigh = Math.round((hrr * (highI / 100)) + rhr);
// Display Results
resMaxHr.innerHTML = maxHr + ' bpm';
resHrr.innerHTML = hrr + ' bpm';
resTargetZone.innerHTML = targetLow + ' – ' + targetHigh + ' bpm';
resultsDiv.style.display = 'block';
}