APK Analyzer
See what is inside an Android package before you install it — the permissions it asks for, which Android versions it runs on, which CPU architectures it ships, and what a split bundle actually contains.
Nothing is uploaded. The file is opened and parsed by JavaScript running in this tab. It is never sent anywhere, so it works offline and on packages you would not want to hand to a stranger's server.
Drop an APK here, or tap to choose one
APK, APKS, XAPK and APKM. The file never leaves your device.
What the numbers mean
Min Android and Targets
Minimum is the oldest Android version the app will install on — below it, the install fails outright. Target is the version the app was built against. A low target on a modern device means the app opts out of newer platform behaviour, and from Android 14 the system refuses very old targets altogether.
Architectures
If the app ships native code, it does so per CPU architecture. Almost every phone made in the last several years is arm64-v8a. An APK that only carries a different one will not run on your device, which is the cause of “no matching ABIs” errors.
Splits
Modern apps are often shipped as several APKs — a base plus configuration splits for languages, screen densities and architectures. All of them have to be installed together, which is why the built-in Android installer cannot open a bundle on its own.
Permissions
A declared permission is what the app can ask for, not what it has been granted. Most are requested at runtime and you can refuse them. The ones worth a second look are the ones that do not fit the app: an offline game asking to read SMS, a wallpaper app wanting accessibility access, anything requesting permission to draw over other apps.