Plist ↔ JSON Converter
Convert between Apple Property List XML and JSON formats instantly with type detection and tree view.
About This Tool
The Plist to JSON Converter is a free browser-based tool that transforms Apple Property List (plist) XML files into JSON and vice versa. Property lists are the standard configuration format used across macOS, iOS, watchOS, and tvOS for storing structured data such as app settings, launch agents, entitlements, and system preferences.
This tool parses all standard plist XML value types including <dict>, <array>, <string>, <integer>, <real>, <true/>, <false/>, <date>, and <data> (Base64-encoded binary). When converting from plist to JSON, each plist type is mapped to its natural JSON equivalent: dictionaries become objects, arrays become arrays, strings stay strings, integers and reals become numbers, and booleans map directly. Date values are preserved as ISO 8601 strings, and Base64 data values are kept as-is.
When converting JSON back to plist XML, the tool infers the appropriate plist type from each JSON value. Numbers are classified as <integer> or <real> based on whether they contain a decimal point. ISO 8601 date strings are detected and wrapped in <date> tags. The generated plist output includes the standard XML declaration and Apple DOCTYPE header, making it ready to use directly in Xcode, launchd, or any other Apple tool chain.
A built-in tree view lets you inspect the parsed structure visually, with collapsible nodes and color-coded type badges showing exactly how each value is interpreted. This is particularly helpful for debugging complex nested plists like Info.plist files or Launch Agent configurations.
All processing happens entirely in your browser. Your plist data never leaves your machine -- there are no server round-trips, no logging, and no third-party services involved. You can safely convert production configuration files, entitlements, and provisioning profiles without any privacy concerns. If you work with other structured data formats, you may also find our JSON to XML converter, JSON to YAML converter, or TOML to JSON converter useful.
How to Use
- Select the conversion direction using the Plist -> JSON or JSON -> Plist tabs at the top.
- Paste your plist XML or JSON into the input panel on the left, or click one of the Preset buttons (Info.plist, Launch Agent, Preferences) to load sample data.
- The converted output appears automatically in the right panel as you type.
- Switch between Text and Tree output views to inspect the parsed structure with type badges.
- Choose 2 spaces or 4 spaces indentation to control output formatting.
- Click Swap to reverse the conversion direction and use the current output as new input.
- Click Copy or press Ctrl+Shift+C to copy the output to your clipboard.
Popular Plist Conversion Examples
FAQ
What plist types are supported?
The converter supports all standard Apple plist XML value types: <dict> (dictionary/object), <array>, <string>, <integer>, <real> (floating-point), <true/> and <false/> (booleans), <date> (ISO 8601 dates), and <data> (Base64-encoded binary data). These cover the full plist specification as defined by Apple.
How are plist types mapped to JSON?
Dictionaries become JSON objects, arrays become JSON arrays, strings remain strings, integers and reals become JSON numbers, booleans map to true/false. Date values are stored as ISO 8601 strings in JSON, and Base64 data values are preserved as plain strings. When converting back from JSON, the tool infers types: integers vs reals are detected from decimal points, and ISO date strings are recognized automatically.
Can I convert binary plist files?
This tool only supports the XML format of plist files (text-based). Binary plist files (.plist in binary format) need to be converted to XML first. On macOS, you can use the command 'plutil -convert xml1 file.plist' to convert a binary plist to XML format before pasting it here.
Is the output valid for use in Xcode?
Yes. When converting JSON to Plist, the output includes the standard XML declaration and Apple DOCTYPE preamble. The generated XML conforms to the Apple Property List 1.0 DTD and can be used directly in Xcode, launchctl, defaults commands, and any other tool that reads plist files.
How are date values handled?
In plist-to-JSON conversion, <date> values are preserved as ISO 8601 strings (e.g., '2025-12-15T09:30:00Z'). In JSON-to-plist conversion, strings that match the ISO 8601 date pattern are automatically wrapped in <date> tags. Other date formats remain as <string> elements.
Is my data safe?
Yes. All parsing and conversion runs entirely in your browser using the built-in DOMParser API. No data is sent to any server. You can verify this by checking the Network tab in your browser's developer tools while using the tool. It is safe to use with production configuration files and sensitive provisioning profiles.
What happens with nested structures?
Nested dictionaries and arrays are fully supported to arbitrary depth. The tree view lets you expand and collapse nested nodes to navigate complex structures. Type badges are shown at every level so you can verify the exact plist type for each value.
Related Tools
JSON ↔ XML Converter
Convert between JSON and XML formats instantly with customizable root element and attribute handling.
JSON ↔ YAML Converter
Convert between JSON and YAML formats instantly with syntax validation.
JSON Formatter
Format, validate, and beautify JSON with syntax highlighting and tree view.
TOML ↔ JSON Converter
Convert between TOML and JSON formats instantly. Perfect for Cargo.toml, pyproject.toml, and config files.
XML Formatter
Format, validate, and minify XML with customizable indentation and syntax error highlighting.