JAD is one of the best Java Decompiler today. This is one brilliant piece of software. Nevertheless, the last JDK supported by JAD 1.5.8 (Apr 14, 2001) is JDK 1.3.

DJ Java Decompiler, JadClipse, Cavaj and JarInspector are powered by Jad. The last version of Decafe Pro has been released on 2002-01-03.

These viewers can not display Java 5 sources.

So, I use JD-GUI : logic, I'm the author :)

Answer from Emmanuel Dupuy on Stack Overflow
🌐
Medium
medium.com › @aashupel2023 › the-best-java-decompilers-online-in-2023-517bf6f4971f
The Best Java Decompilers Online in 2023 | by Perfect eLearning | Medium
September 8, 2023 - JAD is a well-established decompiler that has been in use for many years. While it may not be as feature-rich as some others, it remains a reliable choice for decompiling Java code. ... Selecting the best Java decompiler depends on your specific needs and preferences.
🌐
Java Decompiler
java-decompiler.github.io
Java Decompiler
JD-Core is a library that reconstructs Java source code from one or more “.class” files. JD-Core may be used to recover lost source code and explore the source of Java runtime libraries. New features of Java 5, such as annotations, generics or type “enum”, are supported.
🌐
Reddit
reddit.com › r/java › new open source java decompiler
r/java on Reddit: New open source Java decompiler
April 29, 2022 -

Hello! Today I'm happy to announce the release of a project that me and my friends have been working on over the course of the last year, Quiltflower! Originally intended just for use with the QuiltMC toolchain with Minecraft, Quiltflower quickly expanded to be a general purpose java decompiler aiming to create code that is as accurate and clean as possible. If the name sounds familiar it's because Quiltflower is a fork of Fernflower, the (in)famous decompiler that was developed by Stiver, maintained by Jetbrains, and became the default decompiler in Intellij IDEA. Fernflower also quickly found its way into many other tools. After many frustrations with it myself with its decompiled code structuring and quality I decided to do something about it, and here we are! Over the past year, Quiltflower has added support for features such as modern string concatenation, a code formatter, sealed classes, pattern matching, switch expressions, try-with-resources, and more. Quiltflower also focuses on the code quality of the decompiled output, and takes readability very seriously. We'd greatly appreciate it if you'd give it a try, with our Intellij Plugin, as a standalone jar, or on our maven. While it has come a long way it's still a work in progress, and feedback can be reported on our issue tracker.

Here's a comparison of Fernflower and Quiltflower's output.

I'd also like to thank the MinecraftForge Team for creating ForgeFlower, the fork that QuiltFlower was based on, and Lee Benfield for creating CFR and it's truly incredible test suite.

