Plist to JSON Converter – Apple Property List Convert Apple property lists to/from JSON.
100% offline
Input305 chars · 12 lines
Output56 chars
Converted · 5 lines
{
  "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

  1. Paste an Apple XML property list, or JSON, into the input pane.
  2. Choose PList → JSON to read a plist, or JSON → PList to generate one.
  3. 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.

Everything runs locally in your browser — your input is never uploaded.