Heart rate variability (HRV) and resting heart rate (RHR) are two of the most accessible objective markers for people with post-viral conditions, POTS and ME/CFS. Most wearables measure both overnight. Tracked over weeks, they can show whether an intervention or a change in pacing is shifting anything, in a way that a single day's number never can.

You do not need to enter any history. Start today and the medians and charts build themselves as you go. If you already have readings in a wearable app or a spreadsheet, the import section below takes a CSV so nothing needs retyping.

Log a reading

One entry per day. Logging a date that already exists updates it. Use whichever of the two you have.

Import readings

Bring in history from a wearable export, the old Google Sheets template, or anything with a date column and a column of numbers. Choose a file or paste rows, check the preview, then import. Dates you already have are updated, everything else is added.

Or paste rows instead
Getting a file out of your device or app

Makers move these menus around, so treat this as a starting point and check their help pages if something has changed. Values in "ms" for HRV and "bpm" for resting heart rate are all the importer needs. Mixed columns it does not recognise are ignored.

Garmin
On the Garmin Connect website, open Reports, then Health and Fitness. The Resting Heart Rate and HRV Status reports each have an export option once you have picked a date range. Import the two files one after the other; the second updates the same dates with the missing column.
Oura
The Oura web app has a Trends view where you can select Average HRV and Lowest Resting Heart Rate for a date range and download them as CSV.
Whoop
Request a data export from the app's settings. The cycles file has a "Heart rate variability (ms)" and a "Resting heart rate (bpm)" column, which the importer recognises.
Apple Watch
Apple Health only exports a very large XML archive, which this page cannot read. A small app such as Health Auto Export, or an iOS Shortcut using "Find Health Samples", can write just HRV and resting heart rate to a CSV. Apple reports HRV as SDNN rather than RMSSD, which is fine for tracking your own trend but not comparable with other devices.
Fitbit and Google Pixel Watch
Fitbit's export goes through Google Takeout and splits HRV into one small file per night, which is the least convenient of the lot. For a short backlog, the quickest route is to open Health Metrics in the app and use the paste box above with one line per day.
Polar
Polar Flow's account export produces JSON files rather than CSV. If you also log Nightly Recharge values in a spreadsheet, export that instead.
The Google Sheets template
If you used the earlier spreadsheet version of this tracker, open it and choose File, Download, Comma Separated Values. The date, HRV and RHR columns are picked up automatically.
Any spreadsheet
Select the date and value columns, copy, and paste into the box above. Tab-separated cells copied from Excel, Numbers or Google Sheets are read directly.

Your data

Everything on this page lives in your browser's local storage on this device. It survives closing the tab, but not clearing site data or switching device. Export a CSV now and then, and to move to another device import that file there.

Getting useful numbers

  • Same method every day. Overnight readings from a wearable and a morning reading with a chest strap are different measurements. Pick one and stick with it, or the trend is noise.
  • Your baseline is the only comparison. Devices use different calculations and published "normal" ranges are wide. The question is whether your median is moving.
  • Give it weeks. A single low night after a bad day is expected. A 7-day median falling for a couple of weeks, or a resting heart rate creeping up, is the kind of pattern worth noticing.
  • Note what changed. The note field is for medication changes, infections, travel, a crash. Those notes are what make the chart explain itself later.

Pairing this with the symptom diary lets you set objective markers against how you actually felt. For the reasoning behind tracking HRV at all, and its limits, see HRV as a tracking metric.

About this page

This page keeps your record and does arithmetic on it. It does not diagnose anything, and a change in HRV or resting heart rate on its own does not mean something is wrong or right. If you see a pattern that worries you, the export button gives you a file to take to your clinician.