Awesome Open Source
Awesome Open Source

Recaf Discord Build Status downloads Contributions welcome

screenshot of recaf

An easy to use modern Java bytecode editor that abstracts away the complexities of Java programs. Recaf abstracts away:

  • Constant pool
  • Stack frames
  • Wide instructions
  • And more!

Don't know bytecode? That's ok because Recaf supports recompiling decompiled code and inserting single line Java statements into the bytecode.

For more information: Read the documentation


See the releases page for the latest build.


If you're just getting started with reverse-engineering in Java, read primer guide. Then check the documentation pages.


Are you a developer?

Check out the open issues, project boards, and many scattered TODO messages throughout the source code. There's plenty to do.

Not a developer?

You can help by reporting bugs, making suggestions, providing translations, and sharing this project.

More information can be found in the contribution guide.

Setting up the project

Clone the repository via git clone

Open the project in an IDE or generate the build with maven.


  1. Import the project from the pom.xml
    • IntelliJ
    • Eclipse - (Warning: Eclipse's custom compiler cannot compile Recaf because of incorrect generics parsing)
  2. Create a run configuration with the main class me.coley.recaf.Recaf

Without IDE:

  1. Execute build
    • Follow the prompt in the script to build the project.
  2. Run the generated build: java -jar target/recaf-{version}-jar-with-dependencies.jar

For additional information, join the Discord server (

Alternative Project Comparisons
Related Awesome Lists
Top Programming Languages

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Java (404,180
Editor (31,830
Eclipse (10,404
Ide (9,212
Javafx (3,762
Reverse Engineering (2,518
Bytecode (2,076
Asm (1,801
Static Analysis (1,434
Decompiler (598
Javafx Application (445
Decompile (400
Bytecode Manipulation (82
Jvm Bytecode (58
Bytecode Engineering (11