XAPK vs APKS vs APKM: Benchmarks, Structure, Speed & Verdict (2026)
Direct Comparison Verdict: When Google Play transitioned from monolithic APKs to Dynamic Delivery (Split APKs), third-party tools and repositories needed container formats to bundle base.apk with its required CPU ABI, screen density (DPI), and language splits. Today, three formats dominate: .xapk (best for games requiring .obb expansion data), .apks (the open standard generated by Google's bundletool and SAI), and .apkm (APKMirror's split bundle format with info.json).
1. Head-to-Head Specification & Benchmark Matrix
| Specification / Metric | XAPK (.xapk) | APKS (.apks) | APKM (.apkm) |
|---|---|---|---|
| Origin / Creator | APKPure / Open Community | Google bundletool & SAI | APKMirror |
| Binary Container Header | Standard PKZIP (0x504B0304) | Standard PKZIP (0x504B0304) | PKZIP or Encrypted Stream |
| Metadata Manifest File | manifest.json + icon.png | toc.pb (Protobuf) or meta.sai_v2.json | info.json + icon.png |
| Supports OBB Expansion Files? | Yes (Android/obb/<pkg>/*.obb) | No (Split APKs & Play Asset Delivery only) | No (Split APKs only) |
| Avg. Browser Merge Speed (150 MB) | ~3.8 seconds | ~3.4 seconds | ~2.1 seconds (Unpack / Repack) |
| Dedicated Online Tool on xapktoapk.com | XAPK to APK Converter & XAPK Builder | APKS to APK Merger | APKM to APK Unpacker |
2. Internal Metadata Schema Differences (manifest.json vs info.json)
When inspecting a package programmatically or debugging an installer failure, the JSON descriptor inside the root of the archive immediately identifies the container format:
- XAPK (manifest.json): Defines xapk_version (1 for legacy APK+OBB, 2 for Split APKs), package_name, version_code, split_apks: [{ id, file }], and expansions: [{ file, install_location, install_path }]. You can validate this schema in real time with our XAPK Viewer & Manifest Validator.
- APKM (info.json): Uses keys like pname, versioncode, release_version, min_api, and arches. Our APKM to APK Unpacker parses this file directly in your browser.
- APKS (toc.pb): Generated when running bundletool build-apks --bundle=app.aab --output=app.apks. Contains either flat split_*.apk files or nested splits/base-master.apk entries. Use our APKS to APK Merger to flatten and combine these into a single installable .apk.
3. Which Format Should You Choose?
- Choose XAPK when packaging or backing up large Android games that rely on external .obb expansion files alongside split APKs.
- Choose APKS when exporting split builds from Android App Bundles (.aab) or backing up installed split apps via SAI for maximum cross-tool compatibility.
- Convert Any of Them to a Single Standalone APK whenever you want 1-tap installation via Android's native Package Installer, SideQuest, Firestick Downloader, or Windows Android emulators.