APKM Bundle Unpacker

APKM to APK Converter & Unpacker Online

Inspect and unpack .apkm split bundles directly in your browser. Automatically parse info.json metadata, verify binary container headers, extract base.apk and CPU/DPI splits, or generate a ready-to-run adb install-multiple command — 100% client-side with zero server uploads.

Drag & Drop .APKM Bundle Here

or click to select an .apkm, .apks, or .zip split archive

100% Local Browser Processing • Parses info.json & Split APKs

Inside the APKM Container Architecture

When developers publish an Android App Bundle (.aab) to Google Play, devices receive only the split APKs tailored to their hardware. Third-party archival platforms like APKMirror package those modular splits into an .apkm bundle alongside a JSON descriptor named info.json.

  • Header Magic Byte Verification: Checks whether the .apkm uses standard PKZIP framing (0x504B0304) or an encrypted v2 stream header.
  • info.json Manifest Parsing: Extracts package name (pname), version code, minimum Android SDK level, and supported CPU architectures.
  • One-Click Standard .apks Repackaging: Converts unencrypted .apkm containers into universal .apks ZIP archives compatible with SAI, bundletool, and our main Split APK Merger.

Technical Reference: Converting APKM Bundles to Standalone APK Files

An .apkm file is not a single compiled Android package—it is a multi-part archive containing a primary base.apk module alongside separate configuration splits for CPU instruction sets (split_config.arm64_v8a.apk, split_config.armeabi_v7a.apk), screen pixel densities (split_config.xxhdpi.apk, split_config.xxxhdpi.apk), and localized string resources (split_config.en.apk). Because Android's default package installer (PackageInstaller) only accepts a single monolithic .apk when sideloading from a file manager, tapping an .apkm file directly on your phone results in an unrecognized file error.

Even if you extract base.apk from an .apkm archive and try to install it by itself on Android 13, 14, or 15, two technical barriers prevent the app from working:

  • Binary Manifest Split Enforcement (isSplitRequired="true"): Inside the compiled binary AndroidManifest.xml of base.apk, the <application> tag carries the boolean attribute android:isSplitRequired="true" (attribute resource ID 0x01010591). When Android's PackageManagerService sees this flag during a single-APK install, it immediately aborts with INSTALL_FAILED_MISSING_SPLIT.
  • Separated Native Libraries & Density Resources: All compiled C/C++ shared libraries (lib/arm64-v8a/*.so) and high-resolution UI drawables reside in the companion split_config.*.apk files. Without merging those entries into the base archive and updating resources.arsc, the application crashes on launch with java.lang.UnsatisfiedLinkError or Resources$NotFoundException.
  • ZIP-Based vs. Encrypted APKM Streams: Standard .apkm archives begin with the 4-byte PKZIP signature (50 4B 03 04) and include an info.json file at the root. However, certain newer APKMirror downloads use a custom encrypted wrapper format (magic header 02 ...) designed exclusively for their proprietary installer. Our analyzer checks the first 16 bytes of your file immediately in browser memory: if it is a standard ZIP-based .apkm, you can unpack all splits or export a clean .apks archive right here, then drop that archive into our homepage XAPK & Split APK Merger to compile a single, v1+v2 signed .apk.
APKM Internal File Purpose in Android App Bundle Delivery Required for Standalone Install?
info.json JSON metadata descriptor recording package name, versioncode, min_api, and target ABIs No (metadata only; stripped during APK merge)
base.apk Primary DEX bytecode (classes.dex), core AndroidManifest.xml, and baseline resources Yes (Mandatory core package)
split_config.arm64_v8a.apk 64-bit ARM native C/C++ shared libraries (lib/arm64-v8a/*.so) Yes (Required on modern 64-bit phones)
split_config.xxhdpi.apk High-density UI icons, bitmaps, and layout drawables (320dpi–640dpi) Yes (Prevents missing drawable crashes)
split_config.en.apk Localized string tables compiled for the user's system language Recommended (Ensures UI text labels render properly)
Engineered & Documented by Mst Shaefale Lead Developer & Android Package Architect • Verified on Android 12–15

All file inspection in the APKM Unpacker runs 100% locally in your browser using the HTML5 File API and JSZip.

APKM to APK — Frequently Asked Questions

Drop your .apkm archive into the unpacker above and click Repackage as Standard .APKS (ZIP), or extract the split APKs directly. You can then either merge all splits into a single standalone signed APK using our main XAPK & Split APK Converter, install them via open-source SAI (Split APKs Installer), or run the generated adb install-multiple command from your PC or Mac.

Some newer downloads from APKMirror are wrapped in a proprietary encrypted stream cipher rather than a standard PKZIP container. When our binary header check detects non-ZIP magic bytes, you can either convert the installed app from your device into a standard split backup using SAI, or use an open-source desktop CLI decryptor (apkm2apk) before merging the splits in your browser.

Yes. Everything runs locally in your browser memory—no files are uploaded to or retained on any server. Please only process packages that you legally own, open-source releases, or your own development builds.