Sign up ×
Ask Different is a question and answer site for power users of Apple hardware and software. It's 100% free, no registration required.

How do you convert the iChat transcript files that Messages creates into human-readable text files that can be opened without the Messages app?

For reference, these are the conversation files located in ~/Library/Messages/Archive.

Simply opening the .ichat files in a text editor includes a bunch of additional strings and hashes. Opening them in Messages and copy-pasting into a text editor works, but I'd prefer to automate the process if possible.

share|improve this question

6 Answers 6

If you are familiar with sqlite, you can just export the messages directly from the database on Mountain Lion iMessage.

sqlite3 /Users/(username)/Library/Messages/chat.db

From the database, you can send sql commands to get any and all messages and associated fields you have interest. Further, you can change the output settings to write directly to a file.

Also, in addition to the database, all photos are stored in the Attachments folder.

share|improve this answer
iChat transcripts (.ichat files) are not SQLite databases. – Sean Moubry Apr 29 at 15:55

This wouldn't be a perfect solution, but I notice that the messages are always between Ä_ and _$. You could write a script to extract all the text which started and ended with those characters. (any language with rexex support would do)

share|improve this answer

If you select print from the file menus, when the print box opens in the lower left is a pdf button with a drop down. From here you can save as pdf, post script, mail as pdf or send to iTunes.

share|improve this answer

This seems like an ideal application of Automator workflows or AppleScript, since both of those can do "press buttons onscreen" style behavior. You'd say "take file as input," and use something under "print" or "messages" if there are either of those, or use AppleScript to tell it to open the file and press file and print and save as pdf and then close the file.

share|improve this answer

The files that Messages saves have an ichat file extension.

But from the command line you can inspect them to see they are actually binary plist files:

$ file transcript.ichat
transcript.ichat: Apple binary property list

Turns out, you can easily convert binary plist files into human-readable XML documents:

$ plutil -convert xml1 transcript.ichat

Now, when you run file again, you can see it's an XML file:

$ file transcript.ichat
transcript.ichat: XML document text

Go ahead—open it and see for yourself:

$ open transcript.ichat
share|improve this answer

Check out my project that will take all of your conversations and convert them into one readable text file. It won't convert just a single iMessage, but it will collect all of your messages and attachments, back them up, and put them into a human-readable format.

share|improve this answer
Does it work with iChat log files? – patrix Jul 18 at 8:40
It uses your iChat log files found in your ./Library/Messages/chat.db to convert into a text file. – Peter Kaminski Jul 18 at 18:20

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.