Sunday, October 25, 2026 4,350 lists 78,100 records on file
List your app or device

  1. Home
  2. Decompiler Software
  3. Krakatau

Krakatau

What it is

Krakatau is free Linux software for examining, editing, assembling, and disassembling Java bytecode. Its assembler and disassembler translate Java class files into editable human-readable text and back, including heavily obfuscated code. You can also write bytecode manually to create class files and inspect or compare low-level binary details. The assembler supports the Java 19 bytecode specification plus some undocumented features in older JVM versions, and its syntax mostly extends Jasmin with minor incompatibilities. Roundtrip disassembly preserves enough encoding information for bit-for-bit reassembly, although that output is harder to read. JAR and ZIP archives containing class files or assembly files are supported. The v2 decompiler remains a work in progress; Krakatau directs users to v1, which works best with older code and lacks some Java 8-and-later features, including lambdas. Installation uses Rust, Cargo, repository cloning, and a release build. The project is GPL-3.0 licensed.

For and against

For

  • Free plan with no paid plans listed
  • Handles highly obfuscated Java code
  • Supports Java 19 bytecode
  • Processes JAR and ZIP archives
  • Offers bit-for-bit roundtrip reassembly

Against

  • Linux platform only
  • Decompiler v2 is still a work in progress
  • Some Java 8+ features are unsupported
  • Installation requires Rust and Cargo

The verdict

Krakatau provides extensive low-level Java bytecode tooling at no cost. Its older-code decompiler limits and Linux-only availability matter most to prospective users.

Who it suits

Krakatau suits Linux users who need to inspect, edit, assemble, or disassemble Java bytecode, including obfuscated binaries. It is also useful for manually creating class files or preserving exact reassembly details.

Plans and prices

Free and open source

Free

No paid plans listed

Every plan, in full

On the record

Archive handling
The assembler and disassembler can process JAR or ZIP archives containing Java class files or assembly files.github.com · read 8 Oct 2026
Bytecode editing
Its assembler and disassembler convert Java class files to editable human-readable text and back, including for obfuscated code.github.com · read 8 Oct 2026
Bytecode support
The assembler supports the Java 19 bytecode specification and some undocumented features in older JVM versions.github.com · read 8 Oct 2026
Create class files
Users can create class files from scratch by writing bytecode manually.github.com · read 8 Oct 2026
Decompiler limitation
The decompiler does not support some Java 8+ features such as lambdas and works best on older code.github.com · read 8 Oct 2026
Decompiler status
The v2 decompiler is a work in progress and the README directs users to Krakatau v1 for decompilation.github.com · read 8 Oct 2026
Distribution
The GitHub releases page states that there are no releases available.github.com · read 8 Oct 2026
Inspect binaries
The project can examine and compare low-level details of Java binaries.github.com · read 8 Oct 2026
Installation
Installation requires Rust and Cargo, then cloning the repository and running cargo build --release.github.com · read 8 Oct 2026
Jasmin syntax
Krakatau assembler syntax is mostly a superset of Jasmin syntax, with minor incompatibilities.github.com · read 8 Oct 2026
License
The repository is marked as GPL-3.0 licensed.github.com · read 8 Oct 2026
Obfuscated code
The disassembler is designed to handle highly obfuscated code and its output can be reassembled.github.com · read 8 Oct 2026
Purpose
Krakatau provides tools to decompile, assemble, and disassemble Java bytecode.github.com · read 8 Oct 2026
Roundtrip mode
Roundtrip disassembly preserves enough encoding detail for bit-for-bit identical reassembly, but makes output harder to read.github.com · read 8 Oct 2026

Alternatives to Krakatau

Every alternative, ranked