Apple Health export.zip — what is in it and how to read it
Apple gives you a zip and no way to look inside it. Drop it below — the archive is opened and read on your device, without unzipping and without uploading.
Open your file
Drop your file here
export.zip straight from the Health app — do not unzip it
No account. No upload. The file is read on this device and never leaves it.
Nothing has been sent anywhere. 0 requests to this site, for the page's own code.
What is in the archive
| Entry | What it is |
|---|---|
export.xml | Everything. One XML element per measurement, per workout, per sleep interval. This is the file that matters and the one that is enormous. |
export_cda.xml | A clinical-document rendering of a subset. Different standard, different audience; not where your step counts are. |
workout-routes/ | One GPX per outdoor workout with GPS. Often the bulk of the archive's size by byte count. |
electrocardiograms/ | One CSV per ECG, on models that record them. |
Why it is so big, and what to do about it
export.xml is not a summary — it is the raw record. Every heart-rate reading
your Watch has ever taken is an element with a type, a source, a unit, a start date and an
end date. The markup costs more bytes than the number does.
The consequence is that most tools which ask you to unzip it and open it fail: text editors will not load multi-gigabyte files, and spreadsheets do not read XML. Streaming the entry out of the zip without extracting it — which is what this page does — makes size a non-issue. A 6.3 GB export goes through a browser tab in about 115 seconds using roughly 170 MB of memory, because nothing is ever held whole.
The export format has generations
The archive carries a line reading HealthKit Export Version: N, and N matters
more than it looks. A version 3 export predates ECG hardware entirely, so no amount of
searching will find ECG data in it. Sleep is the sharper case: exports from before iOS 16
contain only InBed and Asleep, with no staging at all, while later
ones carry Core, Deep and REM.
So "my export has no sleep stages" is very often a statement about the phone that produced it rather than about the export being broken. See exports that look empty and how sleep staging differs across devices.
What the tool tells you
The identifiers actually present, with counts. That is the fastest way to answer "does this
export contain what I need" — if HKQuantityTypeIdentifierHeartRateVariabilitySDNN
is not in the list, no downstream tool is going to find HRV in it.