Guide

How to export and save your iMessage history (from your Mac)

By Michael, founder of ChatAttic · September 2026 · 7 min read

Unlike WhatsApp, iMessage has no "Export chat" button. Your entire history — every blue and green bubble, every group thread going back years — sits inside the Messages app, and Apple gives you no tidy way to get it out. The good news: on a Mac, all of it lives in a single file you can copy. Here's where that file is, how to get it out safely, and what it takes to turn it into something you can actually read.

Why iMessage history is harder to hold onto than it looks

Your messages feel permanent because they're always right there when you open the app. But that history is locked inside Messages — there's no menu that hands you a transcript, and the usual advice ("just turn on Messages in iCloud") solves a different problem than the one you have:

So the goal isn't to sync more carefully — it's to pull a real copy of the history out to a file that's yours, independent of any account.

Where iMessage actually lives

On a Mac, the Messages app stores everything in a database called chat.db, here:

iPhone-only? You still need a Mac in the loop, because iMessage doesn't expose this file on iOS. The reliable route is to sign that Mac into the same Apple ID, turn on Messages in iCloud (Messages → Settings → iMessage), and wait for your history to finish downloading into the Mac's copy. Once the conversations show up in Messages on the Mac, they're in that Mac's chat.db — and now you can copy it.

Getting chat.db out safely

The ~/Library folder is hidden by default, so you reach it by name rather than by clicking around:

  1. In Finder, open Go → Go to Folder… (or press ⇧⌘G).
  2. Type ~/Library/Messages and press Return. The hidden folder opens.
  3. Find chat.db (and chat.db-wal if present).
  4. Copy them — don't move them — to another folder, a USB drive, or wherever you'll keep your archive. Leave the originals exactly where they are so Messages keeps working.

Copy in Finder, not Terminal. Reading these files from Terminal trips over macOS's Full Disk Access protection and needs extra permissions. A plain Finder copy sidesteps all of that. And chat.db is a single SQLite file — copy it and you've copied every conversation in one go.

What you've actually got (and why you can't just open it)

Here's the catch: chat.db is a database, not a document. Double-click it and nothing readable happens. Inside, it's built for the app, not for you:

None of this is impossible, but it's why "just export my iMessages" turns into a small programming project. You've secured the raw material; now it has to become a record you can read.

This is exactly what ChatAttic automates

Point it at the chat.db you copied off your Mac and ChatAttic opens it read-only, converts Apple's 2001-based timestamps back to real dates, recovers the message text — including the words buried in the attributedBody blob — attributes each message to you or the other person, groups everything by conversation, and de-duplicates, writing one clean per-conversation archive you actually own. It also reads WhatsApp, Telegram, Facebook/Instagram Messenger and Android SMS/MMS, so all your threads land together in one place. In internal testing; sign up before launch for 25% off.

Get early access

One honest note on platforms. ChatAttic runs on Windows today, with a Mac version to follow. So the flow is: copy chat.db off the Mac (exactly as above), then point ChatAttic at that copy on your PC. Nothing is uploaded anywhere — the file stays on your own computer, and ChatAttic only ever opens it read-only, so your original history is never touched.