Apple never built an export button for iMessage. Not on the iPhone, not in the Messages app on a Mac. WhatsApp gives you "Export Chat" in two taps, Telegram ships a whole export tool inside its desktop app - iMessage gives you nothing. If you need a conversation as part of a court filing, an HR complaint, or an insurance claim, that gap is a real problem, because the informal workarounds people reach for lose exactly the structure that makes a record verifiable. This guide covers the one route that reliably produces a structured, importable record of your iMessages: iMazing's CSV export. It works, it is current as of iMazing 3 (March 2026), and it has real costs and limitations we will name up front rather than bury.
Why iMessage is the hardest mainstream chat app to export
Your messages live in an encrypted SQLite database on the phone, and Apple's only sanctioned way to get them off the device is a full device backup - which is itself an opaque bundle of hashed files. There is no per-chat export, no JSON download, no "request my data" archive that includes message content. Even on a Mac, where the Messages app syncs your history, selecting all and copying loses timestamps and sender structure, and "printing" a chat produces an image-like page with no machine-readable data. Compare that with the two-tap flow in our [WhatsApp export guide](/blog/how-to-export-whatsapp-chat) and you can see why iMessage needs a third-party tool.
That tool is iMazing, from DigiDNA. It reads the device backup (or makes one), decodes the messages database properly, and exports any conversation to CSV with per-message timestamps, sender identity, and direction - exactly the structure a parser can verify. iMazing's export options were designed with legal use in mind; the vendor itself documents adding contact details and timestamps "for court cases." It is also the only mainstream tool in this space that is actively maintained and works identically on Mac and Windows.
Before you start: the honest prerequisites
iMazing is a paid tool. Since mid-2025 it is subscription-based - plans start from about $40/year (check imazing.com/store for current pricing). The free trial never expires but caps Messages transfers at 25 items. That is enough to test the entire pipeline end to end with a small export, but not enough for a real conversation.
- A Mac or Windows PC. There is no on-phone route - this is desktop-only by necessity, because Apple provides no export on iOS at all.
- A USB cable to connect the iPhone (iMazing can also read an existing iTunes or iMazing backup, useful if the phone is lost or messages were deleted after a backup was made).
- Time. iMazing must have a backup to read messages from, and the first backup of a full phone can take an hour or more. Later backups are incremental and fast, but do not start this the night a filing is due.
- The phone's backup password, if backups are encrypted. If that password is forgotten, iMazing cannot read the messages until the password is reset on the device.
Step-by-step: iPhone to CSV with iMazing
- Download and install iMazing from imazing.com on your Mac or Windows PC. If it is already installed, update it (iMazing menu, then "Check for Updates") - the flow below matches iMazing 3.
- Connect the iPhone with a USB cable. Unlock the phone and tap "Trust" on the "Trust This Computer" prompt, then follow the pairing instructions.
- In iMazing, click "Devices" in the left pane and select your device. On the Overview screen, click "Messages" in the top row of datasets. If you do not see it, click the "More" button in that row, or click "Data" in the sidebar.
- Let iMazing make its backup. You can choose a data-only backup (smaller) or a full restorable backup - either works for message export. Click "Start" and enter the passcode on the phone when prompted. If a backup already exists, iMazing asks whether to use it as-is or refresh it; refresh (the circular-arrow button in the top bar) if you need the newest messages.
- When the Messages view loads, your conversations appear in the left column. Click the one you need. To export several at once, Ctrl-click (Windows) or Cmd-click (Mac) to multi-select, or Ctrl/Cmd+A for everything.
- Use the date-range filter and text search at the top to narrow to the relevant period if you want to - but know that only messages inside the filter get exported. If you want the whole conversation, make sure the filter is clear.
- Click "Export" at the bottom right and choose "Export to CSV". You will see PDF, Text, Excel, and RSMF listed alongside it - pick CSV specifically.
- In the export configuration sheet, keep "Include header row" checked (the importer needs those column names to map fields) and check "Include chat session name" (it identifies which conversation each row belongs to - essential if you exported more than one chat). Click "Next".
- Pick a save location, adjust the filename, and click "Save" on Windows or "Choose" on Mac. iMazing writes the .csv file.
- Upload that .csv at [wachattopdf.com/upload](/upload) to convert it into a paginated PDF with Bates numbering, a SHA-256 hash of your source file, and a processing certificate - a fixed document you can prepare as a court record.
Delimiter check for European locales: if your CSV opens as a single column, iMazing is probably using semicolons or tabs. Fix it in iMazing Preferences - on Mac under "iMazing > Preferences > Other Data", on Windows under "Edit > Preferences > Other Data" - set the delimiter to comma, then re-export.
What the CSV contains - and what it does not
One .csv file per export. The columns include the chat session name, message date and time, direction (sent or received), sender identity, the message text, and attachment references. If you selected several conversations at once, they all land in the same CSV, distinguishable by the chat-session-name column and sortable by date into a single timeline. This iMazing CSV is exactly the iMessage format the wachattopdf importer accepts - no ZIP, no JSON, just the .csv, uploaded directly at [/upload](/upload). See [how it works](/how-it-works) for what happens after that.
What the CSV does not carry is the attachments themselves. Photos, videos, and voice notes are only referenced, not embedded. If media matters to your case, run iMazing's separate "Export Attachments" function on the same conversation and keep those files alongside the CSV, or generate iMazing's PDF export as a visual companion exhibit. The structured CSV remains the record you import; the attachment files are supporting exhibits.
If "Messages in iCloud" is enabled, older attachments may be offloaded to iCloud and appear as "Attachment stored in iCloud" instead of the actual file. The message text still exports fine, but if a photo or video is evidence, open it in the Messages app on the phone first so it downloads locally, then refresh the backup and re-export.
Mac vs Windows: does it matter?
For this workflow, almost not at all - and that is unusual for anything iPhone-related. iMazing's Messages view, backup handling, and CSV export are identical on both platforms; only the keyboard shortcuts (Cmd vs Ctrl) and the Preferences menu location differ, as noted in the steps. You do not need a Mac, you do not need iTunes installed on Windows for iMazing to work, and you do not need the Messages app synced anywhere. The one Mac-only consideration is the chat.db route below, which requires macOS with message sync enabled.
Pitfalls that silently ruin an export
- A stale date-range filter. The export includes only what the filter shows, so a filter left over from browsing quietly truncates the conversation. Clear it before exporting.
- Unchecking "Include header row". The CSV comes out with no column names and the importer cannot map any fields.
- Exporting to Excel (.xlsx) instead of CSV. The two sit next to each other in iMazing's format list and look interchangeable - the importer expects .csv.
- Trial-cap surprises. The free trial silently caps exports at 25 messages. Always verify the row count in the CSV roughly matches the length of the conversation before relying on it.
- Deleted-message expectations. iMazing reads what is in the backup it uses. Messages deleted before the first backup existed are simply gone - though if you have older backup snapshots, check them in iMazing's sidebar; a message deleted last month may still exist in a backup from before that.
- Assuming attachments are in the CSV. They are only referenced - export them separately if they matter.
The free and alternative routes, honestly
Because iMazing costs money, it is fair to ask what else exists. Here is the honest landscape:
- macOS chat.db (free, advanced, unsupported): on a Mac with message sync, your history lives at ~/Library/Messages/chat.db, a SQLite database you can copy and query. The catch: Apple stores timestamps as Apple-epoch nanoseconds, and message text increasingly lives inside a binary "attributedBody" blob rather than the plain text column - so naive SQL exports silently drop message content. Open-source tools like imessage-exporter (ReagentX on GitHub) decode it properly to TXT or HTML, but none of those outputs match our importer's expected format. Fine for technical users who want a personal archive; not a route to an importable evidence file.
- iMazing's PDF export: genuinely good as a visual, bubble-style exhibit, and it can include the device serial and a metadata footer for credibility. But a PDF is not structured data - pair it with the CSV rather than replacing it.
- Other paid tools (Decipher TextMessage, TouchCopy): they do export iPhone messages, but their CSV schemas differ from iMazing's and are not supported by our importer.
- Screenshots: usable for a message or two, but they carry none of the timestamp and sender structure a parser can verify, and they cannot be imported.
iMazing also offers RSMF export (the eDiscovery format) and digitally signed PDFs, but both require the pricier Business subscription. Neither is needed for the CSV route - the Personal plan covers everything in this guide.
The Excel problem: your CSV is a spreadsheet anyone can edit
Here is the awkward property of the file you just created: it opens in Excel with a double-click, and every cell in it - timestamps, sender names, message text - can be rewritten and re-saved without a trace. "This spreadsheet could have been edited by anyone" is the first integrity objection a raw CSV invites, and it is a fair one. The answer is not to promise you never touched the file; it is to fix the record the moment it leaves iMazing. That is what the conversion step is for: wachattopdf renders the CSV into a paginated PDF, stamps Bates-style numbers on every page so any individual message can be cited by page, and records a SHA-256 hash of your original CSV in a processing certificate - so if anyone later asks whether the file changed after export, the hash answers the question for you. And if the thread names third parties or contains phone numbers that should not circulate, apply [PII redaction](/blog/pii-redaction-chat-export) during conversion rather than hand-editing the CSV - hand edits are exactly what this whole process exists to rule out. iMessage threads are personal, so before you upload anything it is also worth understanding [where the processing actually happens](/blog/process-whatsapp-export-browser-vs-server).
Upload your iMazing CSV and lock it into a paginated, hash-verified PDF - so your iMessage record holds up better than an editable spreadsheet.
Convert Your Chat Free