katlab tools/extract/apk support on Ko-fi

Extract .apk Files Online

Open an Android .apk or .xapk and take out its images, sounds, assets and native libraries. The manifest opens as readable XML in the preview; code is not decompiled.

Files are processed locally. Nothing is uploaded to a server.
APKXAPKassets & imagesnative librariesno decompiling

How to extract files from an APK

  1. Drop the .apk or .xapk onto the box above, or click to choose it.
  2. Browse res, assets and lib, or search by name. Click an image or sound to preview it, or AndroidManifest.xml to read it as XML.
  3. Download single files, a selection, or the whole package contents as one archive.

An APK is a ZIP archive

Android packages are ZIP files with a fixed layout. Inside you find classes.dex (the compiled app code), AndroidManifest.xml, resources.arsc, a res folder with layouts and drawables, assets with whatever the developer bundled, lib with native .so libraries per CPU type, and META-INF with the signature.

An .xapk is a ZIP one level up: it bundles one or more APKs, often split by screen density or CPU type, sometimes with extra data files. Open it here and each APK inside can be opened in place from the list, with a breadcrumb back to the outer package.

What is readable, and what stays in Android’s binary format

Ordinary files come out usable: PNG, JPEG and WebP images, audio, fonts, JSON and other bundled assets, and native libraries. Images, audio and text preview directly in the page.

AndroidManifest.xml and the XML files under res are stored in Android’s binary XML format, which a text editor cannot read. Click one of them here and the preview shows it decoded to readable XML. For the manifest that means the package name, version, SDK levels, permissions and components. References to resources are not resolved and stay as @0x… ids, and the file you download is still the binary original.

resources.arsc, the compiled resource table, is not decoded, and classes.dex is bytecode that is not decompiled to Java or Kotlin. Both can be extracted and viewed as hex, and that is all.

Typical uses

Pulling an icon, a sound or a font out of your own build. Checking which CPU architectures an APK ships libraries for. Seeing how much of an app’s size is assets. Confirming what a split inside an XAPK contains. The package is read locally in your browser and is not uploaded.

Frequently asked questions

Can I read AndroidManifest.xml from an APK?

Yes, in the preview. Click the file and it is shown decoded to readable XML with the package name, version, SDK levels, permissions and components. Resource references stay as @0x… ids, and the downloaded file is the binary original.

Does it decompile the app to source code?

No. classes.dex is extracted as a file and is not converted back to Java or Kotlin. This is an unpacker, not a decompiler.

What is an XAPK and can I open it?

An XAPK is a ZIP that bundles one or more APKs and sometimes extra data. Yes, drop it here; the APKs inside it can be opened in place.

Can I install an APK from here?

No. The tool only reads the package and lets you copy files out of it.

Can I extract the images from an APK?

Yes. Bitmap images in res and assets are regular files and can be previewed and downloaded. Graphics defined as binary XML, such as vector drawables, are not converted to images.