Take the 2-minute tour ×
Ask Different is a question and answer site for power users of Apple hardware and software. It's 100% free, no registration required.

From Finder, I can preview a plist file without any difficulties. For example, using Quick Look with ~/Library/Preferences/com.apple.Safari.RSS.plist I get a nice preview of its contents:

Quick Look

However, if I then try to open the file, either with TextEdit, or any other editor (I've tried SublimeText, TextMate, Vim, Nano, and Coda 2 so far), the encoding appears to be off:

bplist00Ò_"FixedRefreshesInBackgroundSettings_(com.apple.PreferenceSync.ExcludeSyncKeys ¡ 2]^����������������������������`

Here's what it looks like if I open it with TextEdit:


I've tried changing the encoding in Sublime Text and other apps, but that doesn't help.

Any thoughts?

I'm running 10.8.4.


2 Answers 2

up vote 2 down vote accepted

plist files are not necessarily plain text so they need to be run through a converter. Finder and Xcode (which has a plist editor) do this without telling the user

The binary format is documented in this C code so any application can convert it and someone has written a format description in English and more Apple documentation here but note that it references old paths in /Developer/Documentation

The command line program plutil can convert to and from XML

e.g. to view a binary property list in XML format on stdout:

plutil -convert xml1 -o - <file name>

ALso to convert a binary to a XML plist in place and then leave it as the user program can read either.

plutil -convert xml1 <file name>
Thanks. I see. So if I need to edit it, I need to convert it to XML, open it with an editor, and then convert it back. I will assume this is so. No need to reply unless I got it wrong! –  apc Sep 14 '13 at 14:49
You can also use plutil -convert xml1 ~/Library/Preferences/com.apple.Safari.RSS.plist to convert the plist to XML in place. And after you edit the plist, you don't have to convert it back to binary. –  Lri Sep 14 '13 at 15:35

You can also edit plist files with PlistBuddy, which is a command-line program.

PlistBuddy is located at /usr/libexec/PlistBuddy.


This site is currently not accepting new answers.

Not the answer you're looking for? Browse other questions tagged .