Exportar pelo app Saúde (oficial, gratuito)
Este é o único export que a Apple documenta. Ele junta tudo o que o app Saúde guarda, sem escolher métrica nem período.
- Abra o app Saúde no iPhone.
- Toque em Resumo e depois na sua foto ou nas suas iniciais, no canto superior direito.
- Role o perfil até o fim e toque em Exportar Todos os Dados de Saúde.

Perfil do app Saúde. Simulador do iPhone, iOS 27, 2026-11-14. - No aviso Exportar Dados de Saúde, toque em Exportar. Com anos de dados, a preparação pode levar alguns minutos.

O aviso de confirmação. Simulador do iPhone, iOS 27, 2026-11-14. - A folha de compartilhar mostra o arquivo como exportar, um Arquivo ZIP. Toque em Salvar em Arquivos, o jeito mais simples de abrir depois no computador.

A folha de compartilhar. Os 2 KB são de um simulador vazio; um export real é bem maior. iOS 27, 2026-11-14. - No computador, descompacte o arquivo ZIP. Os registros ficam em apple_health_export/export.xml.
Converter o export.xml em CSV com Python
O export.xml guarda cada medição como uma linha Record, com tipo, unidade, data e valor. O script abaixo lê o arquivo em fluxo, separa um tipo de dado e grava um CSV com início, fim, valor, unidade e origem. Precisa só do Python 3, sem instalar nada.
- Salve o código abaixo como to_csv.py na mesma pasta do apple_health_export.
- No Terminal, nessa pasta, rode: python3 to_csv.py apple_health_export/export.xml HKQuantityTypeIdentifierStepCount
- O CSV sai na mesma pasta, com o nome do tipo de dado, e a última linha impressa diz quantos registros foram gravados. Troque HKQuantityTypeIdentifierStepCount pelo tipo que quiser, por exemplo HKQuantityTypeIdentifierHeartRate para frequência cardíaca.
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")
O que o nosso teste mostrou
Montamos um export.xml de exemplo no formato da Apple, com 1 milhão de registros de passos e frequência cardíaca (220 MB, valores ilustrativos, não são dados de uma pessoa). Num Mac com Apple Silicon e Python 3.15, em 2026-11-13:
O tempo é parecido; a memória não. Uma estimativa, sem teste: na mesma proporção, um export real de 1 GB pediria perto de 4 GB de memória para ser lido inteiro, o bastante para travar um notebook comum. O script em fluxo ficou perto de 16 MB no teste.
| Jeito de ler o XML | Memória usada | Tempo |
|---|---|---|
| Em fluxo (o script acima) | 16 MB | 2,2 s |
| Carregando o arquivo inteiro (ElementTree.parse) | 964 MB | 1,9 s |
Os caminhos, lado a lado
| Caminho | Preço | O que exige | Limite | Fonte, data |
|---|---|---|---|---|
| Export do app Saúde + script | Gratuito | Computador com Python 3 | Só XML na saída do iPhone; a conversão é por sua conta | Apple Support |
| Health Export CSV (app) | US$ 2,99; Remote US$ 4,99 por mês ou US$ 29,99 por ano | iPhone | CSV e GPX direto do iPhone; o Remote sincroniza em segundo plano | App Store |
| Health Auto Export (app) | Basic US$ 2,99 (compra única); Premium US$ 1,99 por mês, US$ 6,99 por ano ou US$ 24,99 vitalício | iPhone | O plano Free não exporta; Basic exporta à mão (CSV e JSON); exportação automática só no Premium | App Store |
| telo | Pro US$ 49 por ano; no Free o assistente só vê os últimos 7 dias | iPhone com o app telo | CSV de valores por dia, sono e treinos pela sua conta na web, uma vez por dia, inclusive no Free; total por dia, não cada amostra. Também entrega o histórico a Claude, ChatGPT e outros assistentes (inteiro só no Pro) e, no Pro, uma API em JSON | App Store |
Quando você não precisa de CSV
Se o objetivo é perguntar algo sobre os dados ("minha frequência cardíaca de repouso caiu este ano?"), exportar e converter toda vez dá trabalho. O telo lê o Apple Health pelo app do iPhone e deixa Claude, ChatGPT e outros assistentes consultarem o histórico direto, sem arquivo. Quem programa pode ler os mesmos dados pela API REST pessoal, em JSON, com até 500 linhas por chamada. Se você só quer planilhas, o telo também devolve a cópia dele em CSV: uma linha por dia e métrica, por noite e por treino, no seu fuso (Conta > Seus dados, na web).
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"Dúvidas práticas
O Apple Health exporta CSV direto?
Não. O export do app Saúde gera um export.zip com os dados em XML. Para CSV, converta o export.xml com um script ou use um app da App Store que grava CSV.
Dá para exportar só uma métrica ou um período?
Não pelo export oficial, que leva tudo de uma vez. O script deste guia separa um tipo de dado; os apps da tabela deixam escolher métrica e período no iPhone.
Por que o export.xml é tão grande?
Cada medição vira uma linha, e o relógio mede frequência cardíaca muitas vezes por dia. Alguns anos de uso passam fácil de centenas de megabytes.
Onde fica o arquivo exportado?
Onde você escolheu na folha de compartilhar. Com Salvar em Arquivos, o export.zip fica na pasta que você apontou no app Arquivos (No Meu iPhone ou iCloud Drive). Se você mandou por AirDrop para um Mac, ele vai para a pasta Downloads.
Dá para exportar só os treinos ou só o sono?
Não pelo export oficial. Depois de exportar, troque o tipo no script: HKCategoryTypeIdentifierSleepAnalysis para sono. Treinos ficam em linhas Workout, não Record, e pedem outro script; os apps da tabela exportam treinos e sono separados no iPhone.
Como abrir o export.xml no Excel?
Não abra o XML direto. Converta para CSV, um arquivo por tipo de dado, e confira se o CSV tem menos de 1.048.576 linhas, que é o máximo de uma planilha do Excel.
O telo exporta CSV?
Sim, desde novembro de 2026. Na sua conta do telo na web, Seus dados > Baixar tudo (CSV) entrega um zip com valores por dia, sono, treinos e qual IA leu o quê, com os horários no seu fuso. Ele traz o que o iPhone mandou ao telo, somado por dia, e não cada amostra do Apple Health; para as amostras brutas, use o export do app Saúde. Uma vez por dia, inclusive no Free.
Fontes e disponibilidade
Planos, regiões e telas podem mudar. Confira as fontes oficiais antes de configurar.
- Apple Support: Compartilhe seus dados no app Saúde do iPhone, conferido em 2026-11-14
- Microsoft: especificações e limites do Excel, conferido em 2026-11-13
- Microsoft: o que fazer se um conjunto de dados for muito grande para a grade do Excel, conferido em 2026-11-13
- Python: xml.etree.ElementTree.iterparse, conferido em 2026-11-13
Como este guia foi preparado
Em 2026-11-14 conferimos os passos do export na página de suporte da Apple e os preços e planos nas páginas da App Store; o limite de linhas vem da documentação da Microsoft, conferida em 2026-11-13. Os prints são do app Saúde no simulador do iPhone (iOS 27, sem dados e sem conta do iCloud) em 2026-11-14, por isso o perfil mostra o aviso de backup. O script foi medido numa sessão nossa em 2026-11-13, num export.xml de exemplo no formato da Apple com 1 milhão de registros ilustrativos, num Mac com Apple Silicon e Python 3.15; o número de 1 GB é estimativa pela mesma proporção. Não usamos dados de saúde de ninguém.