Software

Convert iChat transcripts to (useable) XML

iChat (a.k.a. Messages) doesn’t store its chat logs in a format that can be (easily) parsed outside of iChat, so if you want to use your chat data for anything, you’ll need to convert those logs to something better. (Anything would be better. Even AIM’s <FONT>-ridden HTML 3 is more useful than iChat’s binary plists.)

One suggestion I found that came close was to convert the binary plist to XML so that the XML could be parsed with the tool of your choosing:

$ plutil -convert xml1 example.chat

However, the XML generated by that command doesn’t include enough information to reliably determine which participant sent each message. (Or if it does, it doesn’t make it obvious enough that I would dedicate time to writing a parser.)

After trying every other promising script and program, here is the only thing that worked:

  1. Install Adium.
  2. Use Adium’s File > Import to import all of your iChat transcripts.
  3. After it finishes, look in ~/Library/Application Support/Adium 2.0/Users/Default/Logs/ and voila! Folders full of XML chat logs with data you can actually use. The file extension is .chatlog, but the content is sensible XML.

This process worked for me to convert 5,000 transcripts created by iChat between 2007 and 2013, and I used Adium 1.5.8.

Standard

5 comments on “Convert iChat transcripts to (useable) XML

  1. iMsgr says:

    Currently using Adium 1.5.10 and OSX 10.9.5 and having absolutely no results after the import declares it is successful. :(

  2. Kai says:

    @ IMSGR My iChat Archive with dated folders had to be in ‘~/Documents/iChats/’ for Adium to be able to see them. Using 1.5.10.2

  3. I’m running El Capital 10.11.6 with Message 9.2 and Adium 1.5.10.4. The widely recommended option of scrolling to the top of a message conversation works fine unless it is very long. I had one conversation that covered 2.5 years and the last year lone was 1,700+ pages in PDF form. I was able to convert my Messages conversation to more easily viewable Adium transcripts using the following steps:

    1. In your user folder go to the Documents folder and create a folder named “iChats” (per Kai’s comment above)

    2. In the Finder, hold the Alt/Option key, select the “Go” menu and then “Library” (which is normally invisible to a user)

    3. In ~/Library/Messages/ select all items and then “Copy”

    4. Return to ~/Documents/iChats/ and then “Paste”

    5. Open Adium and make sure you have Bonjour account setup with your Mac Account name (full name or “short” name)

    6. In Adium go to File > Import > iChat Accounts, Statuses and Transcripts

    7. Deselect Accounts and Statuses unless you want to use Adium for chatting

    8. Let ‘er rip!

    My transcript Archive with 7038 transcripts took many, many hours to import all the transcripts but they did all eventually come in.

  4. Ettore says:

    The procedure recommended by Will worked for me.
    I just wanted to add that the messages won’t just pop up on Adium.
    You’d have to manually ask it to run the transcription.

    Once you’ve already imported the messages;
    Menu Bar > Window > Chat Transcription Viewer
    Then select the content.

    Thanks!

Leave a Reply to Kai Cancel reply

Your email address will not be published. Required fields are marked *