JD Decompiler

JD (Java Decompiler) is a decompiler for the Java programming language. JD is provided as a GUI tool as well as in the form of plug-ins for the Eclipse (JD-Eclipse) and IntelliJ IDEA (JD-IntelliJ) integrated development environments.

JD supports most versions of Java from 1.1.8 through 1.7.0 as well as JRockit 90_150, Jikes 1.2.2, Eclipse Java Compiler and Apache Harmony and is thus often used where formerly the popular JAD was operated.

Variants
In 2011, Alex Kosinsky initiated a variant of JD-Eclipse which supports the alignment of decompiled code by the line numbers of the originals, which are often included in the original Bytecode as debug information.

In 2012, a branch of JDEclipse-Realign by Martin "Mchr3k" Robertson extended the functionality by manual decompilation control and support for Eclipse 4.2 (Juno).