Export guide

How to export your iMessage conversation history

iMessage doesn't have a built-in "export chat" button like WhatsApp — getting your conversation out requires reading it from your Mac's local Messages database. Here's exactly how, step by step.

What you'll need

Step 1: Grant Full Disk Access

Your Messages history lives in a database macOS protects by default. To read it:

  1. Open System Settings → Privacy & Security → Full Disk Access.
  2. Add the app you'll run the exporter from (Terminal, or your code editor if you run it from there) and toggle it on.
  3. Fully quit and reopen that app — the permission doesn't apply to an already-running process.

Step 2: Run the exporter

From Terminal, in the folder containing imessage_exporter.py:

python imessage_exporter.py --output export

This reads your whole local message history and writes a messages_all.json file into the output folder. Exporting everything is fine — nothing leaves your computer at this step, and you'll pick the specific conversation you want in the next step.

Step 3: Use your export

With your messages_all.json ready, you have two free options before paying anything. Either way, if your export covers more than one conversation, you'll type in the phone number (or email, if that's how you message them) of the one you want — not their name, since iMessage exports the raw number/email, not a Contacts name. That filtering happens right in your browser, so the rest of your messages never go anywhere:

Stuck?

If Full Disk Access, Python, or the Terminal step isn't working out, you don't have to figure it out alone — send us screenshots of the conversation and we'll build your archipelago by hand.

← Back to Texipelago