Plist & Protobuf Decoder Lite

Open XML or binary plists and small protobuf blobs for quick examination locally in your browser.

All analysis happens locally in your browser. No data is uploaded to our servers.

This Lite tool offers best-effort decoding of plist and protobuf payloads entirely in the browser. For binary plist decoding you can upload a compatible WASM parser from the UI to enable full decoding. For complex protobuf schemas consider uploading a matching .proto or exporting to a local tool.

Optional: upload a WASM parser to enable full binary plist decoding.

Plist & Protobuf Decoder Lite

Open XML/binary plist and simple protobuf messages for quick inspection locally in the browser.

Drop plist or protobuf file here or click to browse

Accepted: .plist,.bin,.pb,.proto

Optional: drop .proto schema to enable protobuf decoding

Accepted: .proto

No file selected

Drop a plist or protobuf file to decode.

Frequently Asked Questions

Which plist formats are supported?

This tool recognizes XML and binary (bplist) plists. Binary plist decoding can use an optional WASM parser; without it the tool shows a preview or hexdump.

How do I enable full binary plist decoding?

Upload a compatible .wasm parser directly from the tool UI. The tool will attempt to load and use the uploaded module for full binary decoding. See the tool UI for required exports and a short build hint.

How can I obtain a compatible WASM parser?

Build one from source using Rust (wasm-bindgen/wasm-pack) or C/C++ (Emscripten). Example (Rust): wasm-pack build --release --target web to produce a .wasm suitable for the browser. Example (C): emcc -O3 -s WASM=1 -s EXPORTED_FUNCTIONS="["_parse","_malloc","_free"]" -o parser.wasm source.c. Ensure the module exports the functions and memory the tool expects (see the tool UI for exact names and conventions).

Can I decode protobuf blobs?

Yes — the tool provides best-effort protobuf detection. Uploading a matching .proto schema enables accurate decoding of binary protobuf messages.

Is my data uploaded anywhere?

No. All parsing occurs in your browser. Files and schemas are not transmitted to external servers.