🌐
TechVidvan
techvidvan.com › tutorials › java-decompilers
Best Java Decompilers You Must Know - TechVidvan
June 19, 2020 - Learn what are java decompilers & how to decompile java program, Top decompilers in java - JAD, DJ Java, JDProject, Procyon, JBVD, Cavaj, AndroChef, CFR
🌐
GitHub
github.com › Vineflower › vineflower
GitHub - Vineflower/vineflower: Modern Java decompiler aiming to be as accurate as possible, with an emphasis on output quality. Fork of the Fernflower decompiler.
Vineflower is a modern general purpose Java & JVM language decompiler focused on providing the best quality, speed, and usability.
Starred by 1.8K users
Forked by 116 users
Languages   Java
🌐
Java Code Geeks
javacodegeeks.com › home › core java
13 Best Java Decompilers for Download and Online Use for Java Developers - Java Code Geeks
November 17, 2021 - A quick guide to best java decompilers for the java developers offline usage and best online java decompilers.
🌐
Java Decompilers
javadecompilers.com
Java decompiler online
given here only for historical reason. Free, no source-code available, jad download mirror Author: Pavel Kouznetsov Probably, this is the most popular Java decompiler, but primarily of this age only. Written in C++, so very fast.
Find elsewhere
🌐
HdfsTutorial
hdfstutorial.com › home › blog › 9 best java decompiler
9 Best Java Decompiler [Offline Java Decompiler] - HdfsTutorial
January 31, 2019 - JD Project is one of the most frequently used best java decompiler offline. It is developed to decompile Java 5 and beyond, which currently goes up to Java 8. It is available for Windows, Mac, and Linux and is the best decompiler for eclipse ...
🌐
DigitalOcean
digitalocean.com › community › tutorials › java-compiler
Java Decompiler Explained: How It Works, Tools, and Use Cases | DigitalOcean
June 19, 2025 - In this in-depth guide, we’ll walk you through everything you need to know about Java decompilers—from how Java compilation works to the best tools for decompiling .class files.
🌐
Technotification
technotification.com › home › lists › 5 best java decompilers in 2025 [updated list]
5 Best Java Decompilers in 2025 [Updated List]
January 6, 2025 - This means that you don’t have to worry if you are using Java 8. The only downside is this decompiler is not an open-source program. However, it has a command-line tool which is ideal for making the decompiling process faster and more efficient. If you are looking for the best Java decompiler, try out any of the above decompilers.
🌐
Blogger
javahungry.blogspot.com › 2018 › 12 › 8-best-java-decompiler-in-2019.html
14 Best Java Decompilers in 2023 for Java Developers | Java Hungry
JDProject is one of the most frequently used java decompilers offline. It is developed to decompile java 5 or later versions(as of now till java8). It is available for Windows, Mac OS, and Linux. It is the best decompiler for eclipse and IntelliJ too as it provides a plugin for each platform.
🌐
Quora
quora.com › Which-is-the-best-Java-decompiler
Which is the best Java decompiler? - Quora
Answer (1 of 4): I generally have used JD | Java Decompiler, in my career.Basically this has 3 main features. * JD Core-The base library which recovers the lost source code,and supports all new features of Java 5. * JD-GUI- Standalong GUI which displays the source code of the class files. * ...
🌐
FreelancingGig
freelancinggig.com › home › top 10 best java decompilers
Top 10 Best Java Decompilers - Developers, Designers & Freelancers - FreelancingGig
December 13, 2019 - JDProject is a java decompiler that is frequently used while offline. It is also developed for decompiling the java 5 or other updated versions. It is also available for Mac OS, Linux, and Windows. It is the best high decompiler for the eclipse as well as for IntelliJ as well as it offers the plugin for every single platform.
Top answer
1 of 7
41

There is the open source Java decompiler, Procyon.

I have not tested it against any obfuscated code, but I have seen it decompile many methods that JD-GUI failed to handle. Note that it's a work in progress, and I'm sure you will find plenty of code that it will fail to decompile.

2 of 7
19

Old and Lacking Entries

JAD Some time ago, everyone’s decompiler of choice was jad. Currently, the project is dead (in addition, it wasn’t open source), but still you see a lot of people referring to it.

Java DeObfuscator Also an older tool from fileoffset.com, but still works more or less. The interface is rather clunky to use for larger projects, but the tool is open source.

JODE JODE is a java package containing a decompiler and an optimizer for Java. This package is freely available under the GNU GPL. It hasn’t been updated for quite some time.

AndroChef Proprietary tool to decompile Android programs and Java files, available here. Not worth the money given the alternatives, just as DJ Decompiler.

Candle An open source decompiler by Brad Davis. I’m mentioning it for completeness, but is far away from being feature complete.


Modern Tools

JD-Gui Probably one of the most widely used tools for Java decompilation, as it is easy to use and provides a graphical user interface which allows to quickly open up and inspect a class file or JAR. You can find it over here.

FernFlower Very new and promising analytical Java decompiler (becoming an integral part of IntelliJ 14).

It’s a command line tool. This one is able to show the Unicode parameters with their full name.

