What this recovery score calculator does
Your Apple Watch already records the two most validated markers of overnight recovery — heart rate variability (HRV) and resting heart rate (RHR) — alongside your sleep. What it doesn't give you is the single number WHOOP built a business on: an answer to "should I push hard today, or take it easy?" This recovery score calculator closes that gap. Type in a handful of numbers you can read straight off the Health app and it returns a 0–100 recovery score, a plain-language band, and a breakdown of exactly which factor helped or hurt.
It is the interactive companion to our guide on getting WHOOP-style scores from Apple Health. Everything runs in your browser — this is the whole point of the site's privacy promise: your data never leaves your device.
Why "recovery" is worth a number
Raw HRV and RHR values are noisy and hard to interpret in isolation. A HRV of 48 ms means nothing until you know whether 48 is high or low for you. Recovery scoring solves that by comparing today against your own baseline: a HRV above your typical average and a resting heart rate at or below your norm are the classic signatures of a well-recovered autonomic nervous system. Layer in whether you actually slept enough and how hard you trained yesterday, and you get a readiness signal that is far more actionable than any single metric.
How the recovery score is calculated
The score is a transparent weighted blend of four sub-scores, each normalized to 0–100. We deliberately publish the formula so you can sanity-check it — nothing here is a black box.
1. HRV vs baseline — ~40% weight (log-scaled)
HRV is the strongest single input, so it carries the most weight. Because HRV is naturally right-skewed (big upward swings are common, big downward ones less so), we compare it on a log scale rather than a raw ratio — this matches how WHOOP and the HRV research literature treat it.
hrvScore = clamp( 50 + 60 × log2(ratio), 0, 100 )
At baseline (ratio = 1) you score 50. A HRV that is double your baseline pins you near 100; half your baseline drops you toward 0.
2. Resting heart rate deviation — ~25% weight
An elevated morning resting heart rate is one of the earliest signs of accumulated fatigue, illness or under-recovery, so a RHR above baseline is penalized while a RHR at or below baseline is rewarded.
rhrScore = clamp( 80 − delta × 7, 0, 100 )
Sitting right at your baseline scores 80. Every beat per minute above baseline costs ~7 points; being a couple of beats below baseline pushes you to 100.
3. Sleep fulfillment — ~25% weight
Sleep is the input you most directly control. This sub-score is simply how much of your personal sleep need you actually met last night, with a small bonus for banking extra.
then capped at 100
Hitting your full need scores 100; sleeping six hours against an eight-hour need scores 75.
4. Strain modifier — ~10% weight
Yesterday's training load doesn't change how recovered you physiologically are this morning, but it does inform the recommendation: a hard session yesterday means today's "moderate" reading deserves more caution. A rest day (strain 0) is neutral; an all-out day (strain 10) applies a modest downward nudge.
Combining them
0.40 × hrvScore +
0.25 × rhrScore +
0.25 × sleepScore +
0.10 × strainScore )
Reading your recovery bands
The result maps to three bands most athletes already recognize from WHOOP:
- 67–100 · Green · "Primed" — your nervous system has bounced back. Green light to train hard or chase a personal record.
- 34–66 · Yellow · "Moderate" — a normal day. Train, but keep intensity sensible and listen to your body.
- 0–33 · Red · "Rest day" — your body is under load. Active recovery, a walk, mobility or full rest will pay off more than pushing.
How this compares to WHOOP, Oura and Athlytic
Being honest matters here. WHOOP, Oura and Athlytic compute recovery from continuous overnight HRV sampling — hundreds of data points captured while you sleep — blended against their own multi-year, personalized baselines and, in WHOOP's case, published proprietary algorithms. This calculator works from a few numbers you type in by hand, so it necessarily captures less nuance than a device sampling you all night.
What it gives you in return is transparency and zero cost: you can see the entire formula above, it runs privately in your browser, and it uses the exact same physiological inputs (HRV, RHR, sleep) that the paid platforms lean on most heavily. Treat the number as a well-grounded estimate rather than a medical readout. As with every recovery platform, the trend over a week matters more than any single morning — feed it consistent readings and it will track your readiness reliably.