Cómo exportar conversaciones de ChatGPT: guía JSON, PDF y Markdown

ChatGPT no tiene botón para descargar conversaciones individuales. Esta guía explica la exportación oficial de datos y compara extensiones de navegador y convertidores JSON para guardar chats en JSON, PDF o Markdown.

1. ¿Se pueden exportar conversaciones de ChatGPT?

ChatGPT no tiene un botón «descargar esta conversación», pero guardar chats es una necesidad muy habitual: apuntes de estudio, entregas de trabajo, copias de seguridad de código, bases de conocimiento y respaldo a nivel de cuenta para evitar pérdidas.

El formato importa: PDF sirve para compartir, Markdown para notas y JSON para uso programático — ya analices conversaciones con Python o jq, extraigas bloques de código, construyas datasets de fine-tuning o alimentes un flujo RAG, JSON es el mejor punto de partida.

Este artículo compara tres enfoques prácticos y explica por qué la exportación JSON de AI Exporter es más fácil de usar que el conversations.json oficial de OpenAI.

2. Respuesta rápida: qué método elegir

  • Exportación oficial de datos (Ajustes → Controles de datos → Exportar datos) es el único respaldo oficial completo de ChatGPT, pero conversations.json usa una estructura en árbol mapping difícil de analizar y no está lista para entregar en PDF o Word.
  • Exportación JSON de AI Exporter genera un array plano de mensajes en el que cada mensaje incluye role, model, modelId, created_at y contents estructurados — ideal para scripts, migración y desarrollo posterior.
  • Combinación recomendada: exportación oficial para respaldos periódicos completos; AI Exporter en el día a día para conversaciones individuales o seleccionadas en JSON o PDF / Markdown; JSON oficial + convertidor cuando necesites transformar cientos de chats antiguos en documentos legibles de una vez.

3. Método 1: exportación oficial de datos de ChatGPT (ideal para respaldo completo)

La única opción oficial de exportación masiva de OpenAI.

Cuándo usarlo

  • Respaldos periódicos completos de la cuenta
  • Migración a otra plataforma de IA (p. ej. importar chats a Gemini)
  • No ideal para: guardar una sola conversación o entregar un documento legible al instante

Pasos

  1. Abre chatgpt.com  e inicia sesión.
  2. Haz clic en el icono del perfil (abajo a la izquierda) → Settings (Ajustes).

Entrada Settings resaltada en el menú de cuenta de ChatGPT

  1. Ve a Data controls (Controles de datos).
  2. Haz clic en Export data (Exportar datos) → confirma.

Botón Export data resaltado en el panel Data controls de ChatGPT

  1. Espera el correo de OpenAI (normalmente 20–30 minutos; cuentas con muchas conversaciones pueden tardar más — la documentación oficial  indica hasta 24 horas).
  2. Haz clic en el enlace de descarga del correo (válido 24 horas — revisa también spam).
  3. Descomprime el archivo y localiza conversations.json (exportaciones recientes pueden dividirse en conversations-000.json y otros fragmentos).

Qué obtienes

  • conversations.json — historial completo en estructura en árbol mapping con marcas de tiempo e información del modelo
  • chat.html — versión básica navegable en el navegador
  • Puede incluir imágenes y adjuntos (imágenes DALL·E, chats temporales y conversaciones eliminadas pueden faltar)

Problemas del JSON oficial

La exportación de OpenAI es JSON, pero está estructurada para almacenamiento interno — no para usarse directamente en scripts:

  1. mapping en árbol con punteros padre/hijo — hay que recorrer el grafo para reconstruir el orden de la conversación.
  2. Los prompts editados crean ramas — un hilo puede tener varios caminos, complicando el análisis.
  3. Texto enterrado en content.parts[] — no es un campo string simple.
  4. Marcas de tiempo Unix en float — p. ej. 1713350400.0, que requieren conversión adicional.
  5. Todo o nada — sin exportación selectiva de mensajes individuales, sin descarga instantánea.
