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, about 180 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.
On the backup's home page, click Messages. You'll see every conversation — individual and group, iMessage and SMS. Click any thread to read it. To save several at once, click Select and tick the ones you want.
Click Save conversation, or Save 3 conversations if you ticked three. Choose PDF, HTML, CSV or plain text, click Save, and pick a folder. PDF looks like a printed chat, HTML opens in any browser, and CSV is one row per message for analysis.
Does this get iMessage threads too? Yes — iMessage, SMS, MMS, group chats, all of it.
What about WhatsApp? WhatsApp chats have their own section and save the same ways. See exporting WhatsApp chats from an iPhone backup.
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? Photos show in the PDF and in the HTML page, in place in the conversation. The HTML page also plays videos and most audio, and links every other file, such as voice notes; they're all copied into a folder beside the page (Mom.html gets Mom_attachments). CSV and plain text mark where each photo or attachment was, but don't include the files themselves.
Will Apple know? No. OpenExtract only reads files already on your computer. It never uploads your data. It goes online only to check for updates, if you turn that on, and to send a feedback report if you choose to.
Is it really free? Yes. MIT licensed. Code on GitHub.