Krakatau
Krakatau is a free Linux toolkit for decompiling, assembling and disassembling Java bytecode.
What Krakatau is
Krakatau is a free Linux toolkit for decompiling, assembling and disassembling Java bytecode. Its assembler and disassembler convert class files to editable text and back, including in cases involving obfuscated code. Users can write bytecode manually to create class files, inspect low-level binary details and compare Java binaries. The assembler supports the Java 19 bytecode specification and some undocumented features from older JVM versions; its syntax mostly extends Jasmin, with minor incompatibilities. A roundtrip mode preserves enough encoding detail for bit-for-bit identical reassembly, though its output is harder to read. The tools can process JAR and ZIP archives containing class files or assembly. Decompiler v2 remains a work in progress, and the project directs users to v1; decompilation works best on older code and lacks support for some Java 8+ features, including lambdas. Setup requires Rust and Cargo, cloning the repository and building in release mode. The repository is GPL-3.0 licensed, and its GitHub releases page lists no releases.
Good
- Free and GPL-3.0 licensed.
- Can assemble and disassemble obfuscated code.
- Supports Java 19 bytecode specification.
- Processes JAR and ZIP archives.
Watch out
- Decompiler v2 is still a work in progress.
- Some Java 8+ features, including lambdas, are unsupported.
- Installation requires Rust and Cargo.
- No GitHub releases are available.
Who it suits
Krakatau suits Linux users who need to inspect or edit Java bytecode, including obfuscated code. Its decompiler limitations make it a better fit for older code than for some Java 8+ features.
Verdict
Krakatau offers bytecode editing and inspection tools at no cost, including roundtrip assembly and archive handling. Check its decompiler limits and build requirements before relying on it for a project.
Plans and prices
From Krakatau's own pricing page, checked 8 Oct 2026.
| Plan | Price | What it gives you |
|---|---|---|
| Free and open source | Free | No paid plans listed |
The facts
Each one read from Krakatau's own pages, with the date it was checked.
What it does
- Archive handling
- The assembler and disassembler can process JAR or ZIP archives containing Java class files or assembly files.checked 8 Oct 2026
- Bytecode editing
- Its assembler and disassembler convert Java class files to editable human-readable text and back, including for obfuscated code.checked 8 Oct 2026
- Bytecode support
- The assembler supports the Java 19 bytecode specification and some undocumented features in older JVM versions.checked 8 Oct 2026
- Create class files
- Users can create class files from scratch by writing bytecode manually.checked 8 Oct 2026
- Decompiler limitation
- The decompiler does not support some Java 8+ features such as lambdas and works best on older code.checked 8 Oct 2026
- Decompiler status
- The v2 decompiler is a work in progress and the README directs users to Krakatau v1 for decompilation.checked 8 Oct 2026
- Distribution
- The GitHub releases page states that there are no releases available.checked 8 Oct 2026
- Inspect binaries
- The project can examine and compare low-level details of Java binaries.checked 8 Oct 2026
- Installation
- Installation requires Rust and Cargo, then cloning the repository and running cargo build --release.checked 8 Oct 2026
- Jasmin syntax
- Krakatau assembler syntax is mostly a superset of Jasmin syntax, with minor incompatibilities.checked 8 Oct 2026
- License
- The repository is marked as GPL-3.0 licensed.checked 8 Oct 2026
- Obfuscated code
- The disassembler is designed to handle highly obfuscated code and its output can be reassembled.checked 8 Oct 2026
- Purpose
- Krakatau provides tools to decompile, assemble, and disassemble Java bytecode.checked 8 Oct 2026
- Roundtrip mode
- Roundtrip disassembly preserves enough encoding detail for bit-for-bit identical reassembly, but makes output harder to read.checked 8 Oct 2026
Alternatives to Krakatau
- 1

Binary Ninja
Free planWebAPILinuxmacOS7.8$199 one-time - 2

rev.ng
Free planOpen sourceWebAPILinuxmacOS7.7Free plan - 3

JEB
Free planAPILinuxmacOSSelf-hosted7.6From $1,200 a year - 4
Ghidra
Free planOpen sourceAPIExtensionLinuxmacOS7.3Free plan - 5

IDA Pro
Free planLinuxmacOSWindows7.0From $1,099 a year - 6
Boomerang
Free planLinuxmacOSWindows6.7Free plan
