{% set zones = fitness_zones(current_user) %}
RUNNING FITNESS

Heart-rate zones

{{ zones.source }}{% if zones.max_hr %} · {{ zones.max_hr }} bpm{% endif %}

{% for label in zones.labels %}Z{{ loop.index }}: {{ label }} bpm{{ ' · ' if not loop.last }}{% endfor %}

{% for boundary in zones.boundaries %}{% endfor %}

Automatic mode uses 220 minus age, or 190 bpm without a birthday. Zones begin at 65%, 80%, 87% and 95% of maximum HR (rounded to the nearest bpm). These are Stride's published defaults, which may differ from Strava. Age-based zones update on your birthday. Manual settings remain fixed until edited.

New runs and rest days update the fitness graph automatically. Zone edits recalculate all historical scores using the current zones. Existing three-band Stats settings are independent.