Skip to content

ReagentX/imessage-exporter

Repository files navigation

imessage-exporter

This crate provides both a library to interact with iMessage data as well as a binary that can perform some useful read-only operations using that data. The aim of this project is to provide the most comprehensive and accurate representation of iMessage data available.

This software can:

  • Save, export, backup, and archive iMessage data to open, portable formats
  • Preserve multimedia content (images, videos, audio) from conversations
  • Facilitate easy migration of message history between devices and platforms
  • Run diagnostics on the iMessage database
  • Give you full ownership and control over your communication history
  • Support compliance with data retention policies or legal requirements
  • Run on macOS, Linux, and Windows

Example Export

HTML Export Sample

Binary

The imessage-exporter binary exports iMessage data to txt or html formats. It can also run diagnostics to find problems with the iMessage database.

Installation instructions for the binary are located here.

Library

The imessage_database library provides models that allow us to access iMessage information as native, cross-platform data structures.

Documentation for the library is located here.

Supported Features

This crate supports every iMessage feature as of macOS 15.1.1 (24B91) and iOS 18.1.1 (22B91):

  • Multi-part messages
  • Replies/Threads
  • Formatted text
  • Attachments
  • Expressives
  • Tapbacks
  • Stickers
  • Apple Pay
  • Digital Touch
  • URL Previews
  • Audio messages
  • App Integrations
  • Edited messages
  • Handwritten messages

See more detail about supported features here.

Frequently Asked Questions

The FAQ document is located here.

Special Thanks

  • All of my friends, for putting up with me sending them random messages to test things
  • SQLiteFlow, the SQL viewer I used to explore and reverse engineer the iMessage database
  • Xplist, an invaluable tool for reverse engineering the payload_data plist format
  • Compart, an amazing resource for looking up esoteric unicode details
  • Archive.org, for hosting the Darwin source referenced in reverse engineering the typedstream format