{
"Name": "Anvil",
"Version": 3,
"Enabled": true
}About Plist to JSON Converter – Apple Property List
Apple property lists (plists) are the XML configuration files that power macOS and iOS — `Info.plist` bundles, Launch Agents, preferences, and provisioning data all use the format. But plist's verbose `<dict>`/`<array>`/`<string>` grammar is awkward to read and edit by hand, and most tooling speaks JSON.
This plist to JSON converter translates Apple XML property lists into clean, readable JSON — and converts JSON back to a valid plist document — directly in your browser. Dicts become objects, arrays become arrays, integers and reals become numbers, `<true/>`/`<false/>` become booleans, and `<date>`/`<data>` values are preserved as ISO strings and base64.
Everything runs locally. Your configuration files and secrets never leave the device, so it is safe to paste production `Info.plist` or preference data.
Features
- Convert Apple XML plists to JSON and JSON back to plist
- Preserves dicts, arrays, integers, reals, booleans, dates, and data blobs
- Hand-written parser — no external libraries, fully offline
- Clear error messages on malformed plist or invalid JSON
How to use
- Paste an Apple XML property list, or JSON, into the input pane.
- Choose PList → JSON to read a plist, or JSON → PList to generate one.
- Review the converted output and copy it from the output pane.
Frequently asked questions
What plist types are supported?
All XML plist value types: dict, array, string, integer, real, true/false, date, and data. Dates are mapped to ISO-8601 strings and data blobs to base64 strings so they survive the round-trip to JSON and back.
Does it support binary plists (bplist)?
No. This tool handles the human-readable XML plist format. Binary plists must first be converted to XML (for example with `plutil -convert xml1` on macOS) before pasting them here.
Is my plist data uploaded anywhere?
No. Parsing and conversion happen entirely in your browser with a self-contained parser. Nothing you paste is sent to a server, so production configs and secrets stay on your machine.
How are dates and data preserved?
A plist `<date>` becomes the equivalent ISO-8601 string in JSON, and `<data>` becomes its base64 text. Converting back, ISO-8601 strings are re-emitted as `<date>` elements so the structure round-trips faithfully.
Related tools
Everything runs locally in your browser — your input is never uploaded.