Friel Heart Rate Zone Calculator
Calculate Friel heart rate zones online from threshold heart rate or test averages to pace runs, rides, and structured time-in-zone workouts.Friel Training Zones
| Zone | Percent of LTHR | BPM range | Purpose | Copy |
|---|---|---|---|---|
| {{ z.id }} | {{ z.percent_display }} | {{ z.bpm_display }} | {{ z.cue }} |
| Zone | Minutes | Percent | Intent | Copy |
|---|---|---|---|---|
|
No session plan yet
Set a session duration above 0 minutes to build time-in-zone rows.
|
||||
| {{ row.id }} | {{ row.minutes_display }} | {{ row.percent_display }} | {{ row.intent }} | |
Introduction
Friel heart rate zones give a hard session, a steady session, and an easy session different meanings because they are anchored to lactate threshold heart rate, or LTHR, rather than to maximum heart rate. That matters in day-to-day training because threshold usually does a better job of separating truly easy aerobic work from tempo, threshold, and above-threshold efforts.
This calculator turns that threshold anchor into a full working set for running or cycling. You can enter a known threshold, estimate one from a field-test average, add an optional beat-per-minute offset, check a current heart rate against the zone table, and split a planned workout into time in zone. The same result state also feeds the table, chart, zone map, and JSON views.
It is useful when pace or power is noisy, when terrain keeps changing, or when you want a simple threshold-based reference before building a workout. A rider can see whether an endurance ride is drifting into tempo. A runner can check whether a threshold interval is still sitting below the top of Zone 4 or has already tipped into Zone 5a.
The tool also keeps the workflow practical. Zone rows can be copied one by one, both tables can be copied or downloaded as CSV, both tables can be exported as DOCX, both chart views can be downloaded as images or CSV, and the whole result can be copied or saved as JSON. Because this tool has no server-side processing, the calculation and exports stay in your browser.
Heart rate is still context-sensitive. A threshold test that is old, badly paced, or taken in a different sport can shift every zone. Even with a good threshold, heat, dehydration, fatigue, illness, and medication can move heart rate away from the effort you expect. Use the result as training guidance, not as a medical judgment.
If a zone target feels clearly wrong, or if exercise causes chest pain, dizziness, severe shortness of breath, or other concerning symptoms, stop and get appropriate medical advice.
This calculator supports workout planning and interpretation. It does not diagnose illness or determine whether an exercise intensity is medically safe for you.
Technical Details
Joe Friel's classic heart rate zone model starts with LTHR and then sets separate running and cycling bands as percentages of that threshold. The idea is simple: once threshold is known, each training band describes a different physiological purpose. The running and cycling tables are close, but not identical, so using the right sport matters if you want the ranges to line up with the way Friel-style workouts are usually prescribed.
This calculator resolves threshold in two stages. It first chooses a base source, either the manual threshold or a derived threshold from a test average multiplied by the selected test factor. It then adds any discipline offset and clamps the applied value to the tool's supported range. After that, the script multiplies the applied threshold by the lower and upper percent for each zone, rounds the beats per minute to whole numbers, and reuses those rounded values for the table, the headline zone, the charts, and the exported payloads.
The display is deliberately concrete. Published Friel tables are often written with open-ended language such as "less than 85%" or "more than 106%." This calculator instead renders closed ranges for every band so the table, chart labels, and CSV exports always have explicit lower and upper values. In practice that means Zone 1 begins at 65% in this tool and Zone 5c stops at 112%, which is a display choice made so every view can stay finite and readable.
| Test method | Cycling factor | Running factor | What the tool does |
|---|---|---|---|
| 20-minute field test | 0.95 | 0.98 | Reduces a shorter hard effort to an estimated threshold before zones are built. |
| 30-60 minute TT or race | 1.00 | 1.00 | Treats the supplied average as threshold directly. |
| Long steady tempo | 0.93 | 0.97 | Applies a discount before using the average as the base threshold. |
| Lab or direct LTHR | 1.00 | 1.00 | Uses the number as entered, while still allowing an optional offset. |
| Zone | Cycling | Running | Typical use in this tool |
|---|---|---|---|
| Z1 | 65-81% | 65-85% | Recovery and easy aerobic work. |
| Z2 | 82-89% | 86-89% | Endurance work you can repeat often. |
| Z3 | 90-93% | 90-94% | Tempo effort and muscular endurance. |
| Z4 | 94-99% | 95-99% | Sustained sub-threshold work close to race pace. |
| Z5a | 100-102% | 100-102% | Short work just above threshold. |
| Z5b | 103-106% | 103-106% | VO2 max style intervals. |
| Z5c | 107-112% | 107-112% | Very hard anaerobic efforts and short sprint work. |
| Session focus | Built-in mix | What it is good for |
|---|---|---|
| Recovery | Z1 70%, Z2 30% | Easy days and low-stress aerobic work. |
| Endurance base | Z1 20%, Z2 55%, Z3 15%, Z4 10% | Longer steady sessions with most time below tempo. |
| Tempo | Z1 15%, Z2 25%, Z3 40%, Z4 15%, Z5a 5% | Controlled steady work with a strong middle-zone bias. |
| Threshold | Z1 10%, Z2 20%, Z3 25%, Z4 25%, Z5a 15%, Z5b 5% | Workouts centered on sustained high aerobic and near-threshold effort. |
| VO2 / 5K | Z1 10%, Z2 15%, Z3 15%, Z4 20%, Z5a 20%, Z5b 20% | Harder interval days with more time above threshold. |
Everyday Use & Decision Guide
Start with the threshold source, because everything else depends on it. If you already know your LTHR from a recent race, lab test, or repeatable field test, enter that number directly and keep the process simple. If what you have is only an average from a shorter test, switch on the test override, choose the method that matches the effort you actually did, and let the tool derive threshold for you.
Keep the discipline tied to the source of the threshold unless you have a good reason not to. Friel recommends separate thresholds for running and cycling because the zone cut points differ and many athletes can hold slightly different heart rates in each sport. When a run feels easy but the calculator says Zone 3, or a ride feels steady but the table looks too low, a mismatched discipline is often the first thing to check.
The offset control is best treated as a deliberate translation step, not as a way to force the answer you hoped to see. Use it when you know you are carrying a threshold from one sport into another, or when repeated testing shows a small consistent difference that you want reflected in the applied threshold. If you do not already know why the offset should be there, zero is usually the right starting point.
Current heart rate and session focus answer different questions. Current heart rate tells you where you are right now. Session focus tells you how the planned duration should be distributed. Recovery and endurance presets keep the session low. Tempo and threshold push more minutes into the middle and upper-middle bands. The VO2 / 5K preset shifts even more time upward for harder interval work.
Use the outputs together instead of relying on a single badge. The summary line tells you the applied threshold and where it came from. The zone table shows exact bpm bands. The session plan converts percentages into minutes. The two charts make it easier to see zone width and where a live reading sits relative to threshold. If one surface looks wrong, the others usually show whether the issue is the threshold source, the sport, or just a current heart rate being distorted by conditions.
Step-by-Step Guide
- Choose Discipline first so the calculator knows whether to use the cycling or running zone table.
- Enter Threshold HR if you already know your LTHR. If you only have an average from a recent test, open Advanced, enter Test average, choose the correct Test method, and leave Apply test override enabled.
- Leave Discipline offset at zero unless you intentionally want to translate the threshold across sports or correct a known repeatable difference.
- Add Current HR if you want the tool to classify a live reading into a zone and plot it on the zone map.
- Enter Session duration and choose a Session focus if you want a time-in-zone plan instead of only a zone table.
- Review the summary, tables, charts, and JSON together, then export the format that fits your workflow.
Interpreting Results
The applied threshold is the number that matters most. Every bpm band, the headline status, the zone map, and the session plan are derived from it. If the threshold source line under the summary names a test method and average, that derived value is driving the result. If it says manual LTHR, the manual threshold is in charge.
Zone boundaries are useful markers, not physiological cliffs. Because the tool rounds each boundary to a whole beat, a reading that sits on an edge can move by one zone when the threshold changes slightly or when the monitor bounces by one bpm. Borderline cases should be read with common sense and with awareness of how the workout actually feels.
- Headline zone: If a current heart rate is supplied, the large summary line switches from threshold display to the detected zone and its cue.
- Zone table: This is the clearest reference for exact percent-of-threshold and bpm ranges.
- Session plan: The minutes are a distribution template for the selected focus, not a second-by-second workout script.
- Zones Chart: The horizontal bars make it easy to compare how wide each zone is in bpm and where threshold or current heart rate sits against them.
- Friel Zone Map: The map plots percent of threshold on one axis and heart rate on the other, then overlays the current reading if one is available.
If the classification still feels off, look at the conditions before assuming the zones are wrong. Heart rate can lag during short intervals, drift upward in heat, rise when you are dehydrated or fatigued, and behave differently when you are sick or using certain medications. When symptoms are concerning, the right next step is not to force a different zone. It is to stop and make sure exercise is appropriate in the first place.
Worked Examples
Runner deriving threshold from a 20-minute test
A runner finishes a hard 20-minute field test with an average heart rate of 176 bpm. With running selected and the 20-minute method chosen, the calculator applies the 0.98 factor and builds zones from an estimated threshold of 172.48 bpm, displayed as 172 bpm. Zone 4 then lands at about 163 to 170 bpm, which gives the athlete a workable threshold target for sustained intervals.
Cyclist planning a steady endurance ride
A cyclist enters a known threshold of 158 bpm, leaves the offset at zero, and sets a 75-minute ride to Endurance base. The plan shifts most of the time into Zones 1 and 2, while still leaving smaller portions in Zones 3 and 4. That is useful when the workout goal is durability rather than speed, because the table and plan both reinforce that most of the session should stay controlled.
Cross-sport translation check
An athlete uses a bike-tested threshold to sanity-check an easy run and notices the current heart rate keeps showing higher than expected. Before deciding the run is too hard, the athlete switches the discipline to running and reviews whether the threshold really came from a run test. If not, a small offset may help, but the better long-term fix is usually separate thresholds for each sport.
FAQ:
Should I enter maximum heart rate or use 220 minus age?
No. This calculator is built around lactate threshold heart rate, not maximum heart rate. Using an age-based max heart rate estimate in the threshold field will distort every zone.
Why do running and cycling produce different zone ranges?
The tool uses different Friel-style percentage bands for running and cycling, and athletes often have different thresholds in each sport. The same number is not always the right anchor for both.
Why does this calculator show fixed lower and upper limits for every zone?
The charts and exports need explicit boundaries, so the tool renders every band as a closed range instead of using open-ended wording for the top and bottom zones.
When should I retest threshold?
Retest when training has changed your fitness noticeably, when your workouts are being classified in ways that no longer fit how they feel, or when the last threshold value is old enough that you no longer trust it.
Why is the session plan empty or the result blocked by an error?
The tool needs a valid threshold above 0 bpm. It also rejects negative duration, negative test averages, and current heart rates above the supported range.
Glossary:
- LTHR
- Lactate threshold heart rate, the threshold value used to build every zone in this calculator.
- Threshold source
- The label that tells you whether the applied threshold came from the manual entry or from a test average and factor.
- Test override
- The setting that lets a test average replace the manual threshold as the base for the calculation.
- Discipline offset
- A beat-per-minute adjustment added after the threshold source is resolved.
- Time in zone
- The number of planned minutes assigned to each zone by the selected session focus.
- Friel Zone Map
- The chart view that plots percent of threshold against heart rate and can place the current reading inside the displayed zone regions.
References:
- Joe Friel's Quick Guide to Setting Zones, TrainingPeaks.
- Total Heart Rate Training, Joe Friel.
- How to Avoid Overheating During Exercise, MedlinePlus.