Skip to content
jc-rs
GitHub

Private text plist viewer

Plist to JSON Converter and Viewer

jc-rs opens textual Apple property lists without a platform-specific viewer. Dictionaries, arrays, scalars, dates, byte data, and UIDs become JSON while retaining the document's nesting.

plist--plistv1.0.0

Universalfile

Try the real parser

Paste input on the left. The same Rust parser that ships in the binary runs locally in this page and writes its JSON on the right.

browser · WebAssembly
Loading the local parser.
inputeditable
jc-rs --plistJSON
Use the Left and Right arrow keys to highlight the matching value in the input.
{
  "Count": 3,
  "Enabled": true,
  "Name": "jc-rs"
}

Hover over a JSON value, or focus the JSON pane and use the Left and Right arrow keys, to trace it to the input. Parsing runs inside this tab in WebAssembly. Pasted text and opened files are not uploaded. If site analytics is enabled, it may receive page-level visit data such as the URL, title, and referrer; text in this editor is never included.

Accepted input

A non-empty XML plist or OpenStep/NeXTSTEP plist as UTF-8 text. The underlying parser also supports binary plist bytes, but the browser and current CLI interfaces accept strings, so this page does not claim reliable binary plist upload or conversion.

What the JSON contains

  • Dictionaries and arrays remain JSON objects and arrays; strings, integers, real numbers, booleans, and UIDs retain appropriate JSON scalar forms.
  • Byte-data values become lowercase, colon-delimited hex strings.
  • Dictionary dates produce an epoch value plus an _iso sibling; dates inside arrays are represented by epoch values.
  • A non-dictionary root is wrapped under value so the parser can still return a JSON object.

What you can do here

  • Inspect an XML property list as JSON
  • Convert a text plist without uploading the file
  • Review plist dates, data values, dictionaries, and arrays

Use the same parser in a shell

$ cat settings.plist | jc-rs --plist

The browser tool is for inspection. The CLI form is the useful one in scripts, pipes, containers, and repeatable checks.

Continue with the parsed JSON

Fixture coverage

4/4oracle-valid pairs match under the published structural JSON comparison

Magic syntax

not availableThis parser reads a file or a string rather than a command, so there is nothing for jc-rs to run. Pipe it in.

Source: crates/jc-rs-parsers/src/format/plist.rs. jc-rs targets the schemas defined by the original Python tool. Fixture coverage above is the measured evidence for this parser; test the inputs your pipeline depends on. Compare