VentajasDetalles
Oficial y fiableProporcionado por OpenAI, sin terceros
Exportación masiva realTodas las conversaciones de la cuenta de una vez
Metadatos ricosMarcas de tiempo, info del modelo y estructura de la conversación
Sin instalaciónSe hace desde los ajustes de ChatGPT
LimitacionesDetalles
Todo o nadaNo se pueden elegir chats ni rangos de fechas
Estructura complejaEl JSON en árbol exige parsing profundo
Sin opciones de formatoSin PDF, Markdown ni Word
Entrega lentaDe minutos a días
Contenido ausenteChats temporales, hilos eliminados y algunos contenidos específicos de la IA pueden faltar

En resumen: la exportación oficial es una red de seguridad, no una forma práctica de obtener datos estructurados bajo demanda.

4. Método 2: AI Exporter (ideal para el uso diario)

Transparencia: este es nuestro producto. A continuación, un repaso honesto de lo que puede y no puede hacer.

Por qué el JSON de AI Exporter supera al conversations.json oficial

Dimensiónconversations.json oficialJSON AI Exporter
Estructuramapping en árbol, parsing complejoArray plano de mensajes, iteración directa
AlcanceMasivo para toda la cuentaChat individual / mensajes parciales bajo demanda
VelocidadDe minutos a díasInstantáneo con un clic
Marcas de tiempoFloats Unixcreated_at legible por mensaje
Info del modeloDispersa en metadatosmodel / displayModel / modelId en cada mensaje assistant
Tipos de contenidoRetraso en nuevas funcionesArray contents preserva varios tipos estructurados

Cómo es el JSON de AI Exporter

El nivel superior es un array de mensajes (no 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
  }
]

Un array plano sobre el que puedes hacer un bucle — sin árboles anidados ni punteros padre/hijo.

Campos que más interesan a los usuarios

Por mensaje:

CampoDescripción
roleuser (tu mensaje) o assistant (respuesta de la IA)
model / displayModel / modelIdNombre de plataforma, nombre visible y versión del modelo (p. ej. GPT-4o, Claude Sonnet)
created_at / updated_atHora del mensaje para ordenar y estadísticas
chatGroupIdAgrupa un turno user/assistant para emparejar

Array contents (contenido estructurado — el valor central de la exportación JSON):

typeQué se preserva
markdown / textTexto, bloques de código, fórmulas matemáticas
thinkingRazonamiento / cadena de pensamiento
sourcesCitas de búsqueda web y Deep Research
image / attachmentImágenes y archivos subidos
html_widgetCanvas / artefactos interactivos
shopping_card / shopping_tableTarjetas de recomendación y tablas comparativas de compras

La exportación JSON conserva todos los datos estructurados independientemente de ajustes de visualización como «mostrar marcas de tiempo» en PDF o Markdown.

Cómo exportar JSON con AI Exporter

  1. Instala AI Exporter desde Chrome Web Store  (también funciona en Edge y Firefox).
  2. Abre la conversación de ChatGPT que quieras exportar.
  3. Haz clic en el icono de la extensión → elige JSON.
  4. Opcional: selecciona mensajes concretos para exportar solo lo que necesitas.
  5. Opcional: activa «Copiar al portapapeles» para pegar el JSON directamente en un script o herramienta API.

Qué hacer con el JSON exportado

Los ejemplos siguientes usan el formato JSON de AI Exporter. Si usas la exportación oficial, extrae primero los mensajes del árbol mapping.

Estadísticas rápidas de la conversación en 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"Tus preguntas: {roles.get('user', 0)}")
print(f"Respuestas de la 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"Respuesta más larga (caracteres): {len(str(longest['contents']))}")

Extraer todos los bloques 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)

Convertir al formato de fine-tuning de 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"Generados {len(training_data)} ejemplos de entrenamiento")

Otras ventajas de AI Exporter

JSON es uno de varios formatos. Cambia la salida en la misma extensión cuando necesites documentos legibles:

FormatoIdeal para
JSONAnálisis, migración, automatización, fine-tuning
MarkdownObsidian, blogs, bases de conocimiento
PDFCompartir, imprimir, archivar — mantiene resaltado de código, LaTeX, imágenes
WordDocumentos de oficina para editar
NotionSincronización con un clic en la base de conocimiento
TXT / ImagenArchivos ligeros, compartir visual

