Apple Health Export Format Reference
The exact CSV columns and JSON schemas vitalina produces when you export your Apple Health data - plus a searchable dictionary of all 106 exportable metrics and their units. A reference for developers, researchers, and anyone who wants to know exactly what they get before they export.
Last updated: June 27th, 2026
By Martin
Co-founder, vitalina

vitalina exports your Apple Health data in two machine-readable formats. Both can be opened, analyzed, or imported into other tools.
vitalina exports in three formats. This page documents the two machine-readable ones; for guided, format-specific walkthroughs see Export to CSV, Export to JSON, and Export to PDF.

CSV (Comma-Separated Values)
Opens directly in Excel, Google Sheets, Numbers, or any spreadsheet app. Uses RFC 4180 escaping and UTF-8 encoding.
Health Records
Heart Rate, Steps, Blood Pressure, and most other metrics
| Column | Description |
|---|---|
| Date | ISO 8601 timestamp |
| Type | Data type name |
| Value | Numeric measurement |
| Unit | Unit of measurement (bpm, count, kg, …) |
| Source | App or device that recorded the data |
| Device | Hardware device name (if available) |
Sleep Analysis
Nightly sleep session breakdown
| Column | Description |
|---|---|
| Date | Night date (yyyy-MM-dd) |
| Total Sleep | Total sleep duration (h:mm) |
| Time in Bed | Total time in bed (h:mm) |
| REM | REM sleep duration (h:mm) |
| REM % | REM as percentage of total sleep |
| Deep | Deep sleep duration (h:mm) |
| Deep % | Deep as percentage of total sleep |
| Core | Core (light) sleep duration (h:mm) |
| Core % | Core as percentage of total sleep |
| Awake | Time awake during the night (h:mm) |
| Heart Rate | Average sleeping heart rate (bpm) |
| Respiratory Rate | Average respiratory rate (breaths/min) |
| Source | Recording app or device |
Workouts
Individual workout sessions
| Column | Description |
|---|---|
| Date | ISO 8601 start timestamp |
| Type | Workout type (Running, Cycling, …) |
| Duration | Elapsed time (h:mm:ss or m:ss) |
| Distance (km) | Total distance in kilometers |
| Energy (kcal) | Active calories burned |
| Avg HR | Average heart rate (bpm) |
| Min HR | Minimum heart rate (bpm) |
| Max HR | Maximum heart rate (bpm) |
| Cadence | Steps or revolutions per minute |
| Elevation Gain | Meters climbed |
| Temperature | Ambient temperature (°C) |
| Source | Recording app or device |
Empty cells mean the data was not recorded for that entry. Most spreadsheet apps handle this gracefully.
JSON (JavaScript Object Notation)
Structured format for developers, data scientists, and automated pipelines. Pretty-printed with sorted keys.
Health Records
Heart Rate, Steps, Blood Pressure, and most other metrics
{
"dataType": "Heart Rate",
"exportDate": "2025-01-15T10:30:00Z",
"exportVersion": "1.0",
"summary": {
"average": 72.5,
"count": 1440,
"max": 165.0,
"min": 52.0,
"unit": "bpm"
},
"timeWindow": {
"end": "2025-01-15T00:00:00Z",
"start": "2025-01-01T00:00:00Z"
},
"records": [
{
"date": "2025-01-15T08:30:00Z",
"dataType": "Heart Rate",
"id": "...",
"sourceName": "Apple Watch",
"unit": "bpm",
"value": 72.0
}
]
}Sleep Analysis
Nightly sleep sessions with stages
{
"dataType": "Sleep Analysis",
"exportDate": "2025-01-15T10:30:00Z",
"exportVersion": "1.0",
"timeWindow": { ... },
"sessions": [
{
"date": "2025-01-14T22:30:00Z",
"totalSleepDuration": 27000,
"timeInBed": 28800,
"remSleep": {
"duration": 5400,
"percentage": 20.0
},
"deepSleep": {
"duration": 6750,
"percentage": 25.0
},
"coreSleep": {
"duration": 14850,
"percentage": 55.0
},
"awakeTime": 1800,
"sleepHeartRate": 58.0,
"respiratoryRate": 14.5,
"sourceName": "Apple Watch"
}
]
}Workouts
Detailed workout sessions with metrics
{
"dataType": "Workouts",
"exportDate": "2025-01-15T10:30:00Z",
"exportVersion": "1.0",
"timeWindow": { ... },
"workouts": [
{
"date": "2025-01-15T07:00:00Z",
"workoutType": "Running",
"duration": 1920,
"totalDistance": 5.12,
"totalEnergyBurned": 385.0,
"heartRate": {
"average": 152.0,
"max": 178.0,
"min": 120.0
},
"cadence": 172.0,
"elevationGain": 45.0,
"sourceName": "Apple Watch"
}
]
}Durations are in seconds. Null fields indicate data was not recorded. Dates use ISO 8601 format.
Every exportable metric (106)
vitalina can export 106 distinct Apple Health metrics across nine categories. Each is listed below with the unit it's exported in (metric, with the imperial unit after the slash where it differs). Search to find a specific metric, or browse by category - category names link to a step-by-step export guide where one exists.
Vitals
17Heart, circulatory, and respiratory measurements from iPhone, Apple Watch, and connected devices.
Daily movement, energy, and exercise rings.
Mobility
9Gait, balance, and walking-quality metrics used in physical therapy and rehab.
Weight, composition, and body-size metrics for your dietician or GP.
Nightly sleep sessions with stage breakdown. Exported with a dedicated schema.
Individual workout sessions with duration, distance, energy, and heart rate. Exported with a dedicated schema.
Energy, macronutrients, vitamins, and minerals logged in the Health app or via third-party food trackers.
Menstrual cycle, fertility, and symptom logs for your OB-GYN.
State of Mind mood logs and Mindful Minutes meditation sessions.
Export your own data
vitalina reads your Apple Health data locally on your iPhone and generates these CSV and JSON files in seconds - no account, no cloud upload. It's free to download and try.
Frequently asked questions
What file formats does vitalina export Apple Health data in?
vitalina exports your Apple Health data as PDF (a human-readable report with charts), CSV (for Excel, Google Sheets, and Numbers), and JSON (structured records for developers and data pipelines). CSV and JSON share the schemas documented on this page.
What columns are in a vitalina Apple Health CSV export?
Most metrics use the Health Records schema: Date (ISO 8601), Type, Value, Unit, Source, and Device. Sleep Analysis and Workouts have their own richer column sets - sleep includes per-stage durations and percentages, and workouts include distance, energy, heart-rate range, cadence, and elevation.
Are durations in the JSON export in seconds or minutes?
All durations in the JSON export are in seconds. Null fields indicate the data was not recorded, and all dates use ISO 8601 format. In CSV, sleep and workout durations are formatted as h:mm or h:mm:ss for readability.
What does an empty cell in the CSV mean?
An empty cell means the data was not recorded for that entry - for example, a workout without a heart-rate sensor leaves the heart-rate columns blank. Most spreadsheet apps handle empty cells gracefully.
How many Apple Health metrics can vitalina export?
vitalina can export 106 distinct Apple Health metrics across nine categories: Vitals, Activity, Mobility, Body Measurements, Sleep, Workouts, Nutrition, Cycle Tracking, and Mental Health. Each is listed with its unit in the metric dictionary above.
Is the data encoded in a standard way?
Yes. CSV files use RFC 4180 escaping and UTF-8 encoding, so they open cleanly in any spreadsheet app. JSON is pretty-printed with sorted keys, making it easy to diff, parse, and import into analysis tools like pandas or R.
Other Apple Health export guides
Step-by-step tutorials for every metric vitalina can export.
- Export Blood PressureSystolic and diastolic readings for your cardiologist.
- Export Heart RateResting, active, and HRV for your cardiologist or sports medicine doctor.
- Export Blood GlucoseCGM and fingerstick readings for your endocrinologist.
- Export Sleep DataSleep stages and duration for sleep specialists.
- Export WeightWeight, BMI, and body fat trends for your dietician or GP.
- Export ActivitySteps, distance, and active energy for physical therapy or rehab.
- Export WorkoutsWorkout sessions with duration, calories, and heart rate.
- Export Cycle TrackingPeriod flow, spotting, cramps, and basal body temperature for your OB-GYN.
- Export Calories & NutritionDaily calories, macros, vitamins, and minerals for your dietician or nutritionist.
- Export ECGApple Watch ECG strips with waveform, classification, and average heart rate for your cardiologist.
- Export Mental Health (State of Mind)Apple Health mental health logs with valence, emotion labels, and life-context associations for your therapist or psychiatrist.