Repolode
ReagentX

ReagentX/imessage-exporter

A Rust library and CLI that export iMessage data to TXT or HTML and run diagnostics on the iMessage database.

Stars
5,732
Forks
321
Open issues
2
Last commit
7 days ago

What is it?

imessage-exporter exports iMessage conversations from the Mac Messages database into open, portable formats. The binary writes TXT or HTML output and can copy multimedia attachments such as images, videos and audio so they remain part of the exported history. It also includes a diagnostics mode that looks for problems in the iMessage database.

The project is split into two parts: the imessage_database crate, which exposes iMessage data as cross-platform Rust structures, and the imessage-exporter binary built on top of it. The tool is read-only with respect to the message data and is intended for backup, archiving, migration between devices, or retaining records for compliance purposes.

The project covers a broad set of iMessage features, including SMS and MMS, group chats, tapbacks, replies and threads, edited messages, stickers, Digital Touch and handwritten messages. It runs on macOS, Linux and Windows.

Key features

  • 01Exports iMessage conversations to TXT or HTML formats.
  • 02Preserves images, videos and audio attachments from conversations.
  • 03Runs diagnostics to find problems in the iMessage database.
  • 04Provides a Rust library for reading iMessage data as native structures.
  • 05Supports iMessage, SMS, MMS and RCS, along with group chats and tapbacks.

Use cases

  • Backing up or archiving an iMessage history to readable files.
  • Migrating message history from a Mac to another device or platform.
  • Keeping records of conversations for data retention or legal requirements.
  • Troubleshooting a damaged or inconsistent iMessage database.

Things to know

  • Licensed under GPL-3.0, a copyleft license that requires derivative works to remain open source.

In collections

Topics

FAQ

What is imessage-exporter?
A Rust library and CLI that export iMessage data to TXT or HTML and run diagnostics on the iMessage database. imessage-exporter exports iMessage conversations from the Mac Messages database into open, portable formats. The binary writes TXT or HTML output and can copy multimedia attachments such as images, videos and audio so they remain part of the exported history. It also includes a diagnostics mode that looks for problems in the iMessage database.
Is imessage-exporter free to use? What license does it have?
imessage-exporter is open source under the GPL-3.0 license. Check the license terms before using it in commercial products.
Is imessage-exporter still maintained?
Actively maintained. The last commit to imessage-exporter was on Oct 31, 2026.
What can I use imessage-exporter for?
Backing up or archiving an iMessage history to readable files. Migrating message history from a Mac to another device or platform. Keeping records of conversations for data retention or legal requirements. Troubleshooting a damaged or inconsistent iMessage database.
Where can I get imessage-exporter?
The source code and installation instructions are on GitHub: https://github.com/ReagentX/imessage-exporter

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects