For free. As a PDF you can print, an HTML archive you can browse, or a CSV you can search. The whole thread — photos, reactions, timestamps — not screenshots.
If you've ever tried to do this with Apple's own tools, you already know: they don't really let you. Messages in iCloud is a sync target, not an export. AirDrop handles one message at a time. The only sanctioned way to save a thread is to screenshot it forever, which isn't saving, it's photographing.
There's a better way. Every time your iPhone makes a backup, it writes all of your messages into a folder on your computer. They're just sitting there, in a database format you can't open normally. OpenExtract opens it.
Plug your iPhone into your computer. On Mac: open Finder, click your iPhone. On Windows: open iTunes. Tick Encrypt local backup, set a password, hit Back up now. Wait for it to finish. If you have a recent backup already, skip this.
Free, 48 MB, Mac / Windows / Linux. Download here. No account, no trial.
OpenExtract finds existing backups automatically. If prompted, enter the password you set in step 1. The password never leaves your computer.
You'll see every conversation — individual and group, iMessage and SMS. Click any thread to preview. Tick the ones you want to export.
PDF looks like a printed chat, HTML is a browsable archive with images, CSV is one row per message for analysis. Files land on your Desktop.
Does this get iMessage threads too? Yes — iMessage, SMS, MMS, group chats, all of it.
Will it get messages I deleted? Only if they still existed on your phone when the backup was made. A backup is a snapshot; it has what the phone had at that moment.
Do I need my phone? No. Only the backup, which is a folder on your computer.
What about photos and voice notes in the threads? They come along. Photos are inline in the PDF and HTML, saved as separate files next to the CSV.
Will Apple know? No. OpenExtract only reads files already on your computer. It makes zero network calls.
Is it really free? Yes. MIT licensed. Code on GitHub.