Back up your text messages (and iMessages) with this free, open-source tool for the Mac. You might want to keep message history with your family for sentimental reasons; you might want to keep conversation records for business.
You might already back up your messages in iCloud, but Apple charges an arm and a leg for space. You can save space (and money) by making a local backup and clearing out your cloud storage.
Backing up your devices, photos and files is always a good idea — but there’s not a lot of tools for backing up texts. However, all of this is possible using a free tool called iMessage Exporter.
How to back up your text messages
iMessage Exporter will create a local backup with your full conversation history that you can search and read through. It saves it in a rich file format that looks a lot like an iMessage thread. You can choose to include all attachments and pictures for maximum backup or store it in plain text for maximum efficiency.
iMessage Exporter a small command-line tool that you run from the Terminal, not an app, but I can walk you through the process of using it. You just need a Mac.
Go to the Releases page to download it.
If you have a newer Mac with an Apple silicon chip, click imessage-exporter-aarch64-apple-darwin.tar.gz. If you have an older Intel Mac, click imessage-exporter-x86_64-apple-darwin.tar.gz. (If you’re not sure, click > About This Mac to double-check.)
Clear it with security first
Open your Downloads folder and double-click on the .tar file to unzip it. You should see a black icon that says imessage-exporter. Double-click on this to run it for the first time.
You’ll probably get a pop-up message saying you can’t run it. Click OK.
Open System Settings (aka System Preferences on older versions of macOS) and go to Privacy & Security. Scroll all down below the big list and you’ll see a message that says imessage-exporter “was blocked because it is not from an identified developer.”
Click Open Anyway, then click Open on the dialog box.
Make sure you also go back to System Settings, scroll back up to Full Disk Access and enable it for Terminal.
Finally… back up your text messages
Now you’re ready to get started. Click on the Terminal window that opened when you ran the tool. You can leave it open as a reference.
Open a new Terminal window by hitting Command-N (⌘N) and type in cd Downloads
. ‘cd’ stands for ‘change directory,’ this should point the Terminal to the same folder imessage-exporter downloaded in.
To make a backup, just type in ./imessage-exporter -f html -n -m YourFirstName
with your own name in place of ‘YourFirstName.’ (‘YourFirstName’ replaces your phone number in the export with your own name, making the export easier to read.)
- If you want to include pictures and videos, this will significantly increase the size, but it’ll be a more complete backup. Run the same command as above but exclude
-n
- If you want a plain text backup instead of a formatted HTML file, replace
html
withtxt
- If you want to save the backup directly to a different location instead of your Home folder, add
-p /folderpath/
The backup will go in your Home folder. Click the Finder icon and hit Shift-Command-H (⇧⌘H) to jump there.
Clear out your old iMessages from iCloud
After you make your local archive, you may want to free up some iCloud space.
Open Messages. In the menu bar, go to Messages > Settings (on older versions of macOS, it’s called Preferences). Just change Keep Messages from Forever to One Year.
From an iPhone, go to Settings > Messages and scroll down to find the same setting.
Delete the backup
If you mess up and you want to run it again with different settings, or if you don’t think you need the backup, it’s easy to delete.
By default, it puts it in your Home folder. Click on the Finder and hit Shift-Command-H (⇧⌘H) to bring it up. Just drag the imessage_export folder to the Trash and empty the trash.
Pretty good, but with limits
The tool is handy, but it has a few limitations. First, using the Terminal is challenging for people who aren’t fluent in command-line interfaces. It wouldn’t take much work to whip up a small interface in SwiftUI.
It’s understandable, but nonetheless annoying, that it can’t pull in contact names. Nonetheless, iMessage Exporter is a quick and easy way to save those messages of yore.