Message Album

macOS · one conversation at a time

Keep the conversation, not just the backup.

Message Album exports a single Messages thread into a searchable offline archive: every message from both sides, every photo, video and voice note, and a manifest of checksums. It opens in any browser, with no app, no account and no server.

  • Requires macOS 15.7 or later. Apple silicon and Intel.
  • No accounts, no telemetry, no network requests.
  • Reads your Messages library without modifying it.

Why an archive, not a backup

A backup restores a device. It doesn't hand you the conversation.

Backups are built to put a phone back the way it was. They are not built to give you one thread you can read, search, and still open in twenty years. The moment you leave the platform, cancel the storage plan, or delete the conversation on one device, a backup stops being a way to reach it.

  • It stays readable without Apple

    An export is ordinary HTML, JSON and Markdown in a plain folder. Reading it later needs a browser, not an account, a subscription, or this app.

  • It survives leaving the platform

    Switching to Android, retiring an Apple ID, or handing the Mac on doesn't take the archive with it. The folder is yours.

  • It cannot be quietly edited

    Every archive ships a manifest of SHA-256 checksums, so you can prove years later that the copy in your hands is the one that was exported.

What you actually get

One folder. Open index.html and the conversation is there.

Every export is a self-contained, timestamped folder. The offline reader inside it uses no framework, no CDN, no external font and no web server, because anything it depended on would be one more thing that can disappear before you next open it.

Sarah Chen — 2026-08-09 14.22.31/

  • index.html Open it in Safari, Chrome or Firefox. No server needed.
  • assets/ The offline reader: framework-free HTML, CSS and JavaScript.
  • data/ The transcript data the reader loads.
  • attachments/ Every image, video, audio file, sticker and document, at original quality.
  • transcript.json Complete versioned archival data.
  • transcript.md A readable chronological transcript.
  • transcript.csv Flat rows for analysis. Optional.
  • manifest.json Source and output counts, warnings, sizes and SHA-256 checksums.

What it does

Both sides of the conversation

Not a roll of screenshots. Every message sent and received, in order, with timestamps, attachments and the sender's name where it can be resolved.

Every attachment, at original quality

Photos, videos, voice notes, stickers and documents are copied into attachments/ untouched, not re-encoded or downscaled.

Reads iPhone and iPad backups

Point it at a Finder backup stored on this Mac, encrypted or not, and export a thread that never synced to the Mac's own Messages library.

Names and faces, resolved locally

For one-to-one threads, a phone number or email becomes that person's name and contact photo, read from Contacts on this Mac and embedded only in the export.

Immutable, checksummed snapshots

Each export is a new timestamped folder carrying SHA-256 checksums for everything in it. Re-exporting a conversation never overwrites an earlier archive.

Repeat exports cost almost nothing

When the destination already holds an earlier archive of that thread, byte-identical attachments are cloned rather than copied. On APFS, exporting a large conversation again adds almost no disk.

Warnings instead of silent gaps

Attachments that were never downloaded to this Mac, and Apple-private payloads that cannot be decoded, are recorded as explicit warnings in the manifest rather than quietly dropped.

Built to outlive the app

The exported reader uses no framework, CDN, external font or server, and the archive schema is versioned and independent of Apple's private database format.

Formats

A website to read, and three formats to keep.

Offline website

The primary output. A searchable, iMessage-style reader that runs from the folder itself.

JSON

Complete versioned archival data, in a schema kept deliberately independent of Apple's.

Markdown

A plain chronological transcript that reads fine in any text editor.

CSV

Flat, analysis-friendly rows. Off by default, on when you want it.

Where it reads from

The Mac's own library, or an iPhone backup sitting on it.

This Mac

The Messages library already synced to this Mac, opened through SQLite's read-only and query-only modes so an export can never write to it.

An iPhone or iPad backup

Any Finder backup stored on this Mac, encrypted or not, listed by device name and backup date. Encrypted backups are unlocked in memory only, and only the Messages database and the attachments of the thread you are exporting are decrypted.

Screenshots

Not captured yet. Each frame below names the shot that belongs in it.

The conversation list with the source menu open, showing This Mac alongside an iPhone backup.

The export setup screen with format checkboxes and the destination picker.

The finished album screen, photos from the export fanned like prints.

The exported offline website open in Safari, mid-conversation with an attachment visible.

Privacy

Nothing leaves your Mac. There is nowhere for it to go.

  • No accounts, no sign-in, no licence server call at export time.
  • No analytics, no telemetry, no crash reporting, no network requests of any kind.
  • The Messages database is opened in SQLite's read-only and query-only modes, so an export cannot modify it.
  • Contact names and photos are read from the Contacts app on this Mac and embedded only in the local export. Deny access and the export continues with the original phone number and an initials avatar.
  • Encrypted backup passwords are used in memory and never written to disk.

macOS protects ~/Library/Messages, so Message Album needs Full Disk Access before it can read anything. You grant it in System Settings, and you can revoke it at any time.

Keep the conversation, not just the backup.

One purchase, no subscription. Message Album is sold directly rather than through the Mac App Store, because reading the Messages library requires Full Disk Access, which the App Store sandbox does not permit.

One-time purchase

$29

  • For one person, on the Macs you own.
  • Free updates within the current major version.
  • Exports you have already made keep working, with or without the app.