How to use it
- Paste JSON into the input above, or open a .json file, then preview the conversion.
- Check the types in the tree — whole numbers become integers, others reals.
- Adjust any value that should be a date, data blob or real, then download XML. Use Other formats for binary output.
Why the type check matters
JSON cannot express the difference between <integer>1</integer> and <real>1.0</real>, and it has no date or data type at all. The tree lets you set the right plist type per key before exporting.
Try an input and compare the output
These small synthetic examples contain no personal data. Use Load sample above to inspect the same values in the tree.
{"Name":"Example","Enabled":true,"Count":3}
<dict>
<key>Name</key><string>Example</string>
<key>Enabled</key><true/>
<key>Count</key><integer>3</integer>
</dict>
The XML fragment is wrapped in a complete plist document when downloaded. Strings that look like dates remain strings until you change their type in the tree.
Conversion rules and limits
| Plist | JSON | What to check |
|---|
| integer / real | number | 1 and 1.0 become the same JSON number; JSON import uses integer for whole numbers. |
| date / data | string | ISO date / Base64 text. Reverse conversion does not infer their original types. |
| UID | number | The UID tag is lost. XML export uses a CF$UID dictionary; confirm archive compatibility. |
| No equivalent | null | JSON to Plist rejects null instead of silently replacing it. |
| dict | object | Duplicate keys collapse and numeric-looking keys may reorder in JSON. Use unique keys. |
Numbers use JavaScript precision. JSON imports reject non-finite numbers and integers outside ±9,007,199,254,740,991. Decimal fractions can round; represent exact identifiers or decimals as strings. This tool is not an arbitrary-precision converter.
Keep plist types when editing · Apple's property-list types
Frequently asked questions
- Will key order be kept?
- Ordinary unique keys follow JavaScript object order. Numeric-looking keys may reorder, and duplicate JSON keys collapse during parsing. Keep the source if those distinctions matter.
- Can I output a binary plist?
- Yes, choose Download → Binary plist.