← All projects
C++17 · Cross-platform · Released
iMessage Exporter Redux
A cross-platform iMessage & SMS archival suite — a native desktop app for everyday users, a CLI for power users, and an embeddable C library for iOS developers. It reads Apple's Messages database read-only and turns it into beautiful, portable exports.
macOS · Windows · Linux
HTML / PDF / JSON / TXT / Android XML
5 visual themes
MIT
The idea
Your message history is one of the most personal datasets you own — and one of the hardest to get out of Apple's walled garden in a form you actually control. iMessage Exporter Redux reads the Messages SQLite database directly (read-only, never mutating your data) and reproduces conversations as documents you can keep forever, search, print, or migrate.
What it does
- Exports iMessage, SMS, and RCS history to HTML, PDF, JSON, TXT, or Android SMS XML.
- Beautifies HTML output with iOS-style message bubbles, contact photos, group-chat headers, inline images and video, playable YouTube/Spotify embeds, Open Graph rich link previews, and five visual themes.
- Connects to your contacts via macOS AddressBook, iCloud CardDAV, Google Contacts (OAuth), or any vCard file — with an optional persistent store that survives updates.
- Reads from your Mac's live database or an iTunes/Finder device backup — no iCloud round-trip required.
- Uploads finished exports straight to Google Drive.
- Analyses your history into an optional statistics cover page: hourly/weekly charts, top texters, streaks, and fun facts.
- Filters by date range or by specific people, with a smart, searchable, sortable contact list.
How it's built
The core is C++17 with a clean separation between the read-only database reader, the contact-resolution layer, and the pluggable export renderers. The same core compiles three ways:
| Target | Form |
| Desktop app | Native .app/.dmg, Windows .exe installer, and Linux AppImage / deb / rpm / Snap |
| CLI | Scriptable binary on all three desktop platforms |
| iOS library | Embeddable C library so other apps can read and export on-device |
CI runs on GitHub Actions, and tagged releases ship pre-built installers so users never need a compiler.
Why it matters: this project is the reason
lightpress exists — the exporter needed to compress attachments before archiving, without dragging in a heavyweight image library. One project's constraint became the next project's library.
← Back to all projects