Code tool

Plist XML Formatter

Format supported plist 1.0 XML locally, preserving string whitespace, key order, comments and scalar text. Copy or download the result.

In-browser processingNo account requiredPrivacy details ↗

Paste plist 1.0 XML without its DOCTYPE. Up to 200,000 characters; 64 levels; 10,000 nodes. All processing stays in this browser.

A QUICK WALKTHROUGH

How to use this tool

  1. Paste XML without its DOCTYPE.
  2. Choose indentation and format the plist.
  3. Copy or download the formatted .plist.

Supported plist subset

One plist version="1.0" root with one value: dict, array, string, integer, finite decimal real, UTC date (YYYY-MM-DDTHH:mm:ssZ), base64 data, true or false. Dict keys must be unique and alternate with values. Comments and scalar CDATA are preserved. Namespaces, extra attributes, processing instructions, DTDs, entity declarations, binary plist and OpenStep plist are rejected. Remove the DOCTYPE declaration from an otherwise supported Apple XML plist before pasting.

Paste XML without its DOCTYPE.

Up to 200,000 UTF-16 characters, 64 levels and 10,000 DOM nodes. Formatting changes only container whitespace; scalar content is serialized by the browser XML serializer. XML declaration, entity spelling and empty-tag spelling may normalize; output declares UTF-8. No upload or external resource fetching.

GOOD TO KNOW

Common questions

Does this validate every Apple plist?

No. It checks this documented XML subset, not an Apple DTD or application-specific schema.