APK + OBB to XAPK Packager

XAPK Builder & Packager Online Free

Combine a Base APK, Split APKs, and Android OBB expansion files into a single standards-compliant .xapk archive with an automatically generated manifest.json descriptor — 100% locally in your browser.

Drop .APK and .OBB Files Here

Select one or more .apk splits and optional .obb expansion files

Supports multiple files • Auto-generates XAPK v2 manifest.json

Why Package APK + OBB into an XAPK Container?

When distributing large Android builds, QA test releases, or personal backups that include separate main.<ver>.<pkg>.obb asset archives or modular ABI splits, sending multiple loose files causes users to misplace the OBB folder. Packaging them into a single .xapk bundle solves this cleanly.

  • Automatic OBB Path Routing: Places every .obb file inside Android/obb/<package_name>/ and writes the exact install_location: "EXTERNAL_STORAGE" rule into manifest.json.
  • Automatic Split ID Assignment: Assigns base and config.* split identifiers so open-source installers and our XAPK to APK Merger recognize every module.
  • Auto-Detects Package Name from OBB Filename: If you drop main.104.com.company.title.obb, the builder automatically extracts com.company.title and version code 104.

XAPK Specification v2 Reference & APK to XAPK / APKS Conversion Guide

Step-by-step visual diagram showing how to package APK and OBB files into .XAPK and convert between XAPK and APKS containers
Visual Guide — APK to XAPK Converter & XAPK to APKS Workflow: Whether you are looking for an apk to xapk packager, an apk to xapk converter for game backups, or an xapk to apks / apk to apks converter & apk splitter online reference, read our Complete APK to XAPK & XAPK to APKS Visual Guide. (Complete APK to XAPK & XAPK to APKS Visual Guide)

The XAPK container specification uses standard DEFLATE ZIP framing with a mandatory root-level manifest.json file encoded in UTF-8 without BOM. To guarantee compatibility across desktop unpackers, ADB deployment scripts, and split-APK installers, an XAPK bundle must follow these structural conventions:

  • Root-Level Split APKs (split_apks): Every .apk file inside the bundle is stored at the root of the ZIP archive. The primary module must carry "id": "base", while architecture, density, and locale modules carry "id": "config.<qualifier>" (for example, config.arm64_v8a or config.xxhdpi).
  • Expansion Asset Hierarchy (expansions): Each .obb expansion blob is stored inside Android/obb/<package_name>/<filename>.obb within the ZIP tree and declared in the expansions array with "install_location": "EXTERNAL_STORAGE" and "install_path": "Android/obb/<package_name>/<filename>.obb".
  • Byte-Accurate total_size Calculation: Installers verify that the total_size integer in manifest.json equals the exact sum of the uncompressed byte lengths of all packaged .apk and .obb files so devices can pre-check available flash storage before extraction. Our builder computes this exact byte sum automatically.
Engineered & Documented by Mst Shaefale Lead Developer & Android Package Architect • Verified on Android 12–15

All XAPK packaging runs 100% locally in your browser's memory. Need custom enterprise packaging advice? Contact our engineering team.