Apple iOS App Store Package
ZIP-compressed iOS/iPadOS application distribution archive structured around `Payload/<AppName>.app/Info.plist` (`bplist00`) and Mach-O ARM64 binaries.
Disambiguated from generic `.zip` and `.aab` by locating `Payload/*.app/` directory entries in the ZIP Central Directory.
Drop any .ipa file (even 100 GB+) to inspect locally
Reads tiny File.slice() header/footer pages in a sandboxed Web Worker · 0 Bytes Uploaded
.ipa Magic Bytes & Header Offset Map
PKZIP archive containing Payload/*.app/Info.plist
| Byte Offset | Length | Data Type | Field Name | Engineering Description |
|---|---|---|---|---|
| 0x00 - 0x03 | 4 B | uint32_le | zip_magic | PKZIP Local File Header |
| 0x1E+ | var | utf8 | payload_entry | 'Payload/<App>.app/...' bundle path |
.ipa Security & Polyglot Risk Matrix
Guard mobile CI extractors against Zip Slip (`../`) and symlink escapes inside Payload/ before running codesign or plist parsers.
Read .ipa Header & Metadata Without Heavy Dependencies
import sys, zipfile
with zipfile.ZipFile(sys.argv[1], "r") as zf:
plists = [n for n in zf.namelist() if n.startswith("Payload/") and n.endswith("Info.plist")]
assert plists, "Missing Payload/*.app/Info.plist"
print("Valid iOS IPA:", plists[0])Deterministic .ipa Sample Files & Edge Cases
minimal-app.ipa
UNSIGNED container-structure fixture: real ZIP with Payload/DemoApp.app/Info.plist (binary plist via plistlib) and a Mach-O arm64 header stub. NOT a signed installable app.
curl -fsSL https://fileformat.co/fixtures/v1/ipa/minimal-app.ipa -o minimal-app.ipa \
&& echo "85778c5134a0d4c6235923fcfd82c823b35e2e9577a5fd61f7c8b5226000d479 minimal-app.ipa" | shasum -a 256 -cobservatory-ios-bundle.ipa
UNSIGNED container-structure fixture: binary-plist Info.plist + PkgInfo + Mach-O stub for mobile CI artifact scanner tests. NOT a signed installable app.
curl -fsSL https://fileformat.co/fixtures/v1/ipa/observatory-ios-bundle.ipa -o observatory-ios-bundle.ipa \
&& echo "53e13f6ea9bf56efe9c454706fa93e38d45bd77fa86d033b9cba843202a66348 observatory-ios-bundle.ipa" | shasum -a 256 -ctruncated-eocd.ipa
Interrupted-upload fixture: ZIP container missing the EOCD record — zipfile must raise.
curl -fsSL https://fileformat.co/fixtures/v1/ipa/truncated-eocd.ipa -o truncated-eocd.ipa \
&& echo "c4abf5147786a39819f7c469079e22f72bfa617f2d9a7d10641c99c41a7c0717 truncated-eocd.ipa" | shasum -a 256 -cRelated Specifications & Alternatives
Google Play publishing format packaging `BundleConfig.pb`, Protocol-Buffer encoded `base/manifest/AndroidManifest.xml`, and DEX bytecode inside a modular ZIP container.
Zero-compression, 64-byte mmap-aligned PKZIP package created by Pixar & Apple for AR QuickLook and VisionOS spatial scenes, beginning with a root `.usdc` (`PXR-USDC`) or `.usda` stage.
Portable, sandboxed stack-machine binary bytecode format (`\0asm` v1) structured as a sequence of LEB128-framed Type, Import, Function, Memory, Export, and Code sections.