Plist & Protobuf Decoder Lite
Open XML or binary plists and small protobuf blobs for quick examination locally in your browser.
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.
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.