PAGES
← all tools
◆ Reverse Engineering

bytecode-viewer

v2.13.2 open-source

Java/Android bytecode viewer and reverse engineering suite with multiple decompilers, disassemblers, assemblers, and APK conversion support.

Summary

bytecode-viewer is an open-source desktop application, released under a copyleft license, for viewing, decompiling and analyzing Java and Android bytecode. It runs as a drag-and-drop GUIGUIA graphical user interface, controls such as windows, buttons and menus. It lets people use software visually rather than entering commands. on a laptop, though a command-line mode also exists for scripted use (currently disabled in v2.13.0 during a rewrite), and it bundles six decompilers including CFR, Procyon, FernFlower and JADX alongside Krakatau and Smali/BakSmali disassemblers, making it suited to reverse engineers and malware analysts working with JAR, APK, DEX and class files rather than source code. It sits in the reverse-engineering tooling space alongside standalone decompilers, but consolidates several into one workspace with plugin scripting and static search. Started in 2014 with 49 contributors, it remains active with 17 commits and 13 releases in the past year, though the most recent release landed 232 days ago.

Java/Android bytecode viewer and reverse engineering suite with multiple decompilers, disassemblers, assemblers, and APK conversion support.

How bytecode-viewer helps

Is this APK hiding something malicious?

scans the decompiled resources and code with the built-in malicious code scanning API and surfaces suspect patterns for manual review

Can this compiled file be edited and turned back into a working build?

lets an analyst modify the decompiled Java or bytecode directly and recompiles it with the built-in Java compiler, then exports it as a runnable jar, zip or APK

Are the JDK-internal and bootstrap classes bundled in this archive worth inspecting too?

no longer filters out packages starting with java or javax, so those classes appear alongside the rest of the archive for analysis

all 22 features, with the evidence for each →

Languages

Arabic, Bulgarian, Chinese (Simplified), Croatian, Czech, Danish, German, Japanese, Russian, Serbian, Spanish Release notes: Arabic, Bulgarian, Chinese (Simplified), Croatian, Czech, Danish, German, Japanese, Russian, Serbian, Spanish Russian added in v2.13.2 (Jan 1, 2026) · Bulgarian, Croatian, Czech, Danish, Serbian added in v2.11.2 (Apr 11, 2022) · Arabic, Chinese (Simplified), German, Japanese, Russian, Spanish added in v2.10.13 (Jul 9, 2021)

Features

22 capabilities

Built from bytecode-viewer'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 bytecode-viewer offers you

  • JavaScript scripting support1
  • Plugin API support1
  • Plugin system1
  • Scripting API1
  • Scripting language support1
All capabilities 22 capabilities
ASM Bytecode Generation shipped Generates ASM bytecode instructions during decompilation or from class files using the ASMifier engine. 9 releases · 2 other sources · first seen Nov 2014

release 9 total

  • Adds ASMifier support for generating bytecode instructions during decompilation v2.12 · Dec 2023 · source · release history
  • Adds javap disassembler support for viewing Java bytecode instructions directly within the tool. v2.10.14 · Jul 2021 · source · release history
  • Introduces ASMTexifier view pane for enhanced bytecode visualization v2.10.10 · Jun 2021 · source · release history
  • ASM Classwriter now automatically updates all pre-Java 1 classes to proper standard class format v2.9.22 · Jun 2019 · source · release history
  • ASM Classwriter sets the classes minor version from <= 2 to 3 v2.9.22 · Jun 2019 · source · release history
  • Adds integration with JADX Decompiler for Java bytecode decompilation v2.9.18 · Apr 2019 · source · release history

example

  • Generate ASM bytecode instructions for a class file using the new ASMifier engine. java -jar bytecode-viewer.jar -d ASMifier -f target.class v2.12 · Dec 2023 · source
  • Configure the decompiler output style when inspecting bytecode in the GUI. Steps: Open the Decompiler settings in the GUI and enable the 'append brackets to labels' option. b1.3.1 · Nov 2014 · source
Resource Decoding Optimization shipped Skips jar compression and decompression during resource decoding and Dex2Jar to reduce I/O overhead. 5 releases · 1 other source · first seen Feb 2015

release

  • Skips jar compression and decompression when decoding resources and when using Dex2Jar, reducing I/O overhead for large APKs. v2.13.1 · Apr 2025 · source · release history
  • Adds limited GraalJS support for executing JavaScript within the tool (requires external Graal.JS dependencies) v2.10.15 · Jul 2021 · source · release history
  • Adds dynamic width capability to the Hex-Viewer, allowing it to resize based on window dimensions. v2.10.14 · Jul 2021 · source · release history
  • Introduces Krakatau as an optional decompiler/disassembler/assembler component via -O and -skip flags (passed to Krakatau) v2.9.4 · Apr 2015 · source · release history
  • Adds Krakatau as a Java decompiler option v2.8.0 · Feb 2015 · source · release history

example

  • Decompile a Java class file using the newly integrated Krakatau decompiler. Open a .class file and ensure 'Krakatau' is selected as the active decompiler to view the source-like output. v2.8.0 · Feb 2015 · source
