{
  "slug": "heart-rate-zones",
  "title": "Heart Rate Zone Calculator",
  "heading": "Training Heart Rate Zone Calculator",
  "category": "fitness-health",
  "url": "https://www.revenuelab.fyi/toolbox/heart-rate-zones",
  "summary": "Five training zones using the Karvonen reserve method.",
  "description": "Zones based on heart rate reserve (max minus resting) are far more personal than plain percentage-of-max, especially for well-trained athletes with low resting rates.",
  "formula": "Target HR = ((Max − resting) × intensity%) + resting.",
  "dateModified": "2026-09-30",
  "run_url": "https://www.revenuelab.fyi/api/public/calc?tool=heart-rate-zones",
  "inputs": [
    {
      "id": "age",
      "label": "Age",
      "kind": "number",
      "hint": null,
      "default": 35,
      "unit": null,
      "min": 10,
      "max": 100
    },
    {
      "id": "resting",
      "label": "Resting heart rate",
      "kind": "number",
      "hint": null,
      "default": 60,
      "unit": "bpm",
      "min": 30,
      "max": 110
    },
    {
      "id": "maxOverride",
      "label": "Known max HR (0 to estimate)",
      "kind": "number",
      "hint": null,
      "default": 0,
      "unit": "bpm",
      "min": 0,
      "max": 230
    }
  ],
  "outputs": [
    {
      "id": "max",
      "label": "Estimated max heart rate",
      "format": "number",
      "hint": null,
      "primary": true
    },
    {
      "id": "z2",
      "label": "Zone 2 — endurance base",
      "format": "raw",
      "hint": null,
      "primary": false
    },
    {
      "id": "z3",
      "label": "Zone 3 — tempo",
      "format": "raw",
      "hint": null,
      "primary": false
    },
    {
      "id": "z4",
      "label": "Zone 4 — threshold",
      "format": "raw",
      "hint": null,
      "primary": false
    },
    {
      "id": "z5",
      "label": "Zone 5 — VO2 max",
      "format": "raw",
      "hint": null,
      "primary": false
    },
    {
      "id": "z1",
      "label": "Zone 1 — recovery",
      "format": "raw",
      "hint": null,
      "primary": false
    }
  ],
  "worked_example": {
    "inputs": [
      "Age: 35",
      "Resting heart rate: 60 bpm",
      "Known max HR (0 to estimate): 0 bpm"
    ],
    "outputs": [
      "Estimated max heart rate: 184",
      "Zone 2 — endurance base: 134–146 bpm",
      "Zone 3 — tempo: 146–159 bpm",
      "Zone 4 — threshold: 159–171 bpm",
      "Zone 5 — VO2 max: 171–184 bpm",
      "Zone 1 — recovery: 122–134 bpm"
    ]
  },
  "how_to": {
    "title": "How to use this",
    "steps": [
      "Enter age.",
      "Enter resting heart rate (bpm).",
      "Enter known max hr (0 to estimate) (bpm).",
      "Read your estimated max heart rate on the right — it updates as you type.",
      "Hit Share to keep the scenario or send it to someone."
    ]
  },
  "scenarios": [
    {
      "name": "Conservative",
      "description": "Lower-end numbers — what if things land soft?",
      "values": {
        "age": 35,
        "resting": 36,
        "maxOverride": 0
      }
    },
    {
      "name": "Typical",
      "description": "Defaults — the most common real-world setup.",
      "values": {
        "age": 35,
        "resting": 60,
        "maxOverride": 0
      }
    },
    {
      "name": "Ambitious",
      "description": "Higher-end numbers — what if things really pop?",
      "values": {
        "age": 35,
        "resting": 96,
        "maxOverride": 0
      }
    }
  ],
  "limitations": [
    "Population formulas describe averages; individual bodies vary, especially at the extremes of height, age, or muscle mass.",
    "Results do not account for medical conditions, medication, or pregnancy.",
    "Use this as a directional reference, not a diagnosis — talk to a clinician before acting on it."
  ],
  "faq": [
    {
      "q": "How does the training heart rate zone calculator work?",
      "a": "Zones based on heart rate reserve (max minus resting) are far more personal than plain percentage-of-max, especially for well-trained athletes with low resting rates. The underlying maths is: Target HR = ((Max − resting) × intensity%) + resting."
    },
    {
      "q": "What do I need to enter?",
      "a": "3 values: age, resting heart rate, and known max hr (0 to estimate). Each field starts with a sensible default, so you can change one number at a time and watch the result move."
    },
    {
      "q": "What does the estimated max heart rate result mean?",
      "a": "It is returned as a whole number and updates live as you edit the inputs, so you can compare two or three versions of a scenario in a few seconds."
    },
    {
      "q": "Is this calculator free, and do I need an account?",
      "a": "Yes, it's free, and no account is required. Nothing you type is stored on our servers — the maths runs entirely in your browser."
    },
    {
      "q": "How accurate is the result?",
      "a": "It applies the standard formula exactly, so the arithmetic is precise. Population formulas describe averages; individual bodies vary, especially at the extremes of height, age, or muscle mass."
    },
    {
      "q": "Who is this tool for?",
      "a": "It's built for anyone tracking a health or training target and wanting the standard formula applied correctly, without a signup or an app."
    }
  ],
  "related": [
    "https://www.revenuelab.fyi/toolbox/running-pace",
    "https://www.revenuelab.fyi/toolbox/calories-burned-running"
  ],
  "license": "CC-BY-4.0",
  "citation": "RevenueLab — Heart Rate Zone Calculator (https://www.revenuelab.fyi/toolbox/heart-rate-zones)"
}