Como exportar conversas do ChatGPT: guia JSON, PDF e Markdown

O ChatGPT não tem botão para baixar conversas individuais. Este guia explica a exportação oficial de dados e compara extensões de navegador e conversores JSON para salvar chats em JSON, PDF ou Markdown.

1. Dá para exportar conversas do ChatGPT?

O ChatGPT não tem um botão «baixar esta conversa», mas salvar chats é uma necessidade muito comum — anotações de estudo, entregas de trabalho, backup de código, bases de conhecimento e backup em nível de conta para evitar perda de dados.

O formato importa: PDF serve bem para compartilhar, Markdown para anotações e JSON para uso programático — seja analisando conversas com Python ou jq, extraindo blocos de código, montando datasets de fine-tuning ou alimentando um fluxo RAG, o JSON é o melhor ponto de partida.

Este artigo compara três abordagens práticas e explica por que a exportação JSON do AI Exporter é mais fácil de usar do que o conversations.json oficial da OpenAI.

2. Resposta rápida: qual método escolher

  • Exportação oficial de dados (Configurações → Controles de dados → Exportar dados) é o único backup oficial completo do ChatGPT, mas o conversations.json usa uma estrutura em árvore mapping difícil de analisar e não está pronto para entrega em PDF ou Word.
  • Exportação JSON do AI Exporter gera um array plano de mensagens em que cada mensagem inclui role, model, modelId, created_at e contents estruturados — ideal para scripts, migração e desenvolvimento posterior.
  • Combinação recomendada: exportação oficial para backups periódicos completos; AI Exporter no dia a dia para conversas individuais ou selecionadas em JSON ou PDF / Markdown; JSON oficial + conversor quando você precisa transformar centenas de chats antigos em documentos legíveis de uma vez.

3. Método 1: exportação oficial de dados do ChatGPT (melhor para backup completo)

A única opção oficial de exportação em massa da OpenAI.

Quando usar

  • Backups periódicos completos da conta
  • Migração para outra plataforma de IA (ex.: importar chats para o Gemini)
  • Não ideal para: salvar uma única conversa ou entregar um documento legível na hora

Passos

  1. Abra chatgpt.com  e faça login.
  2. Clique no ícone do perfil (canto inferior esquerdo) → Settings (Configurações).

Entrada Settings destacada no menu da conta ChatGPT

  1. Acesse Data controls (Controles de dados).
  2. Clique em Export data (Exportar dados) → confirme.

Botão Export data destacado no painel Data controls do ChatGPT

  1. Aguarde o e-mail da OpenAI (geralmente 20–30 minutos; contas com muitas conversas podem demorar mais — a documentação oficial  indica até 24 horas).
  2. Clique no link de download no e-mail (válido por 24 horas — verifique também o spam).
  3. Descompacte o arquivo e localize conversations.json (exportações mais recentes podem ser divididas em conversations-000.json e outros fragmentos).

O que você recebe

  • conversations.json — histórico completo em estrutura em árvore mapping com timestamps e informações do modelo
  • chat.html — versão básica navegável no navegador
  • Pode incluir imagens e anexos (imagens DALL·E, chats temporários e conversas excluídas podem estar ausentes)

Problemas do JSON oficial

A exportação da OpenAI é JSON, mas está estruturada para armazenamento interno — não para uso imediato em scripts:

  1. mapping em árvore com ponteiros pai/filho — é preciso percorrer o grafo para reconstruir a ordem da conversa.
  2. Prompts editados criam ramificações — um thread pode ter vários caminhos, complicando a análise.
  3. Texto enterrado em content.parts[] — não é um campo string simples.
  4. Timestamps Unix em float — ex.: 1713350400.0, exigindo conversão adicional.
  5. Tudo ou nada — sem exportação seletiva de mensagens individuais, sem download instantâneo.
VantagensDetalhes
Oficial e confiávelFornecido pela OpenAI, sem terceiros
Exportação em massa realTodas as conversas da conta de uma vez
Metadados ricosTimestamps, info do modelo e estrutura da conversa
Sem instalaçãoFeito nas configurações do ChatGPT
LimitaçõesDetalhes
Tudo ou nadaNão dá para escolher chats ou intervalos de datas
Estrutura complexaJSON em árvore exige parsing pesado
Sem opções de formatoSem PDF, Markdown ou Word
Entrega lentaDe minutos a dias
Conteúdo ausenteChats temporários, threads excluídos e alguns conteúdos específicos da IA podem faltar

Resumo: a exportação oficial é uma rede de segurança, não uma forma prática de obter dados estruturados sob demanda.

4. Método 2: AI Exporter (melhor para o uso diário)

Transparência: este é o nosso produto. Abaixo, um panorama honesto do que ele pode e não pode fazer.

