PAGES
← all tools
◆ Reverse Engineering

jadx

v1.5.6 open-source

jadx is a Dex to Java decompiler providing command line and GUIGUIA graphical user interface, controls such as windows, buttons and menus. It lets people use software visually rather than entering commands. tools for producing Java source code from Android Dex and Apk files.

Summary

jadx is an open-source decompiler, free to use under the Apache license, that turns Android Dex and APK files back into readable Java source. It runs both as a command-line tool and as a desktop GUI, decoding AndroidManifest.xml and other resources alongside the code, with a deobfuscator included. It's aimed at reverse engineers and application security researchers examining Android apps rather than at teams doing broad mobile device managementmobile device managementMobile device management, centrally configuring and managing enrolled devices. Administrators use it to apply settings, distribute applications and enforce device security policies.. The GUI adds syntax-highlighted browsing, usage search, a smali debugger, and Frida snippet generation for hooking methods during dynamic analysis, putting it in the same space as other Android reverse-engineering toolchains. First committed in 2013, it remains under active development, with 179 contributors, 187 commits in the past year, and a release only 42 days ago.

jadx is a Dex to Java decompiler providing command line and GUI tools for producing Java source code from Android Dex and Apk files.

How jadx helps

Which permissions and components does this app declare, and what do they point to in the code?

decodes the AndroidManifest.xml and resources.arsc alongside the source, so declared activities, services and permissions can be traced to the methods that use them

Has obfuscation renamed the classes and fields enough to hide what this code does?

the included deobfuscator rebuilds readable names before or during decompilation, so the output isn't a wall of single-letter identifiers

Can I step through this app's logic at the bytecode level while it runs?

the smali debugger attaches to a running app and steps through smali alongside the decompiled source, for cases where the Java reconstruction alone doesn't answer the question

all 31 features, with the evidence for each →

Languages

Chinese (Simplified), Chinese (Traditional), German, Korean, Portuguese, Russian Release notes: Chinese (Simplified), Chinese (Traditional), German, Korean, Portuguese, Russian Chinese (Simplified) added in v1.5.4 (Feb 13, 2026) · Russian added in v1.4.6 (Feb 20, 2023) · Korean added in v1.4.5 (Oct 20, 2022) · Portuguese added in v1.4.4 (Aug 20, 2022) · Chinese (Simplified) added in v1.4.1 (May 31, 2022)

Features

31 capabilities · 4 backed by code, an API document or a real run

Built from jadx's releases, docs, README and our own runs. “Seen” marks the month we first spotted a release the vendor didn't date. Group names and tags are our labels.

Compare with peers →

What jadx offers you

  • Command-line interface5
  • JSON data export2
  • Plugin API support1
  • Plugin system1
All capabilities 31 capabilities
Configuration file management verified Saves current options to a configuration file and reports the file paths used by the tool. 10 releases · 2 other sources · first seen Nov 2014

Also counts toward: Command-line interface

release 10 total

  • Security: sanitizes all string values used in generated Gradle scripts on project export. v1.5.6 · Jul 2026 · source · release history
  • Adds CLI config file load and save, enabling persistent CLI settings across sessions. v1.5.4 · Feb 2026 · source · release history
  • Adds option to always use the source file name as the class name alias v1.5.1 · Nov 2024 · source · release history
  • Adds support for 16-bit entry offsets, compact resource entries, and grammar inflection flag in resource decoding v1.5.1 · Nov 2024 · source · release history
  • Allows config and cache directories to be overridden via environment variables v1.5.1 · Nov 2024 · source · release history
  • Adds Smali code folding in the GUI editor v1.5.1 · Nov 2024 · source · release history

command line

  • --save-config — - save current options into configuration file and exit, <config-ref> can be: v1.5.4 · Feb 2026 · command-line history
  • --print-files — - print files and directories used by jadx (config, cache, temp) v1.5.4 · Feb 2026 · command-line history
Input format support shipped Allows the cyber tool to process specific input file formats such as Smali and APKs. 12 releases · first seen Dec 2016

