About reJ

The reJ project aims to allow improved visibility into Java class files, whether they were created compiling from Java sources, another language or by any other kind of tool. Basically anything that will run in a Java Virtual Machine.

reJ is a library and a graphical tool for inspection (viewing, searching and comparing) and manipulation (modification, obfuscation, refactoring of methods, fields, attributes and code) of classfiles for the Java platform.

There are various robust libraries/APIs available for bytecode manipulation, such as:

  • BCEL - http://jakarta.apache.org/bcel/
  • ASM - http://asm.objectweb.org/
  • Serp - http://serp.sourceforge.net/

Each library has a slightly different focus. reJ uses it's own API which is focused to serve the needs of the user interface. The user interface with syntax coloring, search, compare and editing capabilities is something that is less readily available elsewhere.

For a more comprehensive list of features, see the Features page.

Some of your questions may be answered in the Frequently Asked Questions section.

To get a grasp of what reJ can do and how to use the GUI take a look at the Hello World screencast (or the old text versions in english and in portuguese).

More information is also available in the Javadocs and the reJ Guide.

If you want to look at the sourcecode, download the source package. or check out the Web view of the CVS repository.


  • July 14th, 2011: New awesome screencast Hello World -tutorial is available.
  • July 14th, 2011: After a very, very lengthy pause breaking Java, there's some effort underway to maybe release reJ 0.8


sami.koivu (at) gmail.com

Bug Tracker

Feature Request Tracker