---
title: "Apple Health export explorer"
canonical: "https://aifitnessapi.com/tools/apple-health-explorer"
markdown: "https://aifitnessapi.com/tools/apple-health-explorer.md"
type: "tool"
last_reviewed: "2026-11-05"
description: "Open your iPhone Health export.zip or export.xml in the browser: record types, counts, date ranges, sources, a daily chart and CSV per type. No upload."
publisher: "AIFitnessAPI — funded by KinesteX; first-party pages disclose it"
cite_as: "\"Apple Health export explorer\", AIFitnessAPI, https://aifitnessapi.com/tools/apple-health-explorer"
---

# Apple Health export explorer

> This tool opens the file the iPhone Health app makes when you tap Export All Health Data, in your browser, without uploading it. Pick the export.zip or the export.xml inside it: a background worker reads it in chunks, so a file of hundreds of megabytes does not have to fit in memory, and lists every record type with its count, first and last date, units and sources, plus the devices that wrote them, a daily chart for the type you pick and a CSV download per type. Each type identifier links to its entry in this site’s HealthKit reference. A synthetic sample lets you try it with no data of your own.

- Canonical: https://aifitnessapi.com/tools/apple-health-explorer
- Last reviewed: 2026-11-05
- Publisher: AIFitnessAPI (https://aifitnessapi.com)
- Cite as: "Apple Health export explorer", AIFitnessAPI, https://aifitnessapi.com/tools/apple-health-explorer

---

*[Interactive: the file picker, type table, daily chart and CSV downloads, in the browser at https://aifitnessapi.com/tools/apple-health-explorer; not reproduced in this mirror.]*

## Making the export

Apple’s [iPhone User Guide](https://support.apple.com/guide/iphone/share-your-health-data-iph5ede58c3d/ios) gives the steps: in the Health app, tap Summary, then your picture or initials, then Export All Health Data, and choose a method for sharing. Apple says this exports “all of your health and fitness data from Health in XML format”. Send it to a computer with whichever sharing method suits you, then open it here. The full how-to, and the equivalents for Health Connect, Garmin, Fitbit, Oura and others, is at [how to export Apple Health data](https://aifitnessapi.com/own-your-data/apple-health-export).

## What the explorer reads, and what it does not

Apple’s guide says the export is XML and stops there; Apple publishes no schema for the file that this site could find. So what follows describes this tool, not Apple’s format:

- It reads start tags named `Record`, `Workout`, `ActivitySummary` and `ExportDate`, and their attributes by name: `type`, `unit`, `value`, `sourceName`, `device`, `startDate`, `endDate`, and for workouts `workoutActivityType` and `duration`. Every other element is skipped, including the one holding date of birth and sex, which is never read.
- In a ZIP it reads the central directory and inflates only the entry named export.xml, with the browser’s own DecompressionStream; any other file in the archive is not opened. If your browser cannot unzip in the page, unzip it yourself and pick export.xml.
- Days are the calendar date written at the start of each record’s start time, the day where it happened. Nothing is converted to UTC, which would move late-evening samples to the next day.
- The chart’s default comes from Apple’s own description of each type in [the HealthKit identifier reference](https://aifitnessapi.com/healthkit-identifiers) (read from Apple’s documentation on 2026-10-02): a daily total for a type Apple calls cumulative, such as steps, and a daily mean for a discrete one, such as heart rate. A daily total adds every source, so if a phone and a watch both counted the same walk, both are in it. The type table shows how many sources wrote each type, and every CSV row keeps its source so you can filter.
- Every `Record` element is counted where it appears, including any nested inside another element.

## How this works, and what it sends

Nothing is uploaded. The file you pick stays a local file handle: it is passed to a Web Worker in this tab, read with `Blob.stream()`, and reduced to the summary you see. A CSV is a second pass over the same local file, built in memory and saved by your browser. The page has no server code, stores nothing and logs nothing; reloading discards everything. If the browser cannot start the worker, the same code runs on the page itself, slower.

The only network request the tool can make is the one you trigger with “Try the synthetic sample”, which downloads [apple-health-export-synthetic.zip](https://aifitnessapi.com/samples/apple-health-export-synthetic.zip) from this site. It is generated by `scripts/build-own-data-samples.mjs` from a fixed seed: 120 days of made-up steps, heart rate, sleep stages, weight and workouts from a “Synthetic Watch”, a “Synthetic Phone” and a “Synthetic Scale App”. It is not anyone’s data and says nothing about real exports beyond using the same element names this reader looks for.

The reader is two small modules with no dependencies, `src/lib/appleHealthExport.mjs` and `src/lib/appleHealthRead.mjs`, tested in `scripts/apple-health-export.test.mjs`: a tag split at any chunk boundary parses the same, entities decode, the skipped elements stay skipped, and the CSV row count matches the summary. For the same job in Python, see the [Apple Health notebook](https://aifitnessapi.com/own-your-data#notebooks).

A free tool from AIFitnessAPI. Exporting from every other platform is at [export your own health and fitness data](https://aifitnessapi.com/own-your-data). More at [free tools for health-app builders](https://aifitnessapi.com/tools).
