Free tool · no signup · plus the bundletool conversion guide

AAB inspector.
See inside an Android App Bundle.

Drop an .aab file to inspect its modules, native architectures, dex count, and resources. Need to actually install one? We'll show you the exact bundletool commands to convert it to an APK.

File deleted after inspection. We never upload your bundle anywhere.

Be honest with you

AAB files can't be installed directly. Phones install APKs; AAB is a publishing format Google introduced in 2021 so the Play Store can deliver smaller per-device builds.

To actually install an AAB, you need Google's official bundletool to convert it into a signed APK. We show you the exact commands further down this page. Anything that promises "online AAB to APK conversion" without your signing key is either lying or producing an unsigned file your phone will reject.

What this inspector can do: show you the modular structure, native architectures bundled, dex count, asset counts, and whether the bundle is well-formed.

AAB → APK conversion

How to convert an .aab to an installable APK

The honest answer most "AAB to APK" tools won't tell you: an installable APK has to be signed with your developer key. Google's bundletool is the only way to convert an AAB to an APK that's signed properly. Anything else gives you an APK Android will refuse to install.

The good news: bundletool takes about 60 seconds end-to-end once Java is installed.

1. Get bundletool

Download bundletool-all-x.x.x.jar from github.com/google/bundletool/releases. You'll also need Java 8 or newer installed:

# macOS / Linux — check Java is installed
java -version

# Windows — same command in PowerShell or cmd

2. Generate a universal APK

A universal APK bundles every architecture and resource into one file — perfect for testing or sideloading where you don't know in advance which device will install it.

java -jar bundletool-all.jar build-apks \
  --bundle=app.aab \
  --output=app.apks \
  --mode=universal \
  --ks=keystore.jks \
  --ks-key-alias=upload \
  --ks-pass=pass:YOUR_KEYSTORE_PASSWORD \
  --key-pass=pass:YOUR_KEY_PASSWORD

Replace the keystore arguments with your actual signing key. If you don't have one, generate one with:

keytool -genkey -v -keystore keystore.jks \
  -keyalg RSA -keysize 2048 -validity 10000 \
  -alias upload

3. Extract the APK

The output app.apks is actually a ZIP container. Rename to .zip, extract, and you'll find universal.apk inside the universal/ folder. That's the file you install.

unzip app.apks -d unzipped
# Look in unzipped/universal/universal.apk

4. Install / share

  • To your own device: adb install unzipped/universal/universal.apk
  • To testers: drop the APK into App On The Go for a shareable one-tap install link.

Why not a "device-specific" APK?

Bundletool can also generate one APK per device with --mode=default + --connected-device, but you'd need to physically connect each test device. For testers in other locations, universal mode is what you want.

AAB vs APK in one paragraph

Both are ZIP archives, both contain Android code and resources. The difference is delivery: an APK is what gets installed; an AAB is what you ship to a distribution channel (the Play Store, primarily), which then generates per-device APKs and signs them with your key. Outside the Play Store ecosystem — TestFlight-equivalent direct distribution, internal QA builds, etc — you usually want to convert your AAB to a universal APK and share that instead.

Got the universal APK? Ship it.

Drop the APK into App On The Go and get a shareable install link your testers tap to install. The same parser that ran on your AAB also extracts the icon and metadata.