Skip to content

jadx

Dex to Java decompiler that produces readable Java source code from Android APKs.

Self-hostedNot yet verified
Report issue
Apache-2.0★ 43000Source project only — not browser-runnable

External Tool

This open-source tool is maintained externally. View the source on GitHub to learn more or run it yourself.

Browse security tools →

What's next with jadx?

Choose how you want to get started.

Use it free

Open the official tool or demo — no account needed.

Free

Self-host it

Run the open-source version on your own infrastructure.

Open

What is jadx?

jadx is an open-source decompiler designed to convert Android application bytecode (Dex files) into human-readable Java source code. Its primary purpose is to enable developers and security analysts to reverse-engineer Android apps, inspect their internal logic, and analyze potential vulnerabilities. The tool is widely used by software developers, reverse engineers, and security researchers who need to understand the structure and functionality of closed-source Android applications. By transforming Dex files into Java code, jadx addresses the challenge of working with obfuscated or encrypted Android apps, providing insights into their implementation details without requiring access to the original source code. jadx simplifies the process of analyzing Android applications by offering both command-line and graphical interface (GUI) options. It is particularly valuable in scenarios where developers need to debug or modify third-party apps, or where security professionals assess potential threats within mobile applications. The tool’s ability to handle complex obfuscation techniques and its integration with popular development environments make it a critical asset for anyone working with Android app analysis, debugging, or reverse engineering.

How it works

jadx is a Dex-to-Java decompiler that converts Android application bytecode into readable Java source code. It is primarily used to reverse-engineer Android apps, allowing developers to inspect, modify, or analyze the internal workings of applications without access to their original source code. The tool is essential for security researchers, app developers, and reverse engineers who need to debug, audit, or understand the logic of Android applications. It bridges the gap between low-level bytecode and high-level programming languages, making it easier to work with encrypted or obfuscated apps. jadx supports decompiling Dex files into Java code, with features like automatic resource extraction, support for obfuscated code, and integration with plugins for extended functionality. It also provides a GUI for visual navigation of decompiled code and allows users to export results for further analysis.

How to use it

  1. 1Download jadx from its GitHub repository or use a package manager like Maven. 2. Install Java 11 or higher and any required dependencies. 3. Use the jadx CLI to decompile an APK file with the command `jadx -d output_folder input_apk.apk`. 4. Alternatively, launch the jadx GUI and load the APK file for interactive analysis. Practical tips include using the GUI for easier navigation of decompiled code, exporting results as projects for further development, and leveraging plugins for advanced analysis tasks.

What it can do

  • Java decompiler

Use cases

Assumptions and limitations

Assumptions

  • source: https://github.com/skylot/jadx
  • license: Apache-2.0 — free to use
  • privacy: Self-hosted — you control your data

Limitations

  • Struggles with highly obfuscated or encrypted code that uses advanced anti-decompilation techniques
  • Cannot fully reconstruct original source code due to limitations in decompilation accuracy
  • Limited support for newer Android features like Kotlin multiplatform modules
  • Requires technical expertise to interpret decompiled code effectively
  • Depends on third-party libraries for certain features, which may introduce compatibility issues

Understanding the result

Dex to Java decompiler that produces readable Java source code from Android APKs.

Tool details

  • Clearly flagged when a network request is needed.
  • No account, no sign-up, and no tracking of your content.
  • Powered by (Apache-2.0).
Built with
(skylot/jadx)
License
Apache-2.0
Runs locally
No — requires a network request
Verification
Not yet verified
Input
Query
Output
Text
Open-source source & license

Built with skylot/jadx. OpenToolVault provides the discovery and browser interface while crediting the original project maintainers.

Built with
License
Apache-2.0
View source on GitHub

Open-source project

License: Apache-2.0Source: this project

OpenToolVault is an independent directory. We are not affiliated with or endorsed by this project.

References

Frequently asked

What is jadx and what does it do?

jadx is an open-source decompiler that converts Android application bytecode (Dex files) into Java source code. It allows developers and security analysts to reverse-engineer Android apps, inspect their internal logic, and analyze potential vulnerabilities. The tool is particularly useful for debugging, auditing, or understanding the structure of closed-source Android applications.

How does jadx work technically?

jadx processes Dex files by parsing the bytecode and translating it into Java syntax. It uses a combination of static analysis and heuristics to reconstruct class structures, method calls, and control flow. The tool employs a decompiler core that handles Android-specific features like multidex support and resource extraction, while the GUI provides a visual interface for navigating the decompiled code.

How do I decompile an APK file using jadx?

To decompile an APK, first download jadx from its GitHub repository. Install Java 11 or higher, then run the command `jadx -d output_folder input_apk.apk` in the terminal. This will extract the decompiled Java code into the specified output folder. Alternatively, use the jadx GUI by launching the jadx.jar file and selecting the APK file for analysis.

How does jadx compare to alternatives like Apktool or JD-GUI?

jadx differs from Apktool by producing Java source code instead of raw resources, making it more suitable for code analysis. Compared to JD-GUI, jadx offers better support for Android-specific features like multidex applications and resource extraction. While Apktool focuses on reverse-engineering for modification, jadx is optimized for decompiling and analyzing the logic of Android apps.

How do I troubleshoot common errors when using jadx?

Common errors include missing dependencies or incompatible Java versions. Ensure Java 11 or higher is installed and that all required libraries are present. If decompilation fails, check the APK file integrity or try using the GUI for better error diagnostics. For plugin-related issues, verify compatibility with the jadx version and reinstall plugins if necessary.

Spotted something wrong with jadx, or want to maintain it? See how to help.