Jump to Declaration Navigation shipped Allows analysts to quickly trace references to their source definitions via Jump to Declaration. 4 releases · 2 other sources · first seen Dec 2014

release

  • Adds Jump to Declaration navigation, letting analysts quickly trace references to their source definitions. v2.13.0 · Dec 2024 · source · release history
  • Adds WebP image format support for viewing assets in the GUI v2.10.15 · Jul 2021 · source · release history
  • Enables viewing of XAPK files directly in the tool. v2.10.12 · Jun 2021 · source · release history
  • Search results within the text search function are now clickable for direct navigation v2.2.0 · Dec 2014 · source · release history

example

  • Organize multiple open classes or archives in a single window instead of having separate top-level windows. Open multiple files; notice the tab bar at the top of the main window allowing you to switch between them. v2.10.16 · Aug 2021 · source
  • Instantly jump to the source of a matched method in the decompiler window after searching. In the search bar, enter 'getVersion' and click any result in the list below the search input. v2.2.0 · Dec 2014 · source
JDK Internal Class Inspection shipped Allows inspection of classes in JDK-internal and bootstrap packages by removing blocking filters for prefixes like 'java'. 4 releases · 1 other source · first seen Apr 2019

release

  • Removes the filter that blocked inspection of classes in packages starting with java, javax, and similar prefixes, enabling analysis of JDK-internal and bootstrap classes. v2.13.1 · Apr 2025 · source · release history
  • Right-click context menus on the resource list, including quick-open and other useful commands v2.10.16 · Aug 2021 · source · release history
  • Adds automatic RT.jar generation for JDK 9+ runtimes to enable proper decompilation of modern Java libraries v2.9.20 · Jun 2019 · source · release history
  • Added autofinding of RT.jar v2.9.13 · Apr 2019 · source · release history

example

  • Access quick-open and other commands directly from the resource list without using the main menu. Right-click any item in the resource list to reveal context menu options like 'quick-open'. v2.10.16 · Aug 2021 · source
Bytecode Syntax Highlighting shipped Improves readability by syntax-coloring tokens in bytecode view panes. 4 releases · 1 other source · first seen Feb 2015

release

  • New bytecode token highlighter improves readability by syntax-coloring tokens in bytecode view panes. v2.13.0 · Dec 2024 · source · release history
  • Improves zoom functionality across the application interface v2.10.15 · Jul 2021 · source · release history
  • Improves Hex-Viewer rendering for Dark Mode themes v2.10.15 · Jul 2021 · source · release history
  • Introduces opt-in Dark mode and theme selection for the GUI. v2.10.12 · Jun 2021 · source · release history

example

  • Use the Krakatau engine to view Java class bytecode assembly directly in the GUI. In the viewer's decompiler dropdown, select 'Krakatau' and choose 'Assembly' from the action menu. v2.8.0 · Feb 2015 · source
Plugin Extension API shipped Provides support for writing plugins to script and extend analysis workflows. 4 releases · 1 other source · first seen Jun 2021

Also counts toward: JavaScript scripting support, Plugin API support, Plugin system, Scripting API, Scripting language support

release

  • Improved plugin writing support for scripting and extending analysis workflows. v2.13.0 · Dec 2024 · source · release history
  • Adds automatic Python path detection to resolve interpreter locations without manual configuration. v2.10.14 · Jul 2021 · source · release history
  • Plugin Writer: Create and edit external plugins from within BCV v2.10.13 · Jul 2021 · source · release history
  • Supports loading JavaScript-based plugins to extend functionality. v2.10.12 · Jun 2021 · source · release history

example

  • Develop a new plugin without leaving the GUI to test changes immediately. In the bytecode-viewer GUI, open the Plugin Writer tool to create and edit your external plugins. v2.10.13 · Jul 2021 · source
Non-Exact Search with Looping shipped Performs looping searches for non-exact matches across files. 3 releases · 1 other source · first seen Nov 2014

release

  • Adds Looping Search functionality for Non-Exact matches across the file v2.12 · Dec 2023 · source · release history
  • Improves search regex engine for better pattern matching across classes v2.10.10 · Jun 2021 · source · release history
  • Added search function to the Class Viewer. b1.5 · Nov 2014 · source · release history

example

  • Use the new search capability within the Class Viewer interface to locate specific classes or strings efficiently. In the Class Viewer pane, use the newly added Search function to filter and find relevant entries. b1.5 · Nov 2014 · source
Multi-threaded APK Decoding shipped Runs apktool on multiple threads to speed up Android reverse-engineering workflows. 3 releases · first seen Jan 2015

release

  • Runs apktool on multiple threads when decoding APK resources, speeding up Android reverse-engineering workflows. v2.13.1 · Apr 2025 · source · release history
  • ADDED APK SUPPORT, had to downgrade to ASM 3.3 v2.5.0 · Jan 2015 · source · release history
  • Added save as DEX and import .dex files v2.5.0 · Jan 2015 · source · release history
