Col-E /Recaf

The modern Java bytecode editor

★ 7,456⑂ 548👁 172⑃ 279● 712▤ 170
JavaCreated 2017-07-27recaf.coley.software
7,456
stars
+0+3+38
548
forks
172
watchers
279
prs
712
issues
170
releases
–
discussions

README

Recaf    !downloads 

!Recaf 4.X user interface

A versatile and easy to use Java and Android bytecode editor. Recaf makes working with compiled Java applications easier. Explore unfamiliar code, analyze obfuscated applications, modify classes without their original source, and export your changes, all through a familiar IDE-like interface.

 Download

- Launcher
  - Pulls snapshot releases from GitHub CI runs, ensuring you have the most up-to-date releases.
  - Usage & instructions for the launcher can be found on the launcher repo.
- Snapshot releases
  - See CI actions for release artifacts.
- Independent releases

 Features


Decompile and explore Java applications
Navigate compiled applications using a familiar, IDE-like interface.

- Switch between multiple configurable Java decompilers: CFR, Procyon, Fernflower
    - Each decompiler can be fully configured via the config menu. If you're lost, just use the config window's search bar and type in the name of the decompiler you want to tweak.
- Search for strings, constants, class references, methods, and bytecode instruction patterns.
- Navigate thorugh Java applications like you would with an IDE.
    - Control + left click or press F3 to jump to referenced classes, fields, and methods.
    - Left/Right + Alt to jump between recently visited locations.
    - Control + G to quickly find classes, members, or file content in an opened application.
    - Everything else is accessible via context-sensitive right click menus.
        - Click on a class? Get shown operations for the class.
        - Click on a method? Get shown operations for the method.
- Both Java and Android applications are treated the same.



Edit Java bytecode with ease from a high or low level

!Edit via the decompiler

Make simple edits by just plainly editing decompiled Java source code, save your changes, then export the modified application.

- Missing dependency / library code in the application JAR? Recaf can fill in the blanks for you by analyzing the existing code and generating library skeleton code. The compiler can't tell the difference.
- Encountering issues with decompilation quality making source edits too difficult? Use the bytecode assembler!

!Edit via the assembler

Recaf's bytecode assembler makes changing low level class files easy. Complex aspects of the file format are abstracted away from you. Helpful tools can assist you even if you're a total bytecode noob. 

- Assembler features:
    - Variable names used in place of variable slots, making code easier to read and reason through.
    - Immediate feedback on syntax errors, improper usage of instructions, etc.
    - Visualize control flow by clicking on a label to see where control-flow instructions lead to.
- Assembler tools:
    - Analysis: See what values are on the stack and in local variables at any point in the method. Click a line and it updates to show what happens at that point in the code.
    - Declared Variables: A table of all variables, 

Snapshot: 2026-11-04T14:00:00Z · Data license Apache-2.0 · JSON