Naar de inhoud
Exporteren naar CSV

Zo exporteer je Apple Health-gegevens naar CSV

De Gezondheid-app exporteert geen CSV: hij maakt een export.zip met je gegevens in XML (Overzicht, je foto, “Exporteer alle gezondheidsgegevens”). Voor CSV zet je die XML om met een script of gebruik je een app uit de App Store die je gezondheidsgegevens leest en CSV schrijft. Hieronder staan beide routes, met een script dat we hebben getest op een bestand met 1 miljoen records.

Door het telo-team · Gecontroleerd op

Exporteren vanuit de Gezondheid-app (officieel, gratis)

Dit is de enige export die Apple documenteert. Hij bundelt alles wat de Gezondheid-app bewaart, zonder keuze van meting of periode.

  1. Open de Gezondheid-app op je iPhone.
  2. Tik op “Overzicht” en daarna rechtsboven op je foto of initialen.
  3. Scrol naar de onderkant van je profiel en tik op “Exporteer alle gezondheidsgegevens”.
    Profiel van de Gezondheid-app, helemaal naar beneden gescrold, met de blauwe knop om alle gezondheidsgegevens te exporteren onder het onderdeel Privacy (Engelse interface)
    Profiel van de Gezondheid-app, Engelse interface. iPhone-simulator, iOS 27, 2026-11-14.
  4. Tik in de bevestigingsmelding op “Exporteer”. Met jaren aan gegevens kan het klaarmaken van het bestand een paar minuten duren.
    Melding die vraagt of je je gezondheidsgegevens echt wilt exporteren, met de knoppen om te annuleren en te exporteren (Engelse interface)
    De bevestigingsmelding, Engelse interface. iPhone-simulator, iOS 27, 2026-11-14.
  5. Het deelmenu toont het bestand “export”, een zip-archief. Bewaar het in de Bestanden-app, de makkelijkste manier om het later op de computer te openen.
    Deelmenu met het zip-archief export bovenaan en de acties om te kopiëren, tags toe te voegen en in Bestanden te bewaren (Engelse interface)
    Het deelmenu, Engelse interface. De 2 kB komt van een lege simulator; een echte export is veel groter. iOS 27, 2026-11-14.
  6. Pak export.zip uit op de computer. De records staan in apple_health_export/export.xml.

export.xml met Python omzetten naar CSV

export.xml bewaart elke meting als een Record-regel met type, eenheid, datums en waarde. Het script hieronder leest het bestand als stream, kiest één gegevenstype en schrijft een CSV met begin, einde, waarde, eenheid en bron. Je hebt alleen Python 3 nodig, er hoeft niets geïnstalleerd te worden.

  1. Bewaar de code hieronder als to_csv.py naast de map apple_health_export.
  2. Voer in Terminal, in die map, uit: python3 to_csv.py apple_health_export/export.xml HKQuantityTypeIdentifierStepCount
  3. De CSV komt in dezelfde map, met de naam van het gegevenstype, en de laatste geprinte regel zegt hoeveel records er zijn geschreven. Vervang HKQuantityTypeIdentifierStepCount door het type dat je wilt, bijvoorbeeld HKQuantityTypeIdentifierHeartRate voor hartslag.
python
import csv, sys
import xml.etree.ElementTree as ET

src, want = sys.argv[1], sys.argv[2]  # export.xml HKQuantityTypeIdentifierStepCount
rows = 0
with open(want + ".csv", "w", newline="", encoding="utf-8-sig") as out:
    w = csv.writer(out)
    w.writerow(["startDate", "endDate", "value", "unit", "sourceName"])
    events = ET.iterparse(src, events=("start", "end"))
    _, root = next(events)
    for event, el in events:
        if event == "end" and el.tag == "Record":
            if el.get("type") == want:
                w.writerow([el.get("startDate"), el.get("endDate"), el.get("value"), el.get("unit"), el.get("sourceName")])
                rows += 1
            root.clear()
print(rows, "rows in", want + ".csv")

Wat onze test liet zien

We maakten een voorbeeld-export.xml in het formaat van Apple met 1 miljoen records van stappen en hartslag (220 MB, illustratieve waarden, niemands gegevens). Op een Mac met Apple silicon en Python 3.15, op 2026-11-13:

De tijd is vergelijkbaar, het geheugen niet. Een schatting, niet getest: in dezelfde verhouding zou een echte export van 1 GB bijna 4 GB geheugen nodig hebben om helemaal te laden, genoeg om een gewone laptop te laten vastlopen. Het streamingscript bleef in de test rond 16 MB.

Een export.xml van 220 MB met 1 miljoen records omzetten
Hoe de XML wordt gelezenGebruikt geheugenTijd
Als stream (het script hierboven)16 MB2,2 s
Het hele bestand laden (ElementTree.parse)964 MB1,9 s

De routes naast elkaar

