I found that jd-cmd does the job just fine, and works recursively in sub-folders for multiple files. To decompile a group of files on the command line, run the following commands:

  1. Download the JAR file from here as the jd-cmd README.md file.
  2. Create the directory where your output Java files will be located.
  3. Run the command to decompile the files: java -jar jd-cli.jar -od <my-output-folder> <my-input-folder>.
Answer from Jon Thoms on Stack Overflow
🌐
Java Decompiler
java-decompiler.github.io
Java Decompiler
It allows you to display all the Java sources during your debugging process, even if you do not have them all. ... A warning dialog windows appear because "org.jd.ide.eclipse.plugin_x.y.z.jar" is not signed. Click on "Install anyway" button. ... Did JD-GUI help you to solve a critical situation? Do you use JD-Eclipse daily?
🌐
Java Decompilers
javadecompilers.com
Java decompiler online
Has its own visual interface and plugins to Eclipse and IntelliJ . Written in C++, so very fast. Supports Java 5. open-source, https://bitbucket.org/mstrobel/procyon/wiki/Java Decompiler Author: Mike Strobel Updated in 2019. Handles language enhancements from Java 5 and beyond, up to Java 8, including:
🌐
DigitalOcean
digitalocean.com › community › tutorials › java-compiler
Java Decompiler Explained: How It Works, Tools, and Use Cases | DigitalOcean
June 19, 2025 - Tip: If you use IntelliJ IDEA or Eclipse, plugins like Fernflower and Enhanced Class Decompiler make the process seamless. Need something quick and accessible? Online Java decompilers let you view the contents of .class files without downloading any software. These tools are especially useful for quick inspections, educational purposes, or when you’re working on a system where you can’t install desktop software.
🌐
Baeldung
baeldung.com › home › java › decompiling classes in java
Decompiling Classes in Java | Baeldung
August 14, 2025 - In contrast to Eclipse, IntelliJ ... decompiler as a default. To use it, we simply Ctrl+Left-Click on a class name and view the code: Also, we can download the source. Downloading the source will provide the actual code and comments.
🌐
YouTube
youtube.com › watch
Java Decompiler - YouTube
Please check out my blog(http://learnsimple.in) for more technical videos.For any java/full stack/DevOps/developer/lead positions related mock interviews ass...
Published   June 4, 2016
🌐
JetBrains
jetbrains.com › help › idea › decompiler.html
Java bytecode decompiler | IntelliJ IDEA Documentation
IntelliJ IDEA features the Java bytecode decompiler that shows you compiled bytecode as if it were human-readable Java code. The decompiler is enabled by default. Open a compiled .class file in the editor. If it is the first time that you are ...
Find elsewhere
🌐
Javatpoint
javatpoint.com › java-decompiler
Java Decompiler - Javatpoint
Java Decompiler with oops, string, exceptions, multithreading, collections, jdbc, rmi, fundamentals, programs, swing, javafx, io streams, networking, sockets, classes, objects etc,
🌐
Benf
benf.org › other › cfr
CFR - yet another java decompiler.
(FAQ) - It'll even make a decent go of turning class files from other JVM languages back into java! To use, simply run the specific version jar, with the class name(s) you want to decompile (either as a path to a class file, or as a fully qualified classname on your classpath).
Top answer
1 of 16
588

Update February 2016:

www.javadecompilers.com lists JAD as being:

the most popular Java decompiler, but primarily of this age only. Written in C++, so very fast.
Outdated, unsupported and does not decompile correctly Java 5 and later

So your mileage may vary with recent jdk (7, 8).

The same site list other tools.

And javadecompiler, as noted by Salvador Valencia in the comments (Sept 2017), offers a SaaS where you upload the .class file to the cloud and it returns you the decompiled code.


Original answer: Oct. 2008

  • The final release of JSR 176, defining the major features of J2SE 5.0 (Java SE 5), has been published on September 30, 2004.
  • The lastest Java version supported by JAD, the famous Java decompiler written by Mr. Pavel Kouznetsov, is JDK 1.3.
  • Most of the Java decompilers downloadable today from the Internet, such as “DJ Java Decompiler” or “Cavaj Java Decompiler”, are powered by JAD: they can not display Java 5 sources.

Java Decompiler (Yet another Fast Java decompiler) has:

  • Explicit support for decompiling and analyzing Java 5+ “.class” files.
  • A nice GUI:

It works with compilers from JDK 1.1.8 up to JDK 1.7.0, and others (Jikes, JRockit, etc.).

It features an online live demo version that is actually fully functional! You can just drop a jar file on the page and see the decompiled source code without installing anything.

2 of 16
101

There are a few decompilers out there... A quick search yields:

  1. Procyon: open-source (Apache 2) and actively developed
  2. Krakatau: open-source (GPLv3) and actively developed
  3. CFR: open-source (MIT) and actively developed
  4. JAD
  5. DJ Java Decompiler
  6. Mocha

And many more.

These produce Java code. Java comes with something that lets you see JVM byte code (javap).

🌐
GitHub
github.com › mstrobel › procyon › wiki › Java-Decompiler
Java Decompiler
Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. ... As a developer who splits his time between the .NET and Java platforms, I have been surprised and dismayed by the lackluster selection of decompilers in the Java ecosystem.
Author   mstrobel
🌐
Wikipedia
en.wikipedia.org › wiki › JD_Decompiler
JD Decompiler - Wikipedia
2 weeks ago - 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 10.0.2 as well as JRockit 90_150, Jikes 1.2.2, Eclipse Java Compiler and Apache Harmony and is thus often used ...
🌐
Jdec
jdec.app
JDec - Java Decompiler Online
Click to select a file, or drag and drop it here (.class or .jar) Decompiling...
🌐
TechVidvan
techvidvan.com › tutorials › java-decompilers
Best Java Decompilers You Must Know - TechVidvan
June 19, 2020 - It is developed for decompiling Java code written in Java 5 and later versions. This decompiler can be used for all platforms- It includes three tools: JD-GUI, JD-Core, and JD-Eclipse, JD-Intellij. JD-GUI is a graphical interface for displaying the source code corresponding to the class files.
🌐
Quora
quora.com › How-do-Java-decompilers-work
How do Java decompilers work? - Quora
Answer (1 of 3): (original question asked which of the JVM, JRE, JDK and/or Java applet contained the compiler) The JDK. The terms given break down as follows: The JDK contains, amongst other things, the compiler which compiles source code into bytecode, a type of code that can be executed by t...
🌐
Jamie Tanna
jvt.me › posts › 2021 › 12 › 20 › java-decompile-command-line
Decompiling Java Class Files On the Command-Line · Jamie Tanna | Software Engineer
December 20, 2021 - Before we can run this, you need to have access to the Fernflower JAR file. If you have IntelliJ installed, you can find it present in the plugins/java-decompiler/lib/java-decompiler.jar path within your IntelliJ installation.
🌐
Blogger
javahungry.blogspot.com › 2018 › 12 › 8-best-java-decompiler-in-2019.html
14 Best Java Decompilers in 2023 for Java Developers | Java Hungry
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.
🌐
Visual Studio Marketplace
marketplace.visualstudio.com › items
Decompiler for Java - Visual Studio Marketplace
Extension for Visual Studio Code - Adds a decompiler for the Java Language Support extension.
🌐
GitHub
github.com › skylot › jadx
GitHub - skylot/jadx: Dex to Java decompiler
Allowed formats: Tiny and Tiny ... methods control flow graph (use raw instructions) -f, --fallback - set '--decompilation-mode' to 'fallback' (deprecated) --use-dx - use dx/d8 to convert java bytecode --comments-level - set code comments level, values: error, warn, info, ...
Starred by 46.5K users
Forked by 5.4K users
Languages   Java 90.8% | Smali 6.6% | Kotlin 2.3% | Lex 0.3%