Calculate your Maximum Heart Rate and Target Pulse Zones based on your age and resting heart rate.
Measure your pulse when you have been sitting quietly for at least 10 minutes.
Maximum Heart Rate (MHR)
0 BPM
Estimated maximum beats per minute based on age ($220 – Age$).
Resting Rate Assessment
–
Based on general population data for your age group.
Target Heart Rate Zones (Karvonen Method)
These zones are calculated using your Heart Rate Reserve (HRR) for higher accuracy.
Zone
Intensity
Target Pulse (BPM)
How to Calculate Normal Pulse Rate
Understanding your pulse rate is a fundamental aspect of monitoring cardiovascular health. A "normal" pulse rate varies significantly depending on age, fitness level, and activity status. While the most common method to assess a normal pulse is measuring the Resting Heart Rate (RHR), calculating your Target Heart Rate is essential for effective and safe exercise.
What is a Normal Resting Pulse?
For adults (ages 18+), a normal resting heart rate usually ranges between 60 and 100 beats per minute (BPM). However, highly trained athletes may have resting rates as low as 40 BPM, which indicates efficient heart function.
Normal Resting Pulse Rates by Age
Age Group
Normal Range (BPM)
Average (BPM)
Newborns (0-1 mo)
70 – 190
130
Infants (1-11 mo)
80 – 160
120
Children (1-2 yrs)
80 – 130
110
Children (3-4 yrs)
80 – 120
100
Children (5-6 yrs)
75 – 115
95
Children (7-9 yrs)
70 – 110
90
Children (10 yrs+) & Adults
60 – 100
72
Athletes
40 – 60
50
The Calculation Logic
To calculate heart rate targets for exercise, we use two primary formulas:
1. Maximum Heart Rate (MHR)
This is the upper limit of what your cardiovascular system can handle during physical stress. The most widely accepted formula is:
MHR = 220 – Age
2. The Karvonen Formula (Heart Rate Reserve)
This calculator uses the Karvonen method because it incorporates your resting heart rate, providing a more personalized target than simple percentages of MHR. The formula for Heart Rate Reserve (HRR) is:
HRR = MHR – Resting Heart Rate
To find a target zone (e.g., 50% intensity):
Target Pulse = (HRR × 0.50) + Resting Heart Rate
Factors Affecting Pulse Rate
Air Temperature: High humidity and temperatures can increase pulse by 5-10 BPM.
Body Position: Resting pulse is usually lower when lying down compared to sitting or standing.
Emotions: Stress, anxiety, or excitement can temporarily spike your heart rate.
Medications: Beta-blockers tend to slow the pulse, while thyroid medications may increase it.
How to Manually Measure Your Pulse
Radial Artery: Place your index and middle fingers on the inside of your wrist, below the thumb.
Carotid Artery: Place your fingers on the side of your neck, just below the jawbone.
Count: Count the beats for 15 seconds.
Calculate: Multiply the count by 4 to get your BPM.
function calculatePulse() {
// Get Inputs
var ageInput = document.getElementById("calcAge");
var rhrInput = document.getElementById("calcRHR");
var resultContainer = document.getElementById("resultContainer");
var age = parseFloat(ageInput.value);
var rhr = parseFloat(rhrInput.value);
// Validation
if (isNaN(age) || age 120) {
alert("Please enter a valid age between 1 and 120.");
return;
}
if (isNaN(rhr) || rhr 250) {
alert("Please enter a valid resting heart rate (between 30 and 250 BPM).");
return;
}
// 1. Calculate Max Heart Rate (MHR)
var mhr = 220 – age;
document.getElementById("displayMHR").innerHTML = mhr;
// 2. Assess Resting Heart Rate
var assessment = "";
// Simple assessment logic based on general adult guidelines (NIH/Mayo Clinic rough guides)
// Adjusting slightly for age is complex, using standard adult baseline for simplicity + athlete consideration
if (rhr = 60 && rhr <= 100) {
if (rhr <= 72) {
assessment = "Normal (Excellent/Average)";
} else {
assessment = "Normal (High Average)";
}
} else {
assessment = "Tachycardia (High). You may want to consult a healthcare provider.";
}
document.getElementById("assessmentText").innerHTML = assessment;
// 3. Calculate Zones (Karvonen Method)
// Formula: Target = ((MHR – RHR) * %Intensity) + RHR
var hrr = mhr – rhr; // Heart Rate Reserve
var zones = [
{ name: "Zone 1 (Warm Up)", minPct: 0.50, maxPct: 0.60, desc: "Very Light" },
{ name: "Zone 2 (Fat Burn)", minPct: 0.60, maxPct: 0.70, desc: "Light" },
{ name: "Zone 3 (Aerobic)", minPct: 0.70, maxPct: 0.80, desc: "Moderate" },
{ name: "Zone 4 (Anaerobic)", minPct: 0.80, maxPct: 0.90, desc: "Hard" },
{ name: "Zone 5 (VO2 Max)", minPct: 0.90, maxPct: 1.00, desc: "Maximum" }
];
var tableHtml = "";
for (var i = 0; i < zones.length; i++) {
var z = zones[i];
var minBpm = Math.round((hrr * z.minPct) + rhr);
var maxBpm = Math.round((hrr * z.maxPct) + rhr);
tableHtml += "