release 12 total

  • Supports .apks (Android Package Set) files as a new input format. v1.5.4 · Feb 2026 · source · release history
  • Enables viewing and editing input smali files directly in the GUI. v1.5.3 · Sep 2025 · source · release history
  • Enhances Android App Bundle (AAB) parsing support. v1.5.3 · Sep 2025 · source · release history
  • Adds Copy All button to the Search dialog for bulk export of search results. v1.5.2 · Jun 2025 · source · release history
  • Custom zip reader implementation to handle tampered or non-standard ZIP files. v1.5.2 · Jun 2025 · source · release history
  • Adds initial support for DEX v41 format, enabling decompilation of newer Android bytecode. v1.5.2 · Jun 2025 · source · release history
GUI navigation improvements shipped Streamlines navigation through features such as auto-opening a single loaded class, pasting file lists into the file chooser, collapsing single-child directory chains in the resource tree, and copying symbol references from the context menu. 11 releases · first seen Feb 2019

release 11 total

  • Opens the single loaded class automatically after load, reducing manual navigation steps. v1.5.6 · Jul 2026 · source · release history
  • Supports pasting file lists directly into the file chooser dialog. v1.5.6 · Jul 2026 · source · release history
  • Collapses single-child directory chains in the resource tree for cleaner navigation. v1.5.6 · Jul 2026 · source · release history
  • Adds Copy Reference option to the context menu for quick symbol referencing. v1.5.6 · Jul 2026 · source · release history
  • Adds UI zoom factor option that scales font sizes accordingly, using FlatLaf fonts bundle. v1.5.4 · Feb 2026 · source · release history
  • Adds CJK character support in the GUI via FontUtils.getCompositeFont(). v1.5.4 · Feb 2026 · source · release history
Control flow structure decompilation shipped Decompiles complex control flow structures including try/catch blocks, ternary operations, and various loop types (indexed, for-each) with labeled breaks and continues. 9 releases · 1 other source · first seen Nov 2014

release 9 total

  • Replaces constants in annotations of method arguments for cleaner decompiled output. v1.5.2 · Jun 2025 · source · release history
  • Generates missing throws declarations and validates exceptions during decompilation. v1.5.2 · Jun 2025 · source · release history
  • Adds inline lambdas resolved by instance field, improving decompilation of generated code patterns. v1.4.7 · Apr 2023 · source · release history
  • support multi-exception catch blocks v0.9.0 · Feb 2019 · source · release history
  • finally block extraction v0.6.0 · Apr 2015 · source · release history
  • support fall through cases in switch v0.6.0 · Apr 2015 · source · release history

example

  • Decompile an APK using the simpler algorithm to reduce processing time or memory usage. jadx -d output/ --decompilation-mode simple app.apk v1.3.5 · Apr 2022 · source
CLI options shipped Provides command-line interface capabilities to configure the cyber tool's behavior, such as selecting classes or adjusting log levels. 7 releases · 1 other source · first seen Dec 2016

Also counts toward: Command-line interface

release 7 total

  • --decompilation-mode simple (cli): enable the new simple decompilation mode for Android class files. v1.3.5 · Apr 2022 · source · release history
  • Adds -DverifyChecksum=true option to verify checksums when loading dex files via the CLI v1.3.4 · Mar 2022 · source · release history
  • Adds --backend-dx-d8 option to use dx/d8 for converting Java bytecode instead of the default backend v1.3.1 · Dec 2021 · source · release history
  • cli: adds options to change the log level v1.1.0 · Dec 2019 · source · release history
  • decompile only a single class v1.0.0 · Jun 2019 · source · release history
  • select a class to open via command-line v1.0.0 · Jun 2019 · source · release history

example

  • Force dx/d8 backend for specific bytecode conversion issues jadx --backend-dx-d8 input.apk -d output/ v1.3.1 · Dec 2021 · source
Obfuscated resource detection verified Uses HTTP headers to infer file extensions for resources whose names have been obfuscated. 5 releases · 1 other source · first seen Apr 2015

Also counts toward: Command-line interface