Por que o JSON do AI Exporter supera o conversations.json oficial

Dimensãoconversations.json oficialJSON AI Exporter
Estruturamapping em árvore, parsing complexoArray plano de mensagens, iteração direta
EscopoMassivo para toda a contaChat único / mensagens parciais sob demanda
VelocidadeDe minutos a diasInstantâneo com um clique
TimestampsFloats Unixcreated_at legível por mensagem
Info do modeloEspalhada nos metadadosmodel / displayModel / modelId em cada mensagem assistant
Tipos de conteúdoAtraso em novos recursosArray contents preserva vários tipos estruturados

Como é o JSON do AI Exporter

O nível superior é um array de mensagens (não metadata + mapping):

json
[
  {
    "id": "msg_001",
    "chatGroupId": "group_abc",
    "role": "user",
    "model": "chatgpt",
    "displayModel": "ChatGPT",
    "contents": [
      { "type": "markdown", "content": "How do I read a CSV in Python and filter columns?" }
    ],
    "created_at": "2026-04-15 14:30:45",
    "updated_at": 1713175845000
  },
  {
    "id": "msg_002",
    "chatGroupId": "group_abc",
    "role": "assistant",
    "model": "chatgpt",
    "displayModel": "ChatGPT",
    "modelId": "GPT-4o",
    "contents": [
      { "type": "markdown", "content": "You can use pandas:\n\n```python\nimport pandas as pd\ndf = pd.read_csv('data.csv')\n```" },
      { "type": "thinking", "content": "User needs a basic CSV read example..." },
      { "type": "sources", "sources": [{ "title": "pandas documentation", "url": "https://pandas.pydata.org", "domain": "pandas.pydata.org" }] }
    ],
    "created_at": "2026-04-15 14:31:22",
    "updated_at": 1713175882000
  }
]

Um array plano sobre o qual você pode fazer um loop — sem árvores aninhadas ou ponteiros pai/filho.

Campos que mais interessam aos usuários

Por mensagem:

CampoDescrição
roleuser (sua mensagem) ou assistant (resposta da IA)
model / displayModel / modelIdNome da plataforma, nome de exibição e versão do modelo (ex.: GPT-4o, Claude Sonnet)
created_at / updated_atHorário da mensagem para ordenação e estatísticas
chatGroupIdAgrupa um turno user/assistant para pareamento

Array contents (conteúdo estruturado — o valor central da exportação JSON):

typeO que é preservado
markdown / textTexto, blocos de código, fórmulas matemáticas
thinkingRaciocínio / cadeia de pensamento
sourcesCitações de busca web e Deep Research
image / attachmentImagens e arquivos enviados
html_widgetCanvas / artefatos interativos
shopping_card / shopping_tableCartões de recomendação e tabelas comparativas de compras

A exportação JSON mantém todos os dados estruturados independentemente de configurações de exibição como «mostrar timestamps» em PDF ou Markdown.

Como exportar JSON com o AI Exporter

  1. Instale o AI Exporter na Chrome Web Store  (também funciona no Edge e Firefox).
  2. Abra a conversa do ChatGPT que deseja exportar.
  3. Clique no ícone da extensão → escolha JSON.
  4. Opcional: selecione mensagens específicas para exportar apenas o que precisa.
  5. Opcional: ative «Copiar para a área de transferência» para colar o JSON diretamente em um script ou ferramenta de API.

O que fazer com o JSON exportado

Os exemplos abaixo usam o formato JSON do AI Exporter. Se você usar a exportação oficial, extraia primeiro as mensagens da árvore mapping.

Estatísticas rápidas da conversa em Python:

python
import json
from collections import Counter
 
with open("ChatGPT-my-conversation.json") as f:
    messages = json.load(f)
 
roles = Counter(msg["role"] for msg in messages)
print(f"Suas perguntas: {roles.get('user', 0)}")
print(f"Respostas da IA: {roles.get('assistant', 0)}")
 
responses = [m for m in messages if m["role"] == "assistant" and m["contents"]]
longest = max(responses, key=lambda m: len(str(m["contents"])))
print(f"Resposta mais longa (caracteres): {len(str(longest['contents']))}")

Extrair todos os blocos de código:

python
import json
import re
 
with open("ChatGPT-my-conversation.json") as f:
    messages = json.load(f)
 
for msg in messages:
    if msg["role"] != "assistant":
        continue
    for item in msg.get("contents", []):
        if item.get("type") not in ("markdown", "text"):
            continue
        blocks = re.findall(r"```(\w+)?\n(.*?)```", item.get("content", ""), re.DOTALL)
        for lang, code in blocks:
            print(f"--- {lang or 'text'} ---")
            print(code)

Converter para o formato de fine-tuning da OpenAI (JSONL):

