Convert macOS/iOS Preferences Plist to JSON

Convert a macOS or iOS UserDefaults preferences plist to JSON. Covers common preference patterns including mixed types and nested structures.

iOS Settings

Detailed Explanation

UserDefaults Preferences Plist

macOS and iOS store user preferences using the UserDefaults system, which persists data as plist files in ~/Library/Preferences/. These files contain a mix of all plist types and are commonly exported for debugging or migration.

Plist Structure

<dict>
  <key>ShowSidebar</key>
  <true/>
  <key>FontSize</key>
  <real>14.5</real>
  <key>MaxRecentFiles</key>
  <integer>20</integer>
  <key>WindowFrame</key>
  <string>{{100, 200}, {800, 600}}</string>
  <key>LastOpened</key>
  <date>2025-12-15T09:30:00Z</date>
  <key>Theme</key>
  <string>dark</string>
  <key>Bookmarks</key>
  <array>
    <string>/Users/dev/Documents</string>
    <string>/Users/dev/Projects</string>
  </array>
</dict>

JSON Output

{
  "ShowSidebar": true,
  "FontSize": 14.5,
  "MaxRecentFiles": 20,
  "WindowFrame": "{{100, 200}, {800, 600}}",
  "LastOpened": "2025-12-15T09:30:00Z",
  "Theme": "dark",
  "Bookmarks": ["/Users/dev/Documents", "/Users/dev/Projects"]
}

Mixed Type Dictionary

Preferences plists are a great example of how a single <dict> can contain every plist type: booleans, reals, integers, strings, dates, and arrays. The tree view with type badges is particularly useful here to verify the type of each preference.

WindowFrame Pattern

macOS apps store window positions as NSStringFromRect output: "{{x, y}, {w, h}}". This is a string value, not a nested structure. The converter correctly preserves it as a JSON string.

Reading Preferences on macOS

You can export any app's preferences using: defaults export com.example.myapp - | pbcopy and then paste the result into this converter.

Use Case

Useful for developers debugging app preferences, migrating settings between machines, or building admin tools that display and modify user preferences through a JSON-based interface.

Try It — Plist ↔ JSON Converter

Open full tool