release

  • Uses file headers to detect extensions for obfuscated resources. v1.5.2 · Jun 2025 · source · release history
  • Adds API method to retrieve decompiled method code v1.5.1 · Nov 2024 · source · release history
  • Add option to specify a custom deobfuscation map file using --deobf-file v1.3.0 · Nov 2021 · source · release history
  • deobf: classname parsing for Kotlin metadata is now supported v1.2.0 · Nov 2020 · source · release history
  • decode AndroidManifest.xml and other resources v0.6.0 · Apr 2015 · source · release history

command line

  • --use-headers-for-detect-resource-extensions — - Use headers for detect resource extensions if resource obfuscated v1.5.4 · Feb 2026 · command-line history
Signature-based search shipped Enables searching for methods or fields using their full signatures rather than just their names. 6 releases · first seen Nov 2020

release

  • New tree-structure usage search for visualizing where classes, methods, and fields are referenced hierarchically. v1.5.2 · Jun 2025 · source · release history
  • Adds plugin API method to open the usage dialog programmatically. v1.5.2 · Jun 2025 · source · release history
  • gui option for search results count per page (#1652) v1.4.5 · Oct 2022 · source · release history
  • Adds persistence of search history across sessions in the jadx-gui project v1.4.4 · Aug 2022 · source · release history
  • Adds manual search, stop, and sort actions within the GUI search dialog v1.4.4 · Aug 2022 · source · release history
  • GUI supports searching by full method/field signature instead of name only v1.2.0 · Nov 2020 · source · release history
Call graph generation verified Exports the application call graph in dot or JSON format and provides a library for programmatic traversal of method call relationships. 4 releases · 1 other source · first seen Nov 2014

Also counts toward: Command-line interface, JSON data export

release

  • New module/library for working with call graphs via the API. v1.5.6 · Jul 2026 · source · release history
  • New call graph module/library enables programmatic traversal of method call relationships. v1.5.6 · Jul 2026 · source · release history
  • The --deobf-rewrite-cfg flag is removed from the CLI v1.4.2 · Jun 2022 · source · release history
  • Sorts methods by source line number in output v0.5.4 · Nov 2014 · source · release history

command line

  • --call-graph — - save app call graph in format: 'dot' or 'json', default: none v1.5.6 · Jul 2026 · command-line history
Interactive renaming shipped Allows users to rename classes, methods, and fields directly within the graphical interface tree without exporting or re-importing code. 4 releases · 1 other source · first seen Nov 2020

release

  • Adds Copy Reference option to the right-click context menu in the GUI. v1.5.6 · Jul 2026 · source · release history
  • Adds script rename feature and confirm dialog when removing scripts. v1.5.2 · Jun 2025 · source · release history
  • Parses and uses Kotlin SourceDebugExtension with SMAP for improved class and package renaming. v1.5.2 · Jun 2025 · source · release history
  • Code can be renamed directly in the GUI tree panel (methods, classes, fields) v1.2.0 · Nov 2020 · source · release history

example

  • Rename a decompiled class or field directly in the GUI tree without exporting code first. Right-click element in tree panel > Rename v1.2.0 · Nov 2020 · source
Resource inspection improvements shipped Enhances the visualization and handling of bundled resources, including hex viewing, WebP previews, custom ZIP support, and direct editing of Smali files. 5 releases · first seen Dec 2016

release

  • Custom zip reader implementation to handle tampered or non-standard ZIP files. v1.5.2 · Jun 2025 · source · release history
  • Adds Close all left tabs feature for tab management. v1.5.2 · Jun 2025 · source · release history
  • Dynamic code editor theme now follows the UI theme automatically. v1.5.2 · Jun 2025 · source · release history
  • Smali code highlighting is now enabled in the GUI v1.3.1 · Dec 2021 · source · release history
  • Adds image viewing and unpacking capabilities in jadx-gui. v0.6.1 · Dec 2016 · source · release history
Resource tree visualization shipped Displays a hierarchical tree view of bundled resources within the graphical interface. 5 releases · first seen Apr 2015

release

  • New HexViewer for inspecting binary content directly within the GUI. v1.5.2 · Jun 2025 · source · release history
  • Adds support for viewing and opening more resource file types. v1.5.2 · Jun 2025 · source · release history
  • Adds a Preview Tab feature for quick inline inspection of code and resources without fully opening them. v1.5.2 · Jun 2025 · source · release history
  • Adds webp image preview support for resource inspection. v1.5.2 · Jun 2025 · source · release history
  • jadx-gui: show resources tree v0.6.0 · Apr 2015 · source · release history
APK signature verification shipped Verifies APK signatures (v1/v2) using Google's `apksig` library. 3 releases · 1 other source · first seen Feb 2019

release

  • Supports APK Signature Scheme v3.1 signers in the GUI. v1.5.2 · Jun 2025 · source · release history
  • Add GUI smali debugger feature for interactive instruction stepping within the JADX GUI v1.3.0 · Nov 2021 · source · release history
  • gui: APK signature check for v1/v2 using the apksig library from Google v0.9.0 · Feb 2019 · source · release history

example

  • Use the built-in smali debugger in the graphical interface to trace instruction execution In jadx-gui, open Tools > Smali Debugger to attach to the current class view v1.3.0 · Nov 2021 · source
Frida snippet generation shipped Generates Frida instrumentation code snippets directly from the graphical interface for quick export. 4 releases · first seen Feb 2022

release

  • Adds a dialog for selecting methods when generating Frida class snippets. v1.5.2 · Jun 2025 · source · release history
  • Adds JadxArgs API property to adjust XML security checks v1.5.1 · Nov 2024 · source · release history
  • [core] Support polymorphic invoke (#384)(#1777) v1.4.6 · Feb 2023 · source · release history
  • Adds a new Copy Frida Snippet action to the jadx GUI context menu for quick export of Frida instrumentation code. v1.3.3 · Feb 2022 · source · release history
Advanced search capabilities shipped Enables searching for code elements using regular expressions, specific scopes, and within binary or text resources. 3 releases · first seen Dec 2016

release

  • Adds GUI search options to search within text or binary resources. v1.5.3 · Sep 2025 · source · release history
  • New HexViewer for inspecting binary content directly within the GUI. v1.5.2 · Jun 2025 · source · release history
  • Adds full text search functionality in the jadx-gui interface. v0.6.1 · Dec 2016 · source · release history
GUI navigation enhancements shipped Provides direct buttons to jump to the Android Manifest and Application class, along with Quick Tabs for faster tab switching. 3 releases · first seen Nov 2024

release

  • Adds a button to navigate directly to the Android Manifest from the GUI v1.5.1 · Nov 2024 · source · release history
  • Introduces Quick Tabs for fast tab switching in the GUI v1.5.1 · Nov 2024 · source · release history
  • Adds a button to navigate directly to the Application class from the GUI v1.5.1 · Nov 2024 · source · release history
Graph views shipped Displays graph views of code flow in the GUI with synchronization to the code pane for visual analysis. 2 releases · first seen Jul 2026

release

  • Adds graph views with code-pane synchronization in the GUI for visualizing control/data flow. v1.5.6 · Jul 2026 · source · release history
  • Adds graph views with code pane synchronization in the GUI for visual code flow analysis. v1.5.6 · Jul 2026 · source · release history
Plugin management API shipped Allows plugins to query tool configuration and cache directories, declare version requirements, and modify code blocks during execution. 2 releases · first seen Nov 2024

Also counts toward: Plugin API support, Plugin system

release

  • Allows .zip files (containing JARs) to be used as plugin artifacts. v1.5.4 · Feb 2026 · source · release history
  • Allows plugins to edit blocks before locking and to get main window reference, config/cache dirs, and declare minimum required jadx version v1.5.1 · Nov 2024 · source · release history
Regex search shipped Enables pattern-based searching for code elements using regular expression syntax in the GUI search dialog. 2 releases · first seen Nov 2021

release

  • Adds GUI search options to search within text or binary resources. v1.5.3 · Sep 2025 · source · release history
  • Add regex search capability in the GUI search dialog via pattern matching mode v1.3.0 · Nov 2021 · source · release history
Export capabilities shipped Enables exporting individual resources, classes, or packages from the graphical interface. 2 releases · first seen Nov 2024

release

  • Adds export dialog with configurable options, including Gradle export templates for Android app/lib and simple Java projects. v1.5.2 · Jun 2025 · source · release history
  • Exports individual resources, classes, or packages from the GUI v1.5.1 · Nov 2024 · source · release history
Output format support shipped Enables the cyber tool to export decompilation results in structured formats like JSON. 1 release · 1 other source · first seen Jun 2019

Also counts toward: JSON data export

release

example

  • Export mappings after deobfuscation to review changes or use in other tools Export via GUI menu: File > Export > Deobfuscation mapping files v1.4.2 · Jun 2022 · source
Type inference tuning verified Lets users control how many type-update iterations the decompiler performs per instruction to balance accuracy and performance. 1 other source · first seen Feb 2026

command line

  • --type-update-limit — - type update limit count (per one instruction), default: 10 v1.5.4 · Feb 2026 · command-line history
Search scope control shipped Restricts code and text search operations to a specific package within the GUI. 1 release · first seen Nov 2024

release

  • Limits code/text search scope to a specific package in the GUI v1.5.1 · Nov 2024 · source · release history
Flexible input integration shipped Allows integrating external class sources via InputStream or byte arrays for flexible loading. 1 release · first seen Apr 2023

release

  • Allows loading classes via InputStream or byte array in the jadx-input plugin for flexible class source integration. v1.4.7 · Apr 2023 · source · release history
Decompilation mode comparison shipped Allows users to compare the output of different decompilation modes side-by-side in the GUI. 1 release · first seen Apr 2022

release

  • Add GUI split-view for comparing different decompilation modes side-by-side. v1.3.5 · Apr 2022 · source · release history
Checksum verification during loading shipped Verifies file checksums when loading input files via the command line interface. 1 release · first seen Mar 2022

Also counts toward: Command-line interface

release

  • Adds -DverifyChecksum=true option to verify checksums when loading dex files via the CLI v1.3.4 · Mar 2022 · source · release history
Quark-Engine behavior analysis shipped Integrates the Quark-Engine library within the GUI to provide automated static analysis of application behavior. 1 release · first seen Nov 2021

release

  • Integrate Quark-Engine into the GUI for automated behavior analysis v1.3.0 · Nov 2021 · source · release history
Multi-file loading shipped Supports loading multiple files simultaneously through a dedicated GUI button. 1 release · first seen Nov 2020

release

  • GUI allows loading multiple files simultaneously via a new button v1.2.0 · Nov 2020 · source · release history
Debug info handling shipped Controls whether debug information is included or excluded during the decompilation process. 1 release · first seen Jun 2019

release

Windows executable support shipped Provides a native executable for the graphical interface, enabling direct deployment and execution on Windows operating systems. 1 release · first seen Aug 2018

release

Application log viewing shipped Displays a dedicated pane within the graphical interface for monitoring decompilation progress and application logs. 1 release · first seen Dec 2016

release

Variable argument expansion shipped Automatically expands known vararg arguments into arrays during decompilation. 1 release · first seen Nov 2014

release

Lines in monospace are the tool's own words: help text parsed from its source, or an endpoint from its API document. Under release, a line is our summary of a dated release. Under docs, it is quoted from the tool's own documentation or website. Each links back to the source it came from.

Screenshots

From the release notes, newest first. Click one to see it full size.

CVE-2024-32653 Apr 22, 2024

CVE-2021-22569 Jul 20, 2022

Score card

  1. Shipping velocity releases a month, last 12 months
  2. Documentation quality release-notes rubric, 0–100
  3. Breaking-change discipline how rarely a release breaks users, and notice given
  4. Maintenance risk quiet time against its own cadence, maintainers
  5. Innovation & surface new capabilities, API and MCP surface
  6. Community health
  7. Contributor trend distinct committers, this year against last
  8. Maintainer concentration bus factor now against a year ago
  9. Issue backlog trend issues closed per issue opened, 12 months
  10. Responsiveness median time to a maintainer’s first reply

Nine scores for jadx, each built from the releases, notes and API history this site tracks — and, on Researcher and Business, where it stands among every measured tool in its category and how that has moved.

Score cards are part of every paid plan.

See plans →

Each score is 0–100 on a published rubric, derived from data this site already shows. A dimension we cannot measure says so — it is never scored 0 and never enters a rank.

How this is scored
  • Shipping velocity — releases a month over the last 12 months, on a log scale where 16 a month scores 100. Needs 3 releases in the window.
  • Documentation quality — the release-notes rubric published on the analytics page, unchanged.
  • Breaking-change discipline — the share of releases carrying a breaking change (none scores 100, half or more scores 0). Only projects that label breaking changes are measured: a clean record cannot be told from an unlabelled one.
  • Maintenance risk — quiet time measured against the tool's own release cadence (quiet longer than 90 days and three typical gaps scores 0), plus the number of active maintainers and whether contributors are growing, where known. Higher is lower risk.
  • Innovation & surface — new capabilities in the feature ledger this year, API and MCP operations added, and the share of commits that are features: the mean of whichever we hold.
  • Community health (open-source tools only) — each is a direction, not a size: contributors this year against last, the bus factor now against a year ago, and issues closed per issue opened, where steady scores 50, doubled 100 and halved 0; plus the median time to a maintainer's first reply (an hour scores about 100, a month or more 0). A commercial card has no repository and carries none of the four.
  • Documented delivery (commercial tools) — when a vendor's documented new capabilities have slowed against its own baseline, that counts against the overall standing as heavily as two low dimensions. Steady delivery, or too little history to judge, leaves the standing alone; it is never a sixth score.
  • Open-source tools are scored on repository signals; commercial tools on their published changelog. Ranks compare tools within one category and one profile and need at least five measured peers; the overall standing needs three ranked dimensions. Best-in-breed or consolidator is a shape, not a quality, and is never scored.

Release-note detail over time

See how much detail jadx puts in its release notes, quarter by quarter, and compare it with tracked tools in the same category. This history uses up to ten retained, reviewed notes per tool; sparse or blank older quarters may reflect that limit.

Checking release-note history…

Explore the full chart →

Releases

Show

31 entries

  1. July 20263
  2. February 20261
  3. September 20251
  4. June 20251
  5. November 20241
  6. April 20242
  7. April 20231
  8. February 20231
  9. October 20222
  10. August 20221
  11. July 20221
  12. June 20221
  13. May 20222
  14. April 20221
  15. March 20221
  16. February 20221
  17. December 20211
  18. November 20211
  19. November 20201
  20. December 20191
  21. June 20191
  22. February 20191
  23. August 20181
  24. December 20161
  25. April 20151
  26. November 20141
    Show

    31 entries

    Project health

    Issue, contributor and maintainer activity in skylot/jadx, 2023-10 – 2026-09, as of 2026-09-25. Twelve-month figures first; the trend lines run the whole window.

    1. Contributors 31 ±0 vs prior 12 months
    2. Maintainers 2 +1 joined · −1 left, last 12 months
    3. Bus factor 1 committers behind half the commits
    4. Community-filed 95% of issues opened, last 12 months
    5. Median time to close 2.9 days first maintainer reply 8.1 hours
    6. Open backlog 431 of 2,124 issues ever filed
    1. Issues opened / month 5 · 0 communitymaintainers
    2. Open backlog 431
    3. Contributors / month 4
    4. Commits / month 6
    5. Stars 50,516
    Issue themes, last 12 months
    • bugs 47%
    • features 10%
    • questions 2%
    • other 41%

    Counts from the project's public repository and git history; no individuals are identified. Maintainers are the committers covering 80% of the last year's commits. how we measure this

    Libraries its release ships

    What its latest release locks, checked against known advisories.

    None of its release's images build from a lockfile we can read.

    Add the badge to your README

    Maintain this project? The badge links readers straight to this page, so they can follow every release here.

    Tracked by Cyber Toolchain Choose a badge style and copy the code →
    browse all tools → score card for your toolchain →