Otras funciones principales:

  • Exportación selectiva — chat completo, mensajes parciales o exportación al pasar el cursor sobre una respuesta
  • Preservación de formato — bloques de código, tablas, LaTeX, Canvas, imágenes
  • Multiplataforma — ChatGPT, Claude, Gemini, DeepSeek y más de 10 plataformas
  • Procesamiento local — JSON, Markdown, TXT en el navegador, sin subida al servidor
  • Plan gratuito — JSON, Markdown, TXT gratis; PDF, Word, Notion con límites diarios gratuitos

Exportación rápida de varias conversaciones (flujo con varias pestañas)

No hay botón oficial «exportar todos los chats», pero un flujo con varias pestañas gestiona muchas conversaciones con eficiencia:

  1. Cmd/Ctrl + clic en varios chats de la barra lateral de ChatGPT para abrirlos cada uno en una pestaña nueva.
  2. Preconfigura formato y carpeta de descarga (desactiva «Preguntar dónde guardar cada archivo» en el navegador).
  3. Por pestaña: Seleccionar → Exportar → Cerrar pestaña — unos dos clics cada una.
  4. ~20 chats en 3–5 minutos, cada archivo con nombre claro.

Limitaciones

  • Sin botón «exportar toda la cuenta» al estilo oficial.
  • El respaldo completo de la cuenta sigue combinando mejor con la exportación oficial.
  • PDF, Word y Notion tienen límites diarios gratuitos (JSON, Markdown, TXT son gratis).

5. Método 3: exportación oficial + herramientas de conversión (archivo legible masivo)

Para usuarios técnicos, o cuando necesitas transformar cientos de chats antiguos en Markdown de una vez.

Cuándo usarlo

  • Conversión masiva del historial completo en documentos legibles
  • Importación a Obsidian o Logseq para una base de conocimiento
  • No ideal para: guardar rápidamente la conversación en curso

Pasos

  1. Completa el Método 1 para obtener la exportación ZIP oficial.
  2. Descomprime y localiza conversations.json.
  3. Elige un convertidor:
    • CLI: npx chatgpt-to-markdown path/to/archive
    • Convertidor en navegador: ChatGPT Conversations to Markdown (procesamiento local, sin subida)
    • App de escritorio: Univik y similares (soporte PDF / DOCX)
  4. Cada conversación pasa a ser un archivo .md independiente.

Ventajas y limitaciones

VentajasLimitaciones
Masivo de verdad, legible, bueno para migración puntualFlujo en dos pasos, requiere cierta destreza técnica
Muchas herramientas open source, procesamiento local para privacidadCalidad variable; bloques de código / tablas pueden convertirse de forma irregular
Sin exportación selectiva — se convierten todos los chats
Los chats nuevos exigen repetir el proceso completo

6. Comparación de los tres métodos

FunciónExportación oficialAI ExporterOficial + convertidor
AlcanceTodos los chatsBajo demandaTodos los chats
Estructura JSONMapping en árbolArray plano de mensajesRequiere parsear el JSON oficial
Formatos de salidaJSON / HTMLJSON / PDF / MD / Word / Notion etc.Principalmente Markdown
Marcas de tiempo / nombres de modeloPresentes pero difíciles de extraerLegibles por mensajeDepende del convertidor
Exportación selectivaNoSí (por mensaje)No
MultiplataformaSolo ChatGPTChatGPT + más de 10 plataformasSolo ChatGPT
Conocimientos técnicosNingunoNingunoModerados
Exportar 20 chatsDe minutos a días~3–5 minutosEspera + conversión
Mejor paraRespaldo de seguridadExportación diaria + JSON estructuradoArchivo histórico masivo

7. Flujo recomendado: combinar métodos

Paso 1: exportación oficial para respaldo completo

  • Ajustes → Controles de datos → Exportar datos
  • Guarda el ZIP en la nube o en disco externo
  • Frecuencia sugerida: mensual, o antes de eliminar chats antiguos

Paso 2: AI Exporter para conversaciones importantes

Exporta justo después de una conversación valiosa, eligiendo el formato según el uso:

  • Scripts / migración / fine-tuning → JSON
  • Informes de investigación, base de conocimiento → Markdown
  • Entregas a clientes → PDF
  • Colaboración en equipo → sincronización con Notion