Manieren om CSV uit Apple Health te halen
RoutePrijsWat je nodig hebtBeperkingBron, datum
Export uit de Gezondheid-app + scriptGratisEen computer met Python 3De iPhone levert alleen XML; omzetten doe je zelfApple Support
Health Export CSV (app)US$ 2,99; Remote US$ 4,99 per maand of US$ 29,99 per jaariPhoneCSV en GPX rechtstreeks vanaf de iPhone; Remote synchroniseert op de achtergrondApp Store
Health Auto Export (app)Basic US$ 2,99 (eenmalig); Premium US$ 1,99 per maand, US$ 6,99 per jaar of US$ 24,99 levenslangiPhoneHet Free-abonnement exporteert niet; Basic exporteert met de hand (CSV en JSON); automatische export alleen met PremiumApp Store
teloPro US$ 49 per jaar; met Free ziet de assistent alleen de laatste 7 dageniPhone met de telo-appCSV met dagwaarden, slaap en trainingen via je account op het web, één keer per dag, ook met Free; totalen per dag, niet elke meting. Geeft de geschiedenis ook aan Claude, ChatGPT en andere assistenten (volledig alleen met Pro) en, met Pro, via een JSON-APIApp Store

Als je geen CSV nodig hebt

Als je iets over je gegevens wilt vragen (“is mijn hartslag in rust dit jaar gedaald?”), is elke keer exporteren en omzetten een klus. telo leest de gegevens van de Gezondheid-app via de iPhone-app en laat Claude, ChatGPT en andere assistenten de geschiedenis direct opvragen, zonder bestand. Als je programmeert, lees je dezelfde gegevens via de persoonlijke REST-API, in JSON, tot 500 rijen per verzoek. Wil je alleen spreadsheets, dan geeft telo zijn kopie ook terug als CSV: één rij per dag en meetwaarde, per nacht en per training, in je tijdzone (Account > Je gegevens, op het web).

bash
curl 'https://telo.health/api/v1/query_daily?metrics=steps&from=2026-11-01&to=2026-11-08&granularity=day' \
  -H "Authorization: Bearer $TELO_API_KEY"
FAQ

Praktische vragen

Kan Apple Health direct naar CSV exporteren?

Nee. De export van de Gezondheid-app maakt een export.zip met de gegevens in XML. Voor CSV zet je export.xml om met een script of gebruik je een app uit de App Store die CSV schrijft.

Kan ik maar één meting of één periode exporteren?

Niet met de officiële export, die alles in één keer meeneemt. Het script in deze gids kiest één gegevenstype; met de apps uit de tabel kies je meting en periode op de iPhone.

Waarom is export.xml zo groot?

Elke meting is één regel, en het horloge meet je hartslag vele keren per dag. Een paar jaar gebruik loopt makkelijk op tot honderden megabytes.

Waar komt het geëxporteerde bestand terecht?

Waar je het vanuit het deelmenu naartoe hebt gestuurd. Bewaard in de Bestanden-app staat export.zip in de map die je koos, op de iPhone of in iCloud Drive. Via AirDrop naar een Mac komt het in de map Downloads.

Kan ik alleen workouts of alleen slaap exporteren?

Niet met de officiële export. Verander na het exporteren het type in het script: HKCategoryTypeIdentifierSleepAnalysis voor slaap. Workouts zijn Workout-regels, geen Record, en hebben een ander script nodig; de apps uit de tabel exporteren workouts en slaap apart op de iPhone.

Hoe open ik export.xml in Excel?

Open de XML niet rechtstreeks. Zet hem om naar CSV, één bestand per gegevenstype, en controleer of de CSV minder dan 1.048.576 rijen heeft, het maximum van een Excel-werkblad.

Exporteert telo naar CSV?

Ja, sinds november 2026. In je telo-account op het web geeft Je gegevens > Alles downloaden (CSV) een zip met dagwaarden, slaap, trainingen en welke AI wat heeft gelezen, met tijden in je tijdzone. Het bevat wat de iPhone naar telo stuurde, per dag opgeteld, niet elke meting uit de Gezondheid-app; voor de ruwe metingen gebruik je de export van de Gezondheid-app. Eén keer per dag, ook met Free.

Bronnen en beschikbaarheid

Abonnementen, regio’s en schermen kunnen veranderen. Controleer de officiële bronnen voordat je iets instelt.

Zo is deze gids opgesteld

Op 2026-11-14 controleerden we de exportstappen op de supportpagina van Apple, prijzen en abonnementen op de App Store-pagina’s en de rijlimiet in de documentatie van Microsoft. De screenshots komen uit de Gezondheid-app in de iPhone-simulator (iOS 27, Engelse interface, zonder gegevens en zonder iCloud-account) op 2026-11-14; daarom toont het profiel een melding over de reservekopie. Het script is op 2026-11-13 in een eigen sessie gemeten op een voorbeeld-export.xml in het formaat van Apple met 1 miljoen illustratieve records, op een Mac met Apple silicon en Python 3.15; het getal voor 1 GB is een schatting in dezelfde verhouding. We hebben geen gezondheidsgegevens van wie dan ook gebruikt.