Recovery calculator

HRV calculator — read your rMSSD against your own baseline

Enter three weeks or more of daily rMSSD readings. The page averages the last seven days and compares that against the mean and spread of everything before it, because there is no population number worth comparing you to. Free, instant, no sign-up.

Your daily rMSSD readings

Oldest first. Measure the same way every day — same position, same time, same conditions — because the comparison is only as good as the consistency behind it.

SEVEN-DAY AVERAGE
56.7ms
Suppressed
Most recent reading
58ms
Your baseline
62.9ms
Baseline standard deviation
3ms
Your normal range
60 to 65.9 ms
Half-width of the range (one SD)
3ms
Standard deviations from baseline
-2.1
Day-to-day variation (CV)
4.7%
Days behind the baseline
14
Where this week sits
Suppressed

Your seven-day average is more than one standard deviation below your baseline. That is a real move rather than a noisy day — what it does not tell you is why.

Fourteen prior days is the floor this calculator accepts. The HRV-guided training literature (Plews and colleagues) argues for a month or more before you trust the scatter, so read a short baseline loosely.

A suppressed week is consistent with a dozen different causes. Working out which one is yours is the useful part.

There is no good HRV number

Resting rMSSD runs from roughly 15 ms to 200 ms across healthy adults and declines steeply with age. Forty-five milliseconds is unremarkable for a 55-year-old and would be a red flag for a 25-year-old endurance athlete. There is no population figure to compare yourself against, so this page does not offer one — anyone selling you an absolute "good HRV" number is selling you someone else's baseline. Your normal range here is one standard deviation of your own series.

How this calculator works

The last seven readings are averaged into a weekly mean. That mean is compared against the mean and sample standard deviation of the readings before that window — never against a baseline that already contains it. The reason is not fussiness. If the recent week is included in its own baseline, a sustained shift drags the mean toward itself and inflates the standard deviation at the same time, so the very change the tool exists to detect hides inside a widened normal range. On a fourteen-day series a genuine 17 ms drop scored z = −0.95 and read as "normal": the arithmetic was correct and the answer was useless.

Why the week and not today

Single-day HRV is extremely noisy. A late meal, a drink, a warm room, or measuring standing instead of lying will move rMSSD more than a hard training week does. Plews' work on elite endurance athletes found the weekly mean tracks training adaptation while daily values mostly track measurement conditions. A calculator that reacts to today's reading is amplifying noise and calling it insight, so this one reads the band off the seven-day average and shows today's number as context.

What the scatter says

The coefficient of variation comes back alongside the mean because the spread is itself a signal. A rising CV frequently precedes a falling mean. A suspiciously flat CV during a hard training block can mean parasympathetic saturation rather than stability, which is the opposite of what a steady-looking chart suggests.

What it cannot tell you

Why. Suppressed HRV is consistent with heavy training, poor sleep, alcohol, illness, heat, altitude, and ordinary life stress, and the number does not distinguish between them. The same applies at the top of the range: a single high day is not automatically good. The band names describe what the reading is, not what it means.