My Apple Health export is empty (or nearly)

An export that reads as empty is usually complete and does not contain what you expected. Those are different problems with different fixes. Drop the file to find out which you have.

Open your file

Drop your file here

the export.zip that looks empty

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.

Read the identifier list first

The tool lists every measurement type in the file, with counts. That single list settles most of these questions immediately: if HKQuantityTypeIdentifierStepCount shows 40,000 records and the type you are looking for is absent, the export is fine and the data was never in Health to begin with.

The five reasons, in the order they actually occur

1. The data is there, under a name you did not search for

Apple's identifiers are long and not always guessable. Sleep is HKCategoryTypeIdentifierSleepAnalysis, not "sleep". HRV is HKQuantityTypeIdentifierHeartRateVariabilitySDNN — note that it names the statistic, which matters if you are comparing it with another device's (SDNN and RMSSD are not the same quantity).

2. You unzipped it and opened the wrong file

export_cda.xml is a clinical-document rendering of a small subset and looks plausible enough to mislead. The file with your measurements is export.xml. If you opened the archive and found something short, check which one you opened.

3. The export predates the feature

The archive states HealthKit Export Version: N. Older generations simply do not contain newer data types — no ECG before the hardware existed, and no sleep stages before iOS 16, only in-bed and asleep intervals. A tool looking for Core/Deep/REM finds nothing and reports an empty result, when the export is an accurate record of what the phone had.

4. The data lived in an app that never wrote to Health

Health only exports what was written into it. A third-party sleep or training app that keeps its data in its own account contributes nothing to the archive, even though it appeared in the Health app's charts through a live integration.

5. Genuinely truncated

Rare, and it looks different: the file starts fine and stops mid-element. The tool says so explicitly rather than showing a small number and leaving you to guess — and it still shows everything before the cut.

What "empty" looks like when it really is empty

A parse that succeeds and produces zero records. That is a specific, reportable state, and the tool distinguishes it from a failure. It happens with a freshly reset phone, or an export taken from a device that has never had Health enabled.