
iMessage Printer
https://github.com/obra/imessageprinter- Category
- Productivity
- Rank
- No. 1899Tools index
Previous survey · No. 1867 ·
- Pricing
- Open Source
- Type
- APP
- Builder
- obra
- GitHub
- 31 stars
- Latest release
- v1.0.0
- Date
About
A macOS app to browse iMessage conversations and export them as formatted PDFs.
What it does
It reads the Mac’s local Messages database without modifying it, reconstructs modern message bodies, resolves participants through Contacts, and lays out conversations with timestamps, receipts, reactions, edits, replies, and attachments. PDF output can omit images, use thumbnails, or retain original resolution.
Why it's ranked here
The tool has a focused, credible design: read-only database access, typedstream parsing for modern message text, progressive loading for large histories, and unusually rich message metadata. Its value is strongest for faithful archival, though demanding system permissions and source-based installation narrow its audience.
What's good
Exports preserve context that simpler transcripts often lose, including sender identities, service type, delivery and read times, reactions, edited or retracted status, thread indicators, and inline images. Contact lookup is optional, image quality is selectable, and cover pages plus footers make long records easier to navigate.
Tradeoffs
It requires macOS 14 or later, Full Disk Access, a relaunch after permission changes, and Xcode Command Line Tools for the documented build process. The app is not sandboxed. Without Contacts permission, identifiers remain raw. Full-resolution images can make PDFs very large.
How to use it well
Use it when you need a readable, detailed archive of a local iMessage, SMS, or RCS conversation, especially where receipts, reactions, and attachments matter. Choose thumbnails for practical sharing and full resolution for preservation. It does not manage, edit, synchronize, or restore messages.
Technical notes+
Package.swift defines a Swift 5.10 executable for macOS 14 and depends on GRDB.swift 7 or later. Makefile builds a release binary, assembles an app bundle, copies Resources/Info.plist and Resources/AppIcon.icns, then applies ad hoc code signing with Resources/iMessagePrinter.entitlements. Sources/iMessagePrinter/App/AppState.swift opens the database through DatabaseService, batches conversations by 50 and messages by 200, parses attributed bodies when plain text is absent, loads attachments with AppKit, and drives PDF export through a save panel. Sources/iMessagePrinter/Views/ContentView.swift provides the SwiftUI split-view shell.
Observed
- License
- MIT
- Primary language
- Swift
- Platform support
- macOS 14 or later
- Interface
- Native SwiftUI macOS application
- Packaging
- Swift Package executable assembled into an ad hoc signed app bundle by Make
- Database layer
- GRDB.swift 7 or later
- Permissions
- Full Disk Access is required; Contacts access is optional
- Data handling
- Reads the local Messages database in read-only mode
Read from README.md, Makefile, Package.swift, Sources/iMessagePrinter/App/AppState.swift, Sources/iMessagePrinter/Models/ChatRecord.swift, Sources/iMessagePrinter/Views/ContentView.swift, Sources/iMessagePrinter/Models/HandleRecord.swift, Sources/iMessagePrinter/Models/MessageRecord.swift, Sources/iMessagePrinter/Views/MessageRowView.swift, Sources/iMessagePrinter/Models/DisplayMessage.swift, Sources/iMessagePrinter/App/iMessagePrinterApp.swift, Sources/iMessagePrinter/Models/AttachmentRecord.swift, Sources/iMessagePrinter/Models/ConversationInfo.swift, Sources/iMessagePrinter/Views/DateSeparatorView.swift, Sources/iMessagePrinter/Views/MessageDetailView.swift.
What it can do
Browse iMessage conversations
iMessage data from macOS → Viewable conversation list
Export iMessage conversations as PDFs
Selected iMessage conversations → Formatted PDF files
Format message threads for printing
Raw iMessage conversation data → Print-ready formatted layout
Select specific conversations for export
Available iMessage conversations → Filtered conversation selection
Preserve message formatting and timestamps
Original iMessage formatting data → Structured PDF with preserved metadata
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.