Open any .plist file online - binary, XML or old-style - and read it as a clean tree of keys and values. See what is inside an app's Info.plist, unpack NSKeyedArchiver data and convert plist to JSON, YAML, XML or binary. Plain XML files open better in the XML Viewer, and JSON in the JSON Viewer.
Something went wrong. Please try again.
Still having trouble? Please contact us and we'll be happy to help!
Binary bplist00, XML, old-style OpenStep, .strings files in UTF-8 or UTF-16, and JSON.
Types, item counts, expand and collapse, smooth even with hundreds of thousands of values.
App name, bundle ID, version, minimum OS, URL schemes and every permission prompt - straight from an .ipa too.
UID links resolved into readable objects with class names, with the raw archive one click away.
Find any key or value and copy its path in dot or PlistBuddy style for scripts.
XML to binary, binary to XML, plus JSON and YAML that handle dates and data properly.
Data values that hold another plist open in place, with a breadcrumb back.
Preferences and archives stay on your device - nothing is uploaded.
A plist, or property list, is how Apple software stores settings and structured data.
It holds dictionaries, arrays, text, numbers, dates and raw data, nested as deep as needed.
Every Mac and iPhone app carries an Info.plist with its name, version and permissions. Preferences live in ~/Library/Preferences as plists, and so do launch agents, configuration profiles, Safari bookmarks and many backup files.
bplist00; compact and fast, but unreadable in a text editor. Most preference files use it.<key>, <string> and <dict> tags; Xcode writes Info.plist this way.{ key = value; } text from NeXTSTEP days, still used by .strings localisation files.App icons named in Info.plist (CFBundleIconFile) are .icns files - look inside them with the ICNS Viewer or make one with PNG to ICNS.
Plists are Apple files, but you can read them anywhere.
This page works on every device with a modern browser.
Windows has no plist app, and Notepad shows binary plists as gibberish. Drop the file here in Edge or Chrome, then download it as XML or JSON if you need to edit it in Notepad or VS Code.
Xcode opens plists in its property list editor. In Terminal, plutil -p file.plist prints any plist readably and plutil -convert xml1 file.plist rewrites a binary plist as XML in place. For a quick look without tools, drop it here.
The Files app cannot show what is inside a plist. Open this page in Safari, tap the drop area and choose the file - or an .ipa - from Files or iCloud Drive.
Open this page in Chrome, tap the drop area and pick the plist from your downloads. Search, the tree and every export work on a phone.
Open the plist and pick a format under Download as.
The big button converts to the other plist format: binary becomes XML, XML becomes binary.
{"CF$UID": n}. Apple's plutil -convert json stops with an error on dates and data; this converter does not. Check the result in the JSON Viewer.!!binary and dates as YAML timestamps. Open it in the YAML Viewer.plutil and the XML Viewer read.All four can hold the same settings.
They differ in size, readability and which value types survive.
| Format | Starts with | Readable in a text editor | Dates and data | Typical use |
|---|---|---|---|---|
| Binary plist | bplist00 | No | Yes, plus UIDs and sets | Preferences, archives, caches |
| XML plist | <?xml ... <plist> | Yes | Yes (Base64 data) | Info.plist, entitlements, profiles |
| Old-style plist | { or "key" = | Yes | Data only, no dates | .strings files, legacy configs |
| JSON | { or [ | Yes | No - stored as text | Web APIs, sharing with non-Apple tools |
Curious about the raw bytes? Open a binary plist in the Hex Viewer to see the bplist00 header, the object table and the trailer.
Many apps save objects with NSKeyedArchiver.
The result is a binary plist that looks like a puzzle at first.
Instead of nesting values, an archive keeps every object in one flat $objects array and links them with UID numbers, starting from $top. The Unarchived view follows those links for you: strings, numbers, dates, URLs, UUIDs, arrays, sets and dictionaries come back as plain values, and custom objects keep their class name.
Objects that point back to themselves - like a layer that knows its document - are shown as a circular reference instead of looping forever.
Xcode and macOS show this for a plist with a syntax error. Open the file here: the error names the line and column, like an unclosed <string> or a missing </dict>.
That is a binary plist, not a damaged file. It opens here as a tree; download it as XML to edit it in a text editor.
The offset table at the end of a binary plist points to every object, so a file cut off during copying cannot be read. Copy it again from the original device or backup.
Drop the .ipa and its Info.plist opens directly. For other archives, open them in the ZIP Viewer, save the plist and drop it here - or browse all file viewers.
Drop the .plist file onto this page or click to browse. It opens as a tree of keys and values, whether it is a binary plist, an XML plist or an old-style text plist.
It works on Windows, Mac, Linux, iPhone and Android with nothing to install.
Yes. Windows has no plist app, and Notepad shows binary plists as garbled characters.
Open the file here in Edge, Chrome or Firefox and you get the readable tree right away, plus a download as XML or JSON that any Windows editor can open.
Open the plist, switch the code view to JSON and press Download, or Copy to paste it somewhere.
Dates become ISO 8601 text, data becomes Base64 and archive UIDs become {"CF$UID": n} objects, so even plists that plutil cannot convert to JSON work.
Open the binary plist and press XML plist under Download as. The result is the standard Apple XML format that Xcode, plutil and text editors read.
It works the other way round too: open an XML plist and choose Binary plist to get a compact bplist00 file.
It is the compact binary form of an Apple property list. The file starts with the text bplist00, stores each value once in an object table and ends with an offset table.
That makes it fast for apps but unreadable in a text editor. macOS and iOS save most preference files this way.
Open it here and the viewer switches to the Unarchived view. Archives store every object in a flat $objects list linked by UID numbers.
The viewer follows those links and rebuilds the strings, numbers, dates, arrays, dictionaries and custom objects with their class names. Raw shows the archive exactly as stored.
Drop the .ipa file onto this page. An IPA is a ZIP archive, and the viewer finds Payload/App.app/Info.plist inside it.
It opens with a summary of the app name, bundle ID, version, minimum iOS version, URL schemes and the permissions the app asks for.
No. The file is read by your own browser and never leaves your device, which matters for preference files and archives that can hold account names, paths and tokens.
Close the tab and it is gone.