A high heart rate, medically known as tachycardia, occurs when your heart beats faster than normal. For a healthy adult at rest, a typical heart rate ranges from 60 to 100 beats per minute (BPM). When your resting heart rate exceeds 100 BPM, it is generally considered high.
However, "high" is a relative term during physical activity. Your maximum heart rate (MHR) is the upper limit of what your cardiovascular system can handle during physical exertion. This calculator uses the standard Fox Formula (220 – Age) to estimate your limits.
Heart Rate Intensity Zones
Intensity
% of Max HR
Typical Purpose
Light Activity
50% – 60%
Warm-up, recovery, basic movement.
Moderate (Fat Burn)
60% – 70%
Weight management, endurance base.
Aerobic (Cardio)
70% – 80%
Improving cardiovascular fitness.
Anaerobic (Hard)
80% – 90%
High-intensity interval training (HIIT).
Red Line (Maximum)
90% – 100%
Short bursts of maximum effort.
When Should You Be Concerned?
While a high heart rate during exercise is normal and often desired, a high heart rate at rest can be caused by various factors including stress, caffeine, dehydration, or underlying medical conditions like anemia or thyroid issues. You should seek medical attention if a high heart rate is accompanied by:
Shortness of breath
Chest pain or pressure
Dizziness or lightheadedness
Fainting (syncope)
Palpitations (feeling like your heart is skipping a beat)
Real-World Example
If a 40-year-old individual is sitting on their couch and notices their heart rate is 115 BPM, this is considered high (Resting Tachycardia). However, if that same 40-year-old is jogging, their Maximum Heart Rate is approximately 180 BPM (220 – 40). A heart rate of 115 BPM during a jog would represent only 64% of their maximum, which is a perfectly healthy moderate-intensity zone.
function calculateHighHR() {
var age = document.getElementById('hrAge').value;
var current = document.getElementById('hrCurrent').value;
var state = document.getElementById('hrState').value;
var restingInput = document.getElementById('hrResting').value;
var resultArea = document.getElementById('hr-result-area');
var statusMsg = document.getElementById('hr-status-message');
var resMHR = document.getElementById('res-mhr');
var resZone = document.getElementById('res-zone');
var resRange = document.getElementById('res-range');
var resPercent = document.getElementById('res-percent');
if (!age || !current) {
alert("Please enter both your age and current heart rate.");
return;
}
var ageNum = parseFloat(age);
var currentNum = parseFloat(current);
var mhr = 220 – ageNum;
var percentage = (currentNum / mhr) * 100;
resultArea.style.display = 'block';
resMHR.innerHTML = mhr + " BPM";
resPercent.innerHTML = Math.round(percentage) + "%";
var zoneText = "";
var rangeText = "";
var statusHtml = "";
// Determine target based on state
if (state === "resting") {
zoneText = "Resting Range";
rangeText = "60 – 100 BPM";
if (currentNum > 100) {
statusHtml = "
Warning: Your resting heart rate is high (Tachycardia). Normal resting HR is typically 60-100 BPM. If this persists, consult a doctor.
";
} else if (currentNum 30) {
statusHtml = "
Your resting heart rate is low (Bradycardia), which is often normal for well-trained athletes.
";
} else {
statusHtml = "
Your heart rate is within the normal resting range.
";
}
} else if (state === "light") {
zoneText = "Light (50-60%)";
var low = Math.round(mhr * 0.50);
var high = Math.round(mhr * 0.60);
rangeText = low + " – " + high + " BPM";
if (currentNum > high) {
statusHtml = "
Your heart rate is higher than expected for light activity.
";
} else {
statusHtml = "
You are in the light activity zone.
";
}
} else if (state === "moderate") {
zoneText = "Moderate (60-80%)";
var low = Math.round(mhr * 0.60);
var high = Math.round(mhr * 0.80);
rangeText = low + " – " + high + " BPM";
if (currentNum > high) {
statusHtml = "
Your heart rate is pushing into the high-intensity zone.
";
} else {
statusHtml = "
You are in the moderate aerobic zone.
";
}
} else if (state === "intense") {
zoneText = "Intense (80-95%)";
var low = Math.round(mhr * 0.80);
var high = Math.round(mhr * 0.95);
rangeText = low + " – " + high + " BPM";
if (currentNum > mhr) {
statusHtml = "
Danger: You have exceeded your estimated maximum heart rate. Please slow down immediately.
";
} else if (currentNum > high) {
statusHtml = "
You are at maximum effort. Do not sustain this for long periods.
";
} else {
statusHtml = "
You are in the high-intensity training zone.
";
}
}
statusMsg.innerHTML = statusHtml;
resZone.innerHTML = zoneText;
resRange.innerHTML = rangeText;
// Scroll to results on mobile
resultArea.scrollIntoView({ behavior: 'smooth', block: 'nearest' });
}