Modern Java decompiler aiming to be as accurate as possible, with an emphasis on output quality. Fork of the Fernflower decompiler.
2,358
stars
1,883
commits
Java
primary language
Aug 18, 2026
updated
Vineflower is a modern general purpose Java & JVM language decompiler focused on providing the best quality, speed, and usability.
Vineflower's features include:
Examples of Vineflower's output compared to other decompilers can be found on the website.
Vineflower can be used from the console or as a library. To run Vineflower from the command line, download the latest release from the Releases tab.
You can then run Vineflower with java -jar vineflower.jar <arguments> <source> <destination>.
<arguments> is the list of commandline arguments that you want to pass to the decompiler.
<source> can be a jar, zip, folder, or class file, and <destination> can be a folder, zip, jar, or omitted to print to the console.
To use Vineflower as a library, you can find distributions on maven central. Vineflower 1.9+ requires Java 11 or higher to run, and Vineflower 1.11+ requires Java 17 or higher to run. Vineflower can be addded as a dependency in gradle with:
dependencies {
implementation 'org.vineflower:vineflower:<version>'
}
More instructions on how to interface with Vineflower can be found on the website.
For IDE use, the Vineflower Intellij IDEA plugin replaces Fernflower in IDEA with Vineflower.
Please report any issues to the Issues tab!
Vineflower can be built simply with ./gradlew build.
For support or questions, please join one of the listed social platforms.
Contributions are always welcome! The website has detailed instructions on how to set up Vineflower development, as well as information on debugging.
When submitting pull requests, please target the latest develop/1.xx.y branch.
Vineflower is a fork of Jetbrains' Fernflower, MinecraftForge's ForgeFlower, FabricMC's fork of Fernflower, and a direct continuation of work on Quiltflower. Special thanks to:
(top 30 of 74)
Java
98.7%
Kotlin
1.2%
Modern Java decompiler aiming to be as accurate as possible, with an emphasis on output quality. Fork of the Fernflower decompiler.
2,358
stars
1,883
commits
Java
primary language
Aug 18, 2026
updated
Vineflower is a modern general purpose Java & JVM language decompiler focused on providing the best quality, speed, and usability.
Vineflower's features include:
Examples of Vineflower's output compared to other decompilers can be found on the website.
Vineflower can be used from the console or as a library. To run Vineflower from the command line, download the latest release from the Releases tab.
You can then run Vineflower with java -jar vineflower.jar <arguments> <source> <destination>.
<arguments> is the list of commandline arguments that you want to pass to the decompiler.
<source> can be a jar, zip, folder, or class file, and <destination> can be a folder, zip, jar, or omitted to print to the console.
To use Vineflower as a library, you can find distributions on maven central. Vineflower 1.9+ requires Java 11 or higher to run, and Vineflower 1.11+ requires Java 17 or higher to run. Vineflower can be addded as a dependency in gradle with:
dependencies {
implementation 'org.vineflower:vineflower:<version>'
}
More instructions on how to interface with Vineflower can be found on the website.
For IDE use, the Vineflower Intellij IDEA plugin replaces Fernflower in IDEA with Vineflower.
Please report any issues to the Issues tab!
Vineflower can be built simply with ./gradlew build.
For support or questions, please join one of the listed social platforms.
Contributions are always welcome! The website has detailed instructions on how to set up Vineflower development, as well as information on debugging.
When submitting pull requests, please target the latest develop/1.xx.y branch.
Vineflower is a fork of Jetbrains' Fernflower, MinecraftForge's ForgeFlower, FabricMC's fork of Fernflower, and a direct continuation of work on Quiltflower. Special thanks to:
(top 30 of 74)
Java
98.7%
Kotlin
1.2%