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

Martin

By Martin

Co-founder, vitalina

A path winding up a hill surrounded by yellow wildflowers - a clear route through your Apple Health data

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.

vitalina's in-app Export Formats screen showing a searchable list of Apple Health data types, each with its unit, a plain-language description, an example value, and the CSV and JSON it exports as
vitalina's built-in Export Formats reference - every data type shows its unit, a description, an example, and the exact CSV and JSON it produces.

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

ColumnDescription
DateISO 8601 timestamp
TypeData type name
ValueNumeric measurement
UnitUnit of measurement (bpm, count, kg, …)
SourceApp or device that recorded the data
DeviceHardware device name (if available)

Sleep Analysis

Nightly sleep session breakdown

ColumnDescription
DateNight date (yyyy-MM-dd)
Total SleepTotal sleep duration (h:mm)
Time in BedTotal time in bed (h:mm)
REMREM sleep duration (h:mm)
REM %REM as percentage of total sleep
DeepDeep sleep duration (h:mm)
Deep %Deep as percentage of total sleep
CoreCore (light) sleep duration (h:mm)
Core %Core as percentage of total sleep
AwakeTime awake during the night (h:mm)
Heart RateAverage sleeping heart rate (bpm)
Respiratory RateAverage respiratory rate (breaths/min)
SourceRecording app or device

Workouts

Individual workout sessions

ColumnDescription
DateISO 8601 start timestamp
TypeWorkout type (Running, Cycling, …)
DurationElapsed time (h:mm:ss or m:ss)
Distance (km)Total distance in kilometers
Energy (kcal)Active calories burned
Avg HRAverage heart rate (bpm)
Min HRMinimum heart rate (bpm)
Max HRMaximum heart rate (bpm)
CadenceSteps or revolutions per minute
Elevation GainMeters climbed
TemperatureAmbient temperature (°C)
SourceRecording 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.

Heart, circulatory, and respiratory measurements from iPhone, Apple Watch, and connected devices.

Heart Ratebpm
Resting Heart Ratebpm
Walking Heart Ratebpm
Heart Rate Variabilityms
Heart Rate Recoverybpm
AFib Burden%
Blood Pressure (Systolic)mmHg
Blood Pressure (Diastolic)mmHg
Blood Oxygen%
Blood Glucosemg/dL
Insulin DeliveryIU
Body Temperature°C / °F
Respiratory Ratebreaths/min
VO2 MaxmL/kg/min
Low Heart Rate Eventsevent
High Heart Rate Eventsevent
ECGµV

Daily movement, energy, and exercise rings.

Stepscount
Distancekm / mi
Flights Climbedcount
Active Energykcal
Basal Energykcal
Exercise Minutesmin
Stand Timemin

Mobility

9

Gait, balance, and walking-quality metrics used in physical therapy and rehab.

Walking Speedm/s / ft/s
Walking Steadiness%
Walking Asymmetry%
Step Lengthcm / in
Double Support %%
Stair Ascent Speedm/s / ft/s
Stair Descent Speedm/s / ft/s
Six-Minute Walk Distancem / ft
Number of Times Fallencount

Weight, composition, and body-size metrics for your dietician or GP.

Weightkg / lbs
Heightcm / ft/in
BMIcount
Body Fat Percentage%
Lean Body Masskg / lbs
Waist Circumferencecm / in

Nightly sleep sessions with stage breakdown. Exported with a dedicated schema.

Sleephr
Breathing DisturbancesiOS 18+count

Individual workout sessions with duration, distance, energy, and heart rate. Exported with a dedicated schema.

Workoutssession

Energy, macronutrients, vitamins, and minerals logged in the Health app or via third-party food trackers.

Dietary Energykcal
WatermL / fl oz
Proteing
Carbohydratesg
Fiberg
Sugarg
Total Fatg
Saturated Fatg
Monounsaturated Fatg
Polyunsaturated Fatg
Cholesterolmg
Sodiummg
Caffeinemg
Vitamin Amcg
Vitamin B1 (Thiamin)mg
Vitamin B2 (Riboflavin)mg
Vitamin B3 (Niacin)mg
Vitamin B5 (Pantothenic Acid)mg
Vitamin B6mg
Vitamin B7 (Biotin)mcg
Vitamin B9 (Folate)mcg
Vitamin B12mcg
Vitamin Cmg
Vitamin Dmcg
Vitamin Emg
Vitamin Kmcg
Calciummg
Chloridemg
Chromiummcg
Coppermg
Iodinemcg
Ironmg
Magnesiummg
Manganesemg
Molybdenummcg
Phosphorusmg
Potassiummg
Seleniummcg
Zincmg

Menstrual cycle, fertility, and symptom logs for your OB-GYN.

Menstrual Flowevent
Spottingevent
Cervical Mucus Qualityevent
Ovulation Testevent
Progesterone Testevent
Pregnancy Testevent
Lactationevent
Sexual Activityevent
Basal Body Temperature°C / °F
Abdominal Crampsevent
Acneevent
Bladder Incontinenceevent
Bloatingevent
Breast Painevent
Fatigueevent
Headacheevent
Hot Flashesevent
Lower Back Painevent
Mood Changesevent
Nauseaevent
Pelvic Painevent
Sleep Changesevent
Vaginal Drynessevent

State of Mind mood logs and Mindful Minutes meditation sessions.

Mindful Minutesmin
State of Mindstructured record

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.