imessage_archive

June 21st, 2016: Source code released to the world!

imessage_archive is a Perl script that converts iMessage's database of conversations into an email archive. It can process chat messages stored in an unencrypted iPhone backup, or those from the macOS Messages app. It has been tested with an iOS 9 backup generated with iTunes 12.4 and a Messages install on Mac OS X 10.11, but it might work on other similar versions.

Archives can be customized in several ways. They can be simple text emails...

...or rich HTML emails...

Photos and videos are included in the HTML version. Videos are converted down to simple animated .gif files. You can optionally also keep the original files as email attachments, for a complete (but much larger) archive.

Options are available to customize your archive. Want it pretty? Use --html. Want to keep the videos but take less space? Try --attachment-shrink-percent=50. Want to keep audio clips and vcards but not all those bulky pictures and movies? --no-video-attachments. Just want a simple, small, searchable text archive? --no-attachments.

(I personally do --html --no-video-attachments, but do whatever fits your needs!)

Email is generated in either Maildir or mboxrd format, depending on whether you use the --maildir or --mbox options (default is Maildir). Most email tools can import and process at least one of these two formats.

This program presumes you are running on a Mac, but can probably be made to work on other systems with a little effort (such as providing a replacement ffmpeg binary, etc).


License:

imessage_archive is licensed under the zlib license. It optionally uses ffmpeg and ExifTool, which have other licenses, but are just independent programs launched from imessage_archive.


Documentation:


Downloads:

Prepackaged source code:

Downloading with Mercurial:

imessage_archive's source code may be downloaded using Mercurial (aka: "hg"). Hg allows you to get up-to-the-minute fixes and enhancements; as a developer works on a source tree, you can use hg to mirror that source tree instead of waiting for an official release. Please look at the Mercurial website for more information on using hg, where you can also download software for Mac OS X, Windows, and Unix systems.

Here is the web interface to imessage_archive's Mercurial repository.

To download imessage_archive via Mercurial:

hg clone https://hg.icculus.org/icculus/imessage_archive/


Mailing list:

No mailing list at the moment; but you can email Ryan with comments and questions.


Page maintained by Ryan C. Gordon.