Convert Provisioning Profile Plist Excerpt to JSON

Convert the plist content extracted from an iOS provisioning profile to JSON. Understand team IDs, device UDIDs, and certificate data.

iOS Settings

Detailed Explanation

Provisioning Profile Plist

iOS provisioning profiles (.mobileprovision files) contain a plist payload wrapped in a CMS signature. After extracting the plist (using security cms -D -i profile.mobileprovision), you can convert it to JSON for easier inspection.

Typical Structure (Excerpt)

<dict>
  <key>AppIDName</key>
  <string>My App</string>
  <key>ApplicationIdentifierPrefix</key>
  <array>
    <string>ABC123DEF4</string>
  </array>
  <key>CreationDate</key>
  <date>2025-01-15T10:00:00Z</date>
  <key>ExpirationDate</key>
  <date>2026-01-15T10:00:00Z</date>
  <key>Name</key>
  <string>My App Development</string>
  <key>ProvisionedDevices</key>
  <array>
    <string>00001111-AAAA2222BBBB3333</string>
    <string>00004444-CCCC5555DDDD6666</string>
  </array>
  <key>TeamIdentifier</key>
  <array>
    <string>ABC123DEF4</string>
  </array>
  <key>TeamName</key>
  <string>Example Corp</string>
  <key>TimeToLive</key>
  <integer>365</integer>
  <key>Version</key>
  <integer>1</integer>
</dict>

JSON Output

{
  "AppIDName": "My App",
  "ApplicationIdentifierPrefix": ["ABC123DEF4"],
  "CreationDate": "2025-01-15T10:00:00Z",
  "ExpirationDate": "2026-01-15T10:00:00Z",
  "Name": "My App Development",
  "ProvisionedDevices": [
    "00001111-AAAA2222BBBB3333",
    "00004444-CCCC5555DDDD6666"
  ],
  "TeamIdentifier": ["ABC123DEF4"],
  "TeamName": "Example Corp",
  "TimeToLive": 365,
  "Version": 1
}

Date Fields

Provisioning profiles use <date> for CreationDate and ExpirationDate. The JSON output preserves these as ISO 8601 strings, making it easy to check expiration with standard date libraries.

Device UDIDs

The ProvisionedDevices array lists all device UDIDs registered for development profiles. In JSON format, this array is easy to process for fleet management or automated device registration scripts.

DeveloperCertificates

The full provisioning profile also contains <data> elements for DER-encoded certificates. These large Base64 strings are preserved in JSON, though they are typically processed by specialized certificate tools rather than read directly.

Use Case

Critical for iOS build engineers who need to inspect provisioning profile contents, check device registrations, verify expiration dates, or automate profile management in CI/CD pipelines.

Try It — Plist ↔ JSON Converter

Open full tool