Cómo exportar una conversación entera de iMessage en un Mac
Por qué la app Mensajes no tiene comando de exportar, los métodos gratuitos que sí funcionan, cómo obtener el historial que nunca se sincronizó con tu Mac, y cómo terminar con un álbum que todavía podrás abrir dentro de años.
· 5 min read
La app Mensajes de macOS no tiene comando de exportación. Nunca lo tuvo. Busca esta pregunta y los primeros resultados son un hilo del soporte de Apple y una publicación de Reddit, lo cual te dice lo bien que las opciones integradas han resuelto el asunto.
Esto es lo que sí funciona.
Dónde vive la conversación
En un Mac, Mensajes guarda todo en una base de datos SQLite en ~/Library/Messages/chat.db, con los adjuntos en ~/Library/Messages/Attachments/. macOS protege ambas cosas: ninguna app puede leerlas sin Acceso total al disco en Ajustes del Sistema, y la carpeta está oculta en Finder de forma predeterminada.
De aquí se siguen dos cosas, y explican casi toda la confusión sobre este tema:
- Cualquier herramienta que exporte tus mensajes necesita Acceso total al disco. Eso por sí solo no es señal de alarma: es la única forma que macOS permite. Lo que importa es qué hace la herramienta después de leer el archivo.
- La base de datos es un detalle interno privado de Apple. Su estructura cambia entre versiones de macOS sin aviso. Por eso las herramientas de exportación necesitan actualizarse, y por eso un álbum exportado nunca debería estar en el formato de Apple.
Método 1: Imprimir a PDF (gratis, integrado, limitado)
- Abre Mensajes y selecciona la conversación.
- Desplázate hasta arriba del todo manteniendo Comando + flecha arriba, hasta que deje de cargar mensajes antiguos.
- Archivo › Imprimir, luego PDF › Guardar como PDF.
Funciona, y para una conversación corta es la respuesta correcta. Dos límites reales: hay que cargar el hilo entero desplazándose, lo cual es doloroso con años de historial, y un PDF no puede contener vídeo ni audio reproducibles.
Método 2: Consultar la base de datos tú mismo (gratis, técnico)
Como chat.db es un archivo SQLite estándar, puedes consultarlo directamente. Concede primero Acceso total al disco a tu terminal y luego:
sqlite3 ~/Library/Messages/chat.db
Ten en cuenta tres trampas que atrapan a quienes lo hacen a mano:
- Las marcas de tiempo no son tiempo Unix. Mensajes guarda nanosegundos desde el 2001-01-01, así que necesitas
datetime(message.date/1000000000 + 978307200, 'unixepoch'). texta menudo es NULL. Los mensajes modernos guardan su contenido enattributedBody, un typedstream serializado de Apple, no en la columna simpletext. Descodificarlo bien es la parte difícil de todo este problema, y tratar el binario ingenuamente como UTF-16 produce basura que parece casi correcta.- Ábrelo en solo lectura. Usa
file:...?mode=ropara que una consulta descuidada nunca pueda escribir en tu base de datos de Mensajes en uso.
Si quieres esta ruta hecha bien y no a mano, imessage-exporter es gratuita, de código abierto y descodifica el typedstream correctamente.
Método 3: Exportar a un álbum (lo que la mayoría quiere en realidad)
El resultado que casi todos buscan es una carpeta que puedan conservar: la conversación entera, legible sin software especial, con las fotos y los vídeos intactos.
Eso significa una exportación que produzca:
- Todos los mensajes de ambos lados, en orden, con marcas de tiempo.
- Todos los adjuntos copiados en calidad original, no redimensionados dentro de un documento.
- Un formato que no dependa de la herramienta que lo creó. HTML, JSON y Markdown simples cumplen. Una base de datos propietaria no.
En esta categoría están imessage-exporter, iMazing, Decipher TextMessage y Message Album, que hizo este sitio. El énfasis particular de Message Album es el último punto: la exportación es un sitio web offline autocontenido, sin framework, CDN, tipografía externa ni servidor, más un manifiesto de sumas SHA-256, bajo la idea de que aquello que guardas no debería dejar de funcionar porque una dependencia desapareció.
Obtener el historial que nunca se sincronizó con tu Mac
Este es el paso que la mayoría de las guías se salta, y a menudo es la razón de que una exportación salga incompleta.
Tu Mac solo tiene los mensajes que se sincronizaron con él. Si la conversación empezó antes de que tuvieras ese Mac, o si «Mensajes en iCloud» ha descargado adjuntos antiguos de tu disco, exportar desde la biblioteca del propio Mac perderá cosas en silencio.
La solución es exportar desde una copia de seguridad de iPhone:
- Conecta el iPhone o iPad y abre Finder.
- Selecciona el dispositivo en la barra lateral.
- Elige Crear copia de seguridad ahora. Las copias cifradas y sin cifrar contienen Mensajes. Marca Cifrar copia de seguridad local si además quieres Salud y otros datos protegidos.
- Apunta tu herramienta de exportación a esa copia en lugar de a la biblioteca del Mac.
La copia contiene lo que hay en el teléfono, que suele ser más de lo que llegó al Mac.
Cómo saber si una exportación está completa
Hazle una sola pregunta a cualquier herramienta que uses: ¿qué hace cuando falta algo?
Los adjuntos que nunca se descargaron localmente y los contenidos privados de Apple que no se pueden descodificar son ambos normales. Una herramienta que los informa como avisos explícitos te deja saber qué tienes. Una que los descarta en silencio te deja un álbum que parece completo y no lo está, y no te enterarás hasta el día en que busques una foto concreta.
Revisa también los recuentos. Si una herramienta te dice cuántos mensajes leyó del origen y cuántos escribió en la salida, esos dos números deberían coincidir, o la diferencia debería estar explicada.
Qué hacer con el álbum después
Un álbum que existe en un solo lugar no está guardado, está en tránsito. Cópialo a otro sitio: un disco externo, otra máquina o el almacenamiento en la nube que prefieras. Como una buena exportación es una carpeta común de archivos comunes, esto es simplemente copiar una carpeta.
Si tu exportación incluye sumas de verificación, conserva el manifiesto con ella. Es lo único que te permitirá confirmar, dentro de cinco años, que la copia que estás mirando está intacta.