HealthSave Get on App Store

If you used Apple Health's "Export All Health Data" and got a giant export.xml you can't open in Excel, that's expected — Apple's native export is a single nested XML blob, not a spreadsheet. To get clean, per-metric CSV you have two routes: parse that XML yourself, or let HealthSave read your Apple Health data on-device and emit ready-to-open CSV (and JSON) directly. This guide explains exactly what Apple gives you, why, and how to get usable files.

I'm Umut. I built HealthSave's export specifically because Apple's XML defeated me the first time I tried to chart my own resting heart rate.

What Apple's native export actually produces

In the Health app: tap your profile picture → Export All Health Data. After a wait (it can take minutes on a large history), you get export.zip. Inside is export.xml — one file containing all of your health data, every type, mixed together as nested XML records like <Record type="HKQuantityTypeIdentifierHeartRate" .../>.

The practical problems:

So if your goal is "chart my steps in Sheets" or "feed HRV into a notebook," the raw export is the wrong starting point.

Why it comes out this way

HealthKit stores many data types (heart rate, steps, sleep, dozens more) with rich per-sample metadata — source device, units, start/end timestamps. The native export is a faithful, complete dump of that structure, optimized for completeness and re-import into Apple's ecosystem, not for human reading or analysis. That's a reasonable design goal for a backup; it's just not what you want for a spreadsheet.

Route 1: parse the XML yourself

If you're comfortable with code, you can extract the zip and parse export.xml (Python's xml.etree.ElementTree or a streaming parser like lxml for large files), filter <Record> elements by type, and write per-metric CSVs. It's doable, but be ready for: huge file sizes that need streaming (not loading the whole tree into memory), normalizing units, and handling the start/end timestamps and source attributes per sample. For one-off curiosity it's fine; for repeated exports it's a chore you'll dread.

Route 2: let HealthSave read HealthKit directly (no XML)

HealthSave skips the XML entirely. Instead of post-processing Apple's blob, it reads HealthKit on your device and writes the files you choose:

  1. Install HealthSave (free) and grant read access to Apple Health. It's read-only — it never writes to or modifies your records.
  2. Choose your metrics. It reads 30+ HealthKit data types and 80+ workout types — heart rate, resting HR, HRV, steps, distance, sleep, SpO2, calories, weight, and more. Pick just the ones you want.
  3. Choose a date range. Unlike Apple's all-or-nothing dump, you export exactly the window you need.
  4. Pick a format: CSV (opens straight in Excel/Sheets/Numbers) or JSON (for scripts and APIs). Both are free. (A formatted PDF report is also available with Pro.)
  5. Export and share via the iOS share sheet to Files, Mail, AirDrop, Drive, iCloud, or Dropbox.

Everything happens on-device — your health data doesn't leave the phone unless you export the file or sync it to a destination you set.

What lands in the CSV

When you export, say, heart rate, you get a tidy table instead of nested XML: a row per reading, with the timestamp and the value (and, depending on the metric, the unit). One column for date/time, one for the value — exactly the shape you'd want to chart or pivot. Because you selected the metric and date range, you don't have to filter anything out afterward.

Apple's XML vs HealthSave CSV/JSON

Apple "Export All" HealthSave
Output One export.xml blob Per-metric CSV / JSON
Opens in a spreadsheet No Yes (CSV)
Pick metrics No Yes
Pick date range No Yes
Android-openable No Yes (CSV/JSON are universal)
Effort to get a usable file Write a parser Tap export

Honest limits

Related

Get HealthSave

Free to download, no account. Get clean CSV/JSON in a couple of taps instead of fighting XML.

Download HealthSave on the App Store


By Umut — developer of HealthSave. I built HealthSave because I wanted my own Apple Health data out of its silo and into my homelab. I use it every day.

HealthSave: Export Health Data — on iPhoneGet on the App Store