Convert and Validate Plists with plutil
plutil switches plists between XML, binary, and JSON, lints broken files, and prints them readably.
Run `plutil -convert xml1 Info.plist` to rewrite a binary plist as editable XML in place; check any file first with `plutil -lint`.
01Command
Command
$ plutil -convert xml1 Info.plist02What it does
plutil is the Swiss army knife for property lists: -convert xml1|binary1|json changes the on-disk representation (in place unless -o is given), -lint validates syntax and exits non-zero on corruption, and -p pretty-prints a binary plist readably. The XML form is what git diffs and manual editing expect, while binary loads faster for apps. Combine with defaults export or PlistBuddy for scripted config surgery.
03Risk
!Warning: Converting to JSON drops the data types plists support (dates, raw data) — only use json for simple dictionaries.
04Undo
Undo
$ plutil -convert binary1 Info.plist05Sources
- plutil — convert and validate plist files (macOS)Evidence: Documents -convert with xml1/binary1/json targets, -lint for syntax validation, and -p for human-readable printing.
Last verified: 2026-09-17 · Category: Developer