APK Decompiler

APK Decompiler Online

Recover Android source and resources, including Unity game assets and script metadata.

.apk
Drop your APK file here
Choose file

⚠ Drag-and-drop upload could not load — an ad blocker is most likely blocking it. Please disable your ad blocker and reload the page to upload a file.

How It Works

1

Upload

Drag and drop your .apk file or click to browse.

2

Decompile

Android code is decompiled, and Unity games receive dedicated asset and script analysis.

3

Browse

Explore source code, resources, Unity assets, scripts, and the manifest online.

What is an APK File?

APK stands for Android Package Kit. It is the file format used by the Android operating system to distribute and install mobile applications. Every app you download from Google Play or sideload onto your device comes as an APK file.

An APK file is essentially a ZIP archive with a specific structure. Inside you will find:

How APK Decompilation Works

When an Android app is built, Java or Kotlin source code is compiled to Java bytecode, then converted to Dalvik bytecode (DEX format) optimized for the Android runtime. APK decompilation reverses this process, converting DEX bytecode back into human-readable Java source code.

The decompiler directly converts Dalvik bytecode to Java source without going through an intermediate representation, producing clean and readable output.

The decompilation process handles complex Java and Android features including generics, lambda expressions, enum types, inner classes, anonymous classes, try-with-resources, and multi-catch blocks. Binary XML resources are decoded back into readable XML format.

Unity APK Decompilation

When an APK contains a Unity game, the decompiler also reads Unity serialized files and asset bundles — what comes back, and what Mono and IL2CPP builds differ on, is covered on the Unity APK decompiler page. Recoverable textures, sprites, audio clips, fonts, meshes, text assets, shaders, videos, and serialized behaviours appear in a separate unity/ folder alongside the normal Android output.

Mono-based games can contain managed Assembly-CSharp.dll code that decompiles back to C#. For IL2CPP games, Unity has already compiled the C# into native machine code. The result therefore contains best-effort class and method declarations, string tables, native addresses, and browsable C# type stubs—not the original method bodies or Unity project.

What Can You Do with Decompiled APK Code?

APK Decompiler vs APK Extractor

An APK extractor simply unzips the APK file, giving you the raw contents including compiled DEX files and binary XML. The code remains in bytecode form and is not human-readable. An APK decompiler like this tool goes further — it converts the bytecode back to Java source code and decodes binary resources, making everything readable and searchable.

Frequently Asked Questions

What is an APK file?

An APK (Android Package Kit) file is the file format used by Android to distribute and install mobile applications. It is essentially a ZIP archive containing compiled code (DEX files), resources, assets, certificates, and the AndroidManifest.xml.

How does APK decompilation work?

APK decompilation reverses the compilation process. The tool extracts DEX (Dalvik Executable) files from the APK, converts Dalvik bytecode back to Java source code, and decodes binary XML resources into readable format.

Is it legal to decompile APK files?

Decompilation for personal learning, security research, interoperability, or analyzing your own applications is generally permitted under fair use and laws like the EU Software Directive. However, redistributing decompiled code or using it to create competing products may violate copyright. Always respect software licenses.

How does the decompiler handle complex code?

The decompiler converts Dalvik bytecode back to readable Java source code and handles complex features like lambda expressions, generics, inner classes, and multi-catch blocks.

Can it extract Unity games from APK files?

Yes — see the Unity APK decompiler. Detected Unity APKs receive a separate result containing recoverable game assets and script metadata. Mono scripts can be decompiled to C#, while IL2CPP results contain reconstructed declarations and native addresses because the original C# method bodies no longer exist in the APK.