Apple Health XML to CSV Converter

Convert your Apple Health export.xml to CSV format. Completely private!

... or drop your export.xml file here

All work is done locally by your browser. Nothing is uploaded to my server.

If you are having issues please click here after running the converter.

Hey 👋, nice to meet you!

My name is Eric and I love to create apps in my free time.
If you find this site helpful, please consider supporting me! ☕️

Thanks a lot!

Feel free to contact me if you have any questions!

Results

iPhone App

Simple Health Export CSV

Handling (very) large XML files can be cumbersome. For this reason I created a very simple app to export your health data into CSV.

It is also completely free and has the same focus on privacy.

Download on the App Store

Frequently Asked Questions

How do I export my apple health data?

The Apple's documentation about exporting and sharing your health data is very short. Sometimes these actions are not obvious. A more useful description is the step-by-step guide compiled by OSXDaily.


How do I get the export.xml from my apple health data?

Please extract the "export.zip" you exported from the Health app. Inside you find the "export.xml" file. Use this XML file for the Apple Health Converter on this page. Note that the XML file can be very large (e.g. > 100MB). But, as the conversion is performed locally in your browser this will be fast as no data upload is needed.

In case you run into issues with large XML files on your browser, consider using the app.


How to open my converted csv in Microsoft Excel?

Most systems will open csv files directly in Excel. If this does not work, the easiest way is to open Excel and then use the file open dialog to manually select the csv file. Note that the CSV separator is automatically detected by Excel. Other spreadsheet programs might not work out of the box. I am using the semicolon as a separator to avoid problems with numbers using comma notation. Please refer to your programs documentation to find out how to change the csv separator.


How is the conversion performed locally in the browser?

I am using the FileReader API to read the contents of a local file. The XML file is then parsed and converted to CSV files in memory. Finally the CSV is downloaded using the download attribute of your browser.