Download from here. It’s a command line tool. This one is able to show the Unicode parameters with their full name.
Note that it's also already integrated by default in IntelliJ.

CFR

Free, and open source. This one aims to decompile modern Java features, including Java 12 switch expressions, Java 8 lambdas (pre and post Java beta 103 changes), Java 7 String switches etc., though is itself written in Java 6.

Also a command line tool. This one does an even better job and is slightly faster.

Procyon

Open source, and also aims to deal with Java 8 features (lambdas, :: operator). Needs Java 7 to run.

Krakatau Krakatau is interesting because it has been written in Python. It currently contains three tools: a decompiler and disassembler for Java class files and an assembler to create class files.

Does not yet support Java 8 features.

Soot

Soot is a framework for analyzing and transforming Java and Android applications, originally developed by the Sable Research Group of McGill University. It’s not very commonly used “just” as a decompiler, as it also defines an intermediate byte code language.

Recaf

A Java Bytecode editor and reverse engineering tool aimed at being intuitive to use. It can present bytecode through multiple decompilers (CFR, FernFlower, Procyon) or in a table layout to allow displaying class elements that are indecipherable in standard decompilers. Recaf uses context-sensitive menus to interact with classes, methods, and fields, allowing users to search for use cases, rename items, and edit definitions in a disassembled format.

It supports jars, wars, classes, and extracting classes from running Java processes.

It is written completely in Java and is fully open source.

Konloch’s Bytecode Viewer

An Advanced Lightweight Java Bytecode Viewer, GUI Java Decompiler, GUI Bytecode Editor, GUI Smali, GUI Baksmali, GUI APK Editor, GUI Dex Editor, GUI APK Decompiler, GUI DEX Decompiler, GUI Procyon Java Decompiler, GUI Krakatau, GUI CFR Java Decompiler, GUI FernFlower Java Decompiler, GUI DEX2Jar, GUI Jar2DEX, GUI Jar-Jar, Hex Viewer, Code Searcher, Debugger and more.

Written completely in Java, and it’s open source.

It uses FernFlower, Procyon and CFR for decompilation, makes this an awesome visual tool using state-of-art decompilers:

Enigma

A tool specifically geared for deobfuscation:

Originally used to deobfuscate Minecraft versions. Uses Procyon internally.

A more up to date fork can be found here

It’s fun to note that a lot of effort into decompilers and de-obfuscators for Java is the result of the modding scene around Minecraft, one of the most popular games implemented in Java.

Source: http://blog.macuyiko.com/post/2015/a-quick-look-at-java-decompilers.html

🌐
GitHub
github.com › java-decompiler
Java Decompiler · GitHub
JD-Core is a JAVA decompiler written in JAVA.
🌐
The Crazy Programmer
thecrazyprogrammer.com › home › 5 best java decompilers
5 Best Java Decompilers
June 22, 2019 - The best decompiler would be platform independent, all products that were listed are only supported on windows. ... JD Project is nice and is platform independent it itself is a jar.
🌐
Edopedia
edopedia.com › blog › best-java-decompilers
23 Best Java Decompilers [cy] (Ranked and Reviewed)
September 15, 2025 - However, the Krakatau decompiler does not support some Java 8+ features such as lambdas, so it works best on older code.
🌐
GitHub
github.com › mstrobel › procyon › wiki › Java-Decompiler
Java Decompiler
Jad (no longer maintained, closed source) and JD-GUI (GPL3) are pretty decent choices, but the former does not support Java 5+ language features, and the latter tends to barf on code emitted by my LINQ/DLR tree compiler. To address the situation, I recently started developing a decompiler myself, inspired by (and borrowed heavily from) ILSpy and Mono.Cecil.
Author   mstrobel
🌐
Benf
benf.org › other › cfr
CFR - yet another java decompiler.
CFR will decompile modern Java features - up to and including much of Java 9, 12 & 14, but is written entirely in Java 6, so will work anywhere!