Paso 3 (opcional): conversión masiva del respaldo

Cuando necesites un archivo legible de todo el historial, usa el Método 3 para convertir en lote el ZIP oficial a Markdown.

8. ¿A qué formato exportar?

Tu objetivoMejor formatoMejor método
Respaldo completo de la cuenta (red de seguridad)JSON (crudo oficial)Exportación oficial
Scripts / fine-tuning / RAGJSON (estructurado)AI Exporter
Base de conocimiento (Obsidian / Notion)MarkdownAI Exporter
Compartir con clientes / colegasPDFAI Exporter
Necesitas editar despuésWordAI Exporter
Base de conocimiento en equipoNotionAI Exporter
Archivo legible masivo del historialMarkdownOficial + convertidor

9. Preguntas frecuentes

P1: ¿ChatGPT puede exportar JSON directamente?

Sí, pero solo mediante la exportación oficial masiva (Settings → Data Controls → Export Data), que genera un archivo anidado con todas las conversaciones. Para JSON por conversación con estructura clara, usa AI Exporter.

P2: ¿En qué se diferencia el JSON de AI Exporter del conversations.json oficial?

AI Exporter genera un array plano de mensajes con role, model, modelId, created_at y contents estructurados, iterables directamente. La exportación oficial usa mapping en árbol con referencias padre/hijo, texto en parts[] y marcas de tiempo Unix float — requiere parsing significativo.

P3: ¿El JSON incluye nombres de modelos y marcas de tiempo?

Sí. Cada mensaje assistant tiene model, displayModel y modelId (p. ej. GPT-4o), y created_at registra la hora para ordenar y estadísticas por modelo.

P4: ¿Se preservan razonamiento, fuentes web y bloques de código?

Sí. El array contents de AI Exporter usa thinking, sources, markdown y otros tipos — mucho más completo que copiar y pegar.

P5: ¿La exportación JSON es gratuita?

Sí. La exportación JSON está disponible en la versión gratuita de AI Exporter — sin cuenta ni suscripción.

P6: ¿Puedo exportar solo las respuestas de la IA sin mis prompts?

Sí. Haz clic en Select y elige Answers para seleccionar solo respuestas de la IA, o marca/desmarca mensajes individualmente.

P7: ¿El JSON exportado sirve para la API de OpenAI o fine-tuning?

Sí. AI Exporter usa etiquetas user / assistant coherentes con la API — extrae el texto de contents como en el ejemplo de fine-tuning anterior.

P8: ¿AI Exporter puede exportar todos los chats en lote?

No hay exportación completa con un clic al estilo oficial, pero el flujo con varias pestañas permite exportar chats rápidamente uno a uno. Combínalo con la exportación oficial para respaldo completo de la cuenta.

P9: ¿Cuánto tarda la exportación oficial? ¿Qué pasa si expira el enlace?

Normalmente 20–30 minutos; más en cuentas con muchos chats. Los enlaces de descarga expiran a las 24 horas — solicita una nueva exportación si hace falta.

P10: ¿Las cuentas gratuitas de ChatGPT pueden exportar?

Sí. Tanto la exportación oficial como AI Exporter funcionan en cuentas gratuitas.

P11: ¿En qué se diferencia AI Exporter de ChatGPT Exporter?

Ambos soportan exportación JSON, pero AI Exporter cubre ChatGPT, Claude, Gemini, DeepSeek y más de 10 plataformas, además de Word, Notion y más — con contents que preserva razonamiento, fuentes de búsqueda, Canvas y otros tipos estructurados.

P12: ¿Con qué frecuencia hacer respaldo?

Haz exportación oficial completa mensualmente. Exporta conversaciones importantes con AI Exporter justo después — no esperes al respaldo mensual.

10. Conclusión

Ningún método cubre todo por sí solo — la estrategia combinada funciona mejor:

  • Exportación oficial = red de seguridad para respaldo completo
  • AI Exporter = formatos del día a día, especialmente el JSON estructurado más práctico
  • Oficial + convertidor = archivo histórico legible masivo

👉 Empieza ahora: Instala AI Exporter  y recuerda ejecutar regularmente la exportación oficial de datos.