plistutil1
Convert a plist file between binary, xml, and json format
Usage
plistutil [OPTIONS]
[-i
FILE]
[-o
FILE]
Overview
plistutil allows converting a Property List file between binary, XML, and JSON format.
Options
-
-i, --infile FILE -
Input FILE to convert from. If this argument is omitted or - is passed as filename, plistutil will read from stdin.
-
-o, --outfile FILE -
Output FILE to convert to. If this argument is omitted or - is passed as filename, plistutil will write to stdout.
-
-f, --format [bin|xml|json|openstep] -
Force output format, regardless of input type. This is useful if the input format is not known, but the output format should always be in a specific format (like xml or json).
If omitted, XML plist data will be converted to binary and vice-versa. To convert to/from JSON or OpenStep the output format needs to specified.
-
-p, --print FILE -
Print PList in human-readable format.
-
-c, --compact -
JSON and OpenStep only: Print output in compact form. By default, the output will be pretty-printed.
-
-s, --sort -
Sort all dictionary nodes lexicographically by key before converting to the output format.
-
-h, --help -
Prints usage information.
-
-d, --debug -
Enabled extended debug output.
-
-v, --version -
Print version information
Examples
- plistutil -i test.plist -o out.plist
-
Convert test.plist and write to out.plist. If test.plist is in XML format, out.plist will be in binary format. If test.plist is in binary format, out.plist will be in XML format.
- plistutil -i test.plist -o out.plist -f bin
-
Same as before, but the output will always be in binary format.
- plistutil -i test.plist -f xml
-
Print test.plist as XML plist, regardless of the input format.
- plistutil -i test.plist -f xml -o -
-
Same as before.
- plistutil -i test.plist -f json
-
Print test.plist as JSON plist, regardless of the input format.
- cat test.plist |plistutil -f xml
-
Take plist data from stdin - piped via cat - and write the output as XML to stdout.
On the web
https://libimobiledevice.org
https://github.com/libimobiledevice/libplist
History
- Arch Linux 2026-11-01 to Debian 13 (Trixie): the text shown here
- Debian 12 (Bookworm) to Debian 11 (Bullseye)
- Debian 10 (Buster) to Debian 8 (Jessie)
--compact since Debian 13 (Trixie);
--debug since Debian 11 (Bullseye);
--format since Debian 11 (Bullseye);
--help since Debian 11 (Bullseye);
--infile since Debian 11 (Bullseye);
--outfile since Debian 11 (Bullseye);
--print since Debian 13 (Trixie);
--sort since Debian 13 (Trixie);
--version since Debian 11 (Bullseye);
-c since Debian 13 (Trixie);
-d since Debian 11 (Bullseye);
-f since Debian 11 (Bullseye);
-h since Debian 11 (Bullseye);
-i since Debian 11 (Bullseye);
-o since Debian 11 (Bullseye);
-p since Debian 13 (Trixie);
-s since Debian 13 (Trixie);
-v since Debian 11 (Bullseye).