EVERYTHING XIAOMI
Get listed

Vineflower

Vineflower is a free, open-source Java decompiler intended to produce readable code from Java classes.

Place
#10 of 31
Score
6.5
Vineflower's website

What Vineflower is

Vineflower is a free, open-source Java decompiler intended to produce readable code from Java classes. Its site says it supports modern Java, including J21 and later, and lists automatic output reformatting and multithreaded decompilation. The primary distribution is a JAR available from GitHub releases and Maven Central. It can be run from the command line with archives or files as input; output can go to an archive or folder, or to the console when no destination is specified. A command-line option can decompile Kotlin classes as Kotlin rather than Java. The full distribution includes a Kotlin plugin, which is experimental, and plugins for IntelliJ IDEA @NotNull bytecode and variable renaming; the slim artifact omits built-in plugins. Vineflower can also be added as a Maven or Gradle library, and an IntelliJ plugin is available. Running it requires a Java 17 or newer JVM. The project describes itself as work in progress and welcomes contributions, while its experimental plugin API remains in development. It is licensed under Apache-2.0 and listed for Linux, macOS, Windows, and self-hosted use.

Good

  • Supports modern Java, including J21 and later.
  • Offers automatic output reformatting.
  • Can run multithreaded decompilation.
  • Available as a Maven or Gradle library.
  • Free and open source under Apache-2.0.

Watch out

  • Requires a Java 17 or newer JVM.
  • Kotlin decompilation is experimental.
  • Project and plugin API remain in development.

Who it suits

Vineflower suits Java developers who need a decompiler through a command line, build dependency, or IntelliJ plugin. Its Kotlin option may also suit users working with Kotlin classes.

Verdict

Vineflower offers several ways to use a Java decompiler, including a JAR, IDE plugin, and library dependency. Its Java runtime requirement and work-in-progress status are important considerations.

Plans and prices

From Vineflower's own pricing page, checked 11 Oct 2001.

All about pricing
PlanPriceWhat it gives you
VineflowerFreeNo paid plans or usage limits stated

The facts

Each one read from Vineflower's own pages, with the date it was checked.

What it does

Command line
Vineflower can be run from the command line with a JAR and input files.checked 5 Oct 2001
Configurable output
Command-line options can write output to an archive or folder, or print it to the console when no output is specified.checked 5 Oct 2001
Developer support
Users can ask questions through the project’s Discord, Matrix, or IRC community spaces and mailing lists.checked 11 Oct 2001
Development status
The project describes itself as work in progress and welcomes contributions.checked 5 Oct 2001
Distribution
The primary distribution is a JAR available from GitHub releases and Maven Central.checked 5 Oct 2001
Extensibility
Vineflower has an experimental plugin system for modifying output or implementing new JVM languages, and its plugin API is still in development.checked 11 Oct 2001
How to run
Vineflower can be run from the command line as a JAR using a Java 17 or newer JVM.checked 11 Oct 2001
IDE integration
An IntelliJ plugin is available for using Vineflower in IntelliJ IDEA.checked 11 Oct 2001
Inputs and outputs
Command-line inputs may include archives or files, and output can be saved to an archive or folder, or printed to the console.checked 11 Oct 2001
Java support
The site says Vineflower supports modern Java (J21+), including automatic output reformatting and multithreaded decompilation.checked 11 Oct 2001
Kotlin plugin
The built-in Kotlin plugin provides an experimental decompiler for Kotlin classes, except in the slim JAR distribution.checked 11 Oct 2001
Kotlin support
A command-line option enables decompiling Kotlin classes as Kotlin instead of Java.checked 5 Oct 2001
Library use
Vineflower is published on Maven Central and can be added as a dependency in Maven or Gradle projects.checked 11 Oct 2001
License
The project’s GitHub repository identifies its license as Apache-2.0.checked 11 Oct 2001
Other built-in plugins
The full distribution includes plugins for IntelliJ IDEA @NotNull bytecode and variable renaming; the slim artifact omits plugins.checked 11 Oct 2001
Output features
The site lists automatic output reformatting and multithreaded decompilation.checked 5 Oct 2001
Project status
Vineflower is described as a work-in-progress project, and contributions are welcomed.checked 11 Oct 2001
Purpose
Vineflower is a modern Java decompiler designed for accurate, readable output.checked 11 Oct 2001
Runtime requirement
Running Vineflower requires a Java 17 or newer JVM.checked 5 Oct 2001
Security and compliance
The opened official pages provide no security or compliance claims for the decompiler.checked 11 Oct 2001
Slim artifact
A slim artifact is available without built-in plugins for cases where those plugins are not needed or a smaller dependency is desired.checked 5 Oct 2001
Usage requirement
Running Vineflower requires a Java 17 or newer JVM; the site does not state separate operating-system-specific builds.checked 11 Oct 2001

Alternatives to Vineflower

All alternatives
  1. 1Blockbench logo

    Blockbench

    Free planOpen sourceAndroidiOSWebAPI
    8.1Free plan
  2. 2IntelliJ IDEA logo

    IntelliJ IDEA

    Free planAPIExtensionLinuxmacOS
    7.8From $8.33 a month
  3. 3Visual Studio Code logo

    Visual Studio Code

    Free planWebLinuxmacOSWindows
    7.3Free plan
  4. 4Fabric logo

    Fabric

    Free planAPILinuxmacOSSelf-hosted
    6.7Free plan
  5. 5

    Minecraft Development MCP Server

    Free planAPILinuxmacOSSelf-hosted
    6.6Free plan
  6. 6

    Quilt Loom

    Free planLinuxmacOSWindows
    6.6Free plan