Plist JSON Converter
BetaConvert Apple property lists to JSON and JSON back to an XML plist in your browser. Reads XML and binary bplist files such as Info.plist and .mobileconfig, with dates and data kept explainable.
- Free, no sign-up
- REST + MCP
- Updated
- Reviewed by Olgun Ozoktas
The property list is converted in your browser and is not uploaded to FindUtils. Analytics and ads may load on the page.
The JSON will appear here..
Why Use Our Plist JSON Converter?
A property list is Apple's format for structured data: dictionaries, arrays, strings, integers, reals, booleans, dates and raw data. The same data can be stored as XML, with a <key> element before each dictionary value, or in the binary bplist00 format, which starts with the bytes bplist00 and ends with a trailer that locates every object. Info.plist files in app bundles, preference files and configuration profiles all use it.
The Plist JSON Converter reads both forms without uploading anything. XML is parsed with entities, CDATA sections and comments handled, and an error names its line. Binary plists are decoded object by object, including UTF-16 strings, 64-bit and larger integers, dates counted from 1 January 2001, sets and keyed-archive UIDs, with checks against damaged offsets, reference cycles and excessive nesting. Integers too large for a JSON number are written as strings so no digit is lost.
Going the other way, JSON becomes an XML plist 1.0 with Apple's DOCTYPE and tab indentation. Strings in ISO 8601 UTC form become <date>, strings starting with base64: become <data>, and null is refused because a plist cannot express it. OpenStep-style plists and signed configuration profiles are recognised and refused with the reason.
How it compares
On a Mac, plutil -convert json fails with "invalid object in plist for destination format" as soon as the plist holds a date or data value, and it is not available on Windows or Linux at all. Generic XML-to-JSON converters turn a plist into arrays of key and string elements instead of an object. This page maps plist types directly, reads binary plists too, and keeps the file in your browser.
Plist Conversion Tips
- JSON has no date or binary type, so <date> becomes an ISO 8601 string and <data> becomes base64. The conversion notes list the path of each one.
- To write <data> from JSON, start the string with base64: followed by the base64 value. Turn the option off if your strings legitimately start with base64:.
- A whole number written with a decimal point in JSON, such as 2.0, stays a <real>; 2 becomes an <integer>.
- Plists have no null. Remove the key or give it a value before converting JSON to a plist; the error names the exact path.
- The output is always an XML plist. Apple's tools read XML and binary plists alike, and plutil -convert binary1 turns the XML into binary if you need it.