Convert and Validate Plists with plutil

plutil switches plists between XML, binary, and JSON, lints broken files, and prints them readably.

macOSplistxmlplutilLow risk
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.plist

02What 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

RiskLow risk
RequirementsBuilt-in on macOS.
!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.plist

05Sources

Last verified: 2026-09-17 · Category: Developer

06Related solutions