Java 25 Bytecode Support shipped Supports analysis of bytecode compiled with Java 25 LTS. 2 releases · first seen Apr 2022

release

  • Supports Java 25 LTS in the build, enabling analysis of Java 25-compiled bytecode. v2.13.2 · Jan 2026 · source · release history
  • Adds Java 18 and Java 19 support for decompilation v2.11.2 · Apr 2022 · source · release history
Removed Built-in Obfuscator shipped The built-in obfuscator capability has been removed from the tool. 2 releases · first seen Feb 2015

release

  • The built-in obfuscator has been removed; workflows relying on it must use an alternative tool. v2.13.2 · Jan 2026 · source · release history
  • Dropped JRuby and Jython support, reducing install size to ~16mb from ~45mb. v2.8.0 · Feb 2015 · source · release history
Save As Functionality shipped Provides a user interface shortcut to save files under different names or formats. 2 releases · first seen Dec 2014

release

  • Adds Ctrl+S shortcut to save files as in the UI v2.9.4 · Apr 2015 · source · release history
  • Added threaded processing for saving Java files from singular class file decompilation v2.4.0 · Dec 2014 · source · release history
Deprecated API & Bytecode Analysis shipped Presents a dedicated pane that highlights deprecated API usages and obsolete bytecode instructions within the decompiled codebase. 1 release · 1 other source · first seen Dec 2014

release

  • Added a new Outdated pane to display deprecated or obsolete bytecode constructs v2.4.0 · Dec 2014 · source · release history

example

  • Use the new Outdated pane to quickly identify deprecated API usage in compiled classes. In Bytecode Viewer, look for the 'Outdated' tab in the bottom pane to view results. v2.4.0 · Dec 2014 · source
File Navigator Tree Navigation shipped Allows analysts to organize and navigate large project structures by expanding or collapsing package hierarchies in the file navigator. 1 release · 1 other source · first seen Dec 2014

release

  • Added ability to expand and collapse packages directly within the file navigator tree v2.4.0 · Dec 2014 · source · release history

example

  • Manually organize large projects by collapsing unused package trees in the file navigator. Click the arrow icons next to package names in the 'File Navigator' panel to expand or collapse them. v2.4.0 · Dec 2014 · source
UI Translations shipped Provides localized text for the application interface in multiple languages. 1 release · first seen Apr 2022

release

  • Adds Croatian, Czech, Bulgarian, Danish, and Serbian UI translations v2.11.2 · Apr 2022 · source · release history
UTF-8 Character Support shipped Enables the viewer interface to correctly display and process UTF-8 encoded text. 1 release · first seen Jun 2021

release

Web Application File Loading shipped Supports loading and analyzing WAR and JSP file formats. 1 release · first seen Apr 2019

release

Direct File Execution shipped Allows executing selected content directly from the editor interface via keyboard shortcuts. 1 release · first seen Apr 2015

release

  • Adds Ctrl+R shortcut to execute/run files directly from the editor v2.9.4 · Apr 2015 · source · release history
Inline Code Compilation shipped Enables compiling selected text content directly within the UI using a dedicated keyboard shortcut. 1 release · first seen Apr 2015

release

Add File Interface shipped Provides an interface to add files to the workspace, accessible via keyboard shortcut. 1 release · first seen Jan 2015

release

  • Adds new keyboard shortcuts: CTRL + O to open the add file interface and CTRL + N for the net workspace v2.7.0 · Jan 2015 · source · release history
Refresh Class Function shipped Implements a Refresh Class function to update class definitions, set as the default compile action. 1 release · first seen Jan 2015

release

  • Sets the improved Refresh Class function as the default compile action v2.7.0 · Jan 2015 · source · release history
Exception Stack Trace Display shipped Renders complete exception stack traces in a graphical interface for easier error debugging and tracing. 1 release · first seen Nov 2014

release

Malicious Code Scanning shipped Scans compiled classes and resources for known malicious patterns and obfuscated code constructs. 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.

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 bytecode-viewer, 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 bytecode-viewer 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

26 entries

  1. January 20261
  2. April 20251
  3. December 20241
  4. December 20231
  5. April 20221
  6. January 20221
  7. August 20211
  8. July 20213
  9. June 20212
  10. June 20192
  11. April 20192
  12. April 20151
  13. February 20151
  14. January 20152
  15. December 20142
  16. November 20144
    Show

    26 entries

    Project health

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

    1. Contributors 3 −4 vs prior 12 months
    2. Maintainers 2 +5 joined · −5 left, last 12 months
    3. Bus factor 1 committers behind half the commits
    4. Community-filed 100% of issues opened, last 12 months
    5. Median time to close 257 days first maintainer reply 18 days
    6. Open backlog 94 of 383 issues ever filed
    1. Issues opened / month 0 · 0 communitymaintainers
    2. Open backlog 94
    3. Contributors / month 0
    4. Commits / month 0
    5. Stars 15,649
    Issue themes, last 12 months
    • bugs 47%
    • features 7%
    • other 46%

    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 →