python
import json
 
with open("ChatGPT-my-conversation.json") as f:
    messages = json.load(f)
 
training_data = []
for i in range(0, len(messages) - 1, 2):
    user_msg, assistant_msg = messages[i], messages[i + 1]
    if user_msg["role"] != "user" or assistant_msg["role"] != "assistant":
        continue
    user_text = " ".join(c.get("content", "") for c in user_msg.get("contents", []) if c.get("content"))
    assistant_text = " ".join(c.get("content", "") for c in assistant_msg.get("contents", []) if c.get("content"))
    if user_text and assistant_text:
        training_data.append({
            "messages": [
                {"role": "user", "content": user_text},
                {"role": "assistant", "content": assistant_text},
            ]
        })
 
with open("training.jsonl", "w") as f:
    for item in training_data:
        f.write(json.dumps(item, ensure_ascii=False) + "\n")
 
print(f"Gerados {len(training_data)} exemplos de treinamento")

Outros pontos fortes do AI Exporter

O JSON é um dos formatos suportados. Altere a saída na mesma extensão quando precisar de documentos legíveis:

FormatoIdeal para
JSONAnálise, migração, automação, fine-tuning
MarkdownObsidian, blogs, bases de conhecimento
PDFCompartilhamento, impressão, arquivamento — mantém destaque de código, LaTeX, imagens
WordDocumentos de escritório para editar
NotionSincronização com um clique na base de conhecimento
TXT / ImagemArquivos leves, compartilhamento visual

Outros recursos principais:

  • Exportação seletiva — chat completo, mensagens parciais ou exportação ao passar o mouse em uma resposta
  • Preservação de formato — blocos de código, tabelas, LaTeX, Canvas, imagens
  • Multiplataforma — ChatGPT, Claude, Gemini, DeepSeek e mais de 10 plataformas
  • Processamento local — JSON, Markdown, TXT processados no navegador, sem upload
  • Plano gratuito — JSON, Markdown, TXT gratuitos; PDF, Word, Notion com limites diários gratuitos

Exportação rápida de várias conversas (fluxo com várias abas)

Não há botão oficial «exportar todos os chats», mas um fluxo com várias abas lida com muitas conversas de forma eficiente:

  1. Cmd/Ctrl + clique em vários chats na barra lateral do ChatGPT para abrir cada um em uma nova aba.
  2. Pré-configure formato e pasta de download (desative «Perguntar onde salvar cada arquivo» no navegador).
  3. Por aba: Selecionar → Exportar → Fechar aba — cerca de dois cliques cada.
  4. ~20 chats em 3–5 minutos, cada arquivo com nome claro.

Limitações

  • Sem botão «exportar toda a conta» no estilo oficial.
  • Backup completo da conta ainda combina melhor com a exportação oficial.
  • PDF, Word e Notion têm limites diários gratuitos (JSON, Markdown, TXT são gratuitos).

5. Método 3: exportação oficial + ferramentas de conversão (arquivo legível em massa)

Para usuários técnicos, ou quando você precisa transformar centenas de chats antigos em Markdown de uma vez.

Quando usar

  • Conversão em massa do histórico completo em documentos legíveis
  • Importação para Obsidian ou Logseq em uma base de conhecimento
  • Não ideal para: salvar rapidamente a conversa em andamento

Passos

  1. Conclua o Método 1 para obter a exportação ZIP oficial.
  2. Descompacte e localize conversations.json.
  3. Escolha um conversor:
    • CLI: npx chatgpt-to-markdown path/to/archive
    • Conversor no navegador: ChatGPT Conversations to Markdown (processamento local, sem upload)
    • App desktop: Univik e similares (suporte a PDF / DOCX)
  4. Cada conversa vira um arquivo .md separado.

Prós e contras

VantagensLimitações
Massivo de verdade, legível, bom para migração únicaFluxo em duas etapas, exige algum conhecimento técnico
Muitas ferramentas open source, processamento local para privacidadeQualidade variável; blocos de código / tabelas podem converter de forma irregular
Sem exportação seletiva — todas as conversas são convertidas
Novos chats exigem repetir o processo completo

6. Comparação entre os três métodos

RecursoExportação oficialAI ExporterOficial + conversor
EscopoTodos os chatsSob demandaTodos os chats
Estrutura JSONMapping em árvoreArray plano de mensagensExige parsing do JSON oficial
Formatos de saídaJSON / HTMLJSON / PDF / MD / Word / Notion etc.Principalmente Markdown
Timestamps / nomes de modeloPresentes, difíceis de extrairLegíveis por mensagemDepende do conversor
Exportação seletivaNãoSim (por mensagem)Não
MultiplataformaSó ChatGPTChatGPT + mais de 10 plataformasSó ChatGPT
Conhecimento técnicoNenhumNenhumModerado
Exportar 20 chatsDe minutos a dias~3–5 minutosEspera + conversão
Melhor paraBackup de segurançaExportação diária + JSON estruturadoArquivo histórico em massa

