14 Best Java Decompilers in 2023 for Java Developers

What is Java Decompiler?

Java decompiler converts .class file into java source code. In other words, the decompiler converts bytecode into readable .java format. You can use a java decompiler to look into the code of predefined java classes like HashMap, HashSet, ArrayList, etc. You can find out how Sun/Oracle java developers wrote the java classes which are currently used by billions of devices in the world.


Java source code from which the .class file has been generated will not exactly match the java source code generated from the java decompiler. But most of the code will be the same.


Read Also: Java 8 Features

After installing java, you can find the predefined java classes in the rt.jar inside the JRE folder. Unzip rt.jar and all the predefined java classes will be present in the bytecode(.class) format. By using a java decompiler, I have written articles on how HashMap works in java, and how HashSet works in java. Let's find out the best java decompilers which I have used and now I am recommending them to you.

14 Best Java Decompilers for Java Developers



1. JDProject



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. JD-Eclipse is a plug-in for the Eclipse platform while JD-Intellij is a plug-in for IntelliJ IDEA.

You can download the JDProject java decompiler from here

JDProject Java Decompiler




2. Procyon



Procyon is a java decompiler developed by Mike Strobel.

Procyon decompiler handles java language enhancements from JDK 1.5 and beyond that most other decompilers don't. Procyon does well with enum declarations, annotations, java 8 lambdas, and method references.

You can find the wiki here comparing the Original code, Procyon decompiler code, and JD decompiler code.

Although the wiki above makes Procyon looks good, I still prefer JDProject over Procyon. Procyon is relatively new and still a work in progress.



3. Cavaj Java Decompiler



If you are a Windows user, then Cavaj is a good option as a decompiler.

It is simple to use and decompiles nearly any java class file.

The main drawback of Cavaj is that it lacks syntax highlighting.

Also, it is not available for Mac or Linux OS.

In short, it is a freeware standalone windows application that converts bytecode(.class) files to java source code.

cavaj java decompiler


4. DJ Java Decompiler



DJ Java Decompiler is yet another standalone windows application. It is available for Windows XP, Windows 2003, Windows Vista, Windows 7, Windows 8, 8.1, and 10.

You don't need to have the JVM (Java Virtual Machine) or any other java JDK installed.

The main advantage of DJ Java Decompiler is that you can decompile more than one java class file at one time.

DJ Decompiler enables users to users to save, print, edit, and compile the generated java code.


5. JBVD



JBVD stands for java bytecode viewer and decompiler.

It is based on the javassist open-source library.

It is only available for Windows OS.

JBVD requires java to be installed on your device to work.


6. AndroChef



AndroChef is also a windows based java decompiler application.

With AndroChef Java Decompiler you can decompile apk, dex, jar, and java class files. It's simple and easy.

AndroidChef supports Windows XP, Windows 2003, Windows Vista, Windows 7, Windows 8, 8.1, and 10.

AndroChef successfully decompiles java6, java 7, and java 8 .jar and .class files.

best java decompilers


7. CFR Decompiler



CFR stands for Class File Reader.

It is completely written in java 6. It supports the latest features of java8 like lambdas while decompiling.

You do not need to worry if you are using java 8. The only drawback of this decompiler is that it is not an open-source program.

Although, it has a command line tool which is ideal for making the decompiling process efficient and faster.


8. Fernflower



Fernflower is an analytical decompiler for java.

It is used to decompile class, zip, and jar file extensions.

It is still under development.

Online Java Decompilers

A few of the developers prefer decompiling online.

You can use online Java Decompilers when you want to decompile only one class.

But I will recommend not using an online Java decompiler for your production code base.


9. javadecompilers.com



This online decompiler expects a .class file to be uploaded and then select the decompiler that you want to use from the given list of tools.

java decompilers online


10. jdec.app



jdec app java decompiler


11. decompiler.com



The online decompiler decompiler.com works for all of the following extensions: APK, PYC or PYO, XAPK or DEX, EXE or DLL, JAR or CLASS, LUAC or LUB, SMX or AMXX.

This is an online decompiler that can decompile Java, C#, Python, Lua, and Android code as well.


12. decompilertool.com



decompiler tool com online java decompiler


13. MobileFish - Java Decompiler Online



This is another online tool and it is still work in progress. The generated java code from this online java decompiler tool is not complete.

14. Appscms - Java Decompiler Online



This is a very user-friendly online Java decompiler.

appscms online java decompiler


Conclusion

There are many options available for java decompiler. If you have MacOS, or Linux OS or looking for the eclipse, IntelliJ plugin then goes for JDProject. For Windows OS there are many options available like DJ decompiler, JBVD, AndroChef, Cavaj, and JDProject. Please mention in the comments if you come across any java decompiler which is not mentioned in the above list. That's all, I have shared the 8 best java decompilers for java developers.

About The Author

Subham Mittal has worked in Oracle for 3 years.
Enjoyed this post? Never miss out on future posts by subscribing JavaHungry