7. Fluxo recomendado: combinar métodos

Passo 1: exportação oficial para backup completo

  • Configurações → Controles de dados → Exportar dados
  • Armazene o ZIP na nuvem ou em disco externo
  • Frequência sugerida: mensal, ou antes de excluir chats antigos

Passo 2: AI Exporter para conversas importantes

Exporte logo após uma conversa valiosa, escolhendo o formato conforme o uso:

  • Scripts / migração / fine-tuning → JSON
  • Relatórios de pesquisa, base de conhecimento → Markdown
  • Entregas a clientes → PDF
  • Colaboração em equipe → sincronização com Notion

Passo 3 (opcional): conversão em massa do backup

Quando precisar de um arquivo legível de todo o histórico, use o Método 3 para converter em lote o ZIP oficial para Markdown.

8. Qual formato exportar?

Seu objetivoMelhor formatoMelhor método
Backup completo da conta (rede de segurança)JSON (bruto oficial)Exportação oficial
Scripts / fine-tuning / RAGJSON (estruturado)AI Exporter
Base de conhecimento (Obsidian / Notion)MarkdownAI Exporter
Compartilhar com clientes / colegasPDFAI Exporter
Precisa editar depoisWordAI Exporter
Base de conhecimento em equipeNotionAI Exporter
Arquivo legível em massa do históricoMarkdownOficial + conversor

9. Perguntas frequentes

P1: O ChatGPT exporta JSON diretamente?

Sim, mas apenas pela exportação oficial em massa (Settings → Data Controls → Export Data), que gera um arquivo aninhado com todas as conversas. Para JSON por conversa com estrutura limpa, use o AI Exporter.

P2: Qual a diferença entre o JSON do AI Exporter e o conversations.json oficial?

O AI Exporter gera um array plano de mensagens com role, model, modelId, created_at e contents estruturados, iteráveis diretamente. A exportação oficial usa mapping em árvore com referências pai/filho, texto em parts[] e timestamps Unix float — exige parsing significativo.

P3: O JSON inclui nomes de modelos e timestamps?

Sim. Cada mensagem assistant tem model, displayModel e modelId (ex.: GPT-4o), e created_at registra o horário para ordenação e estatísticas por modelo.

P4: Raciocínio, fontes web e blocos de código são preservados?

Sim. O array contents do AI Exporter usa thinking, sources, markdown e outros tipos — muito mais completo que copiar e colar.

P5: A exportação JSON é gratuita?

Sim. A exportação JSON está disponível na versão gratuita do AI Exporter — sem conta ou assinatura.

P6: Posso exportar só as respostas da IA, sem meus prompts?

Sim. Clique em Select e escolha Answers para selecionar apenas respostas da IA, ou marque/desmarque mensagens individualmente.

P7: O JSON exportado pode ser usado na API OpenAI ou em fine-tuning?

Sim. O AI Exporter usa rótulos user / assistant consistentes com a API — extraia o texto de contents como no exemplo de fine-tuning acima.

P8: O AI Exporter exporta todos os chats em lote?

Não há exportação completa com um clique no estilo oficial, mas o fluxo com várias abas permite exportar chats rapidamente um a um. Combine com a exportação oficial para backup completo da conta.

P9: Quanto tempo leva a exportação oficial? E se o link expirar?

Geralmente 20–30 minutos; mais para contas com muitos chats. Links de download expiram em 24 horas — solicite uma nova exportação se necessário.

P10: Contas gratuitas do ChatGPT podem exportar?

Sim. Tanto a exportação oficial quanto o AI Exporter funcionam em contas gratuitas.

P11: Qual a diferença entre AI Exporter e ChatGPT Exporter?

Ambos suportam exportação JSON, mas o AI Exporter cobre ChatGPT, Claude, Gemini, DeepSeek e mais de 10 plataformas, além de Word, Notion e outros — com contents preservando raciocínio, fontes de busca, Canvas e outros tipos estruturados.

P12: Com que frequência fazer backup?

Faça exportação oficial completa mensalmente. Exporte conversas importantes com o AI Exporter logo após acontecerem — não espere o backup mensal.

10. Conclusão

Nenhum método sozinho cobre tudo — a estratégia combinada funciona melhor:

  • Exportação oficial = rede de segurança para backup completo
  • AI Exporter = formatos do dia a dia, especialmente o JSON estruturado mais prático
  • Oficial + conversor = arquivo histórico legível em massa

👉 Comece agora: Instale o AI Exporter  e lembre-se de executar regularmente a exportação oficial de dados.