Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. J2ME
  3. Vineflower

Vineflower

Apache-2.0Java1.12.0

A modern Java and JVM language decompiler focused on high-quality, clean, and accurate code output.

Visit WebsiteGitHubGitHub
2.3k stars144 forks0 contributors

What is Vineflower?

Vineflower is a modern decompiler for Java and JVM languages that converts compiled bytecode back into human-readable source code. It focuses on producing highly accurate and cleanly formatted output, supporting the latest Java features up to Java 21+. The project is a fork of the Fernflower decompiler, continuing its development with an emphasis on quality and usability.

Target Audience

Java developers, reverse engineers, and security researchers who need to analyze or recover source code from compiled JARs, class files, or other bytecode artifacts.

Value Proposition

Developers choose Vineflower for its superior output quality, support for modern Java features, and faster multithreaded decompilation compared to other decompilers. Its accuracy and clean code generation make it ideal for serious code analysis and debugging tasks.

Overview

Modern Java decompiler aiming to be as accurate as possible, with an emphasis on output quality. Fork of the Fernflower decompiler.

Use Cases

Best For

  • Decompiling modern Java applications using records and sealed classes
  • Reverse engineering JAR files to recover lost source code
  • Analyzing third-party libraries for security vulnerabilities
  • Integrating decompilation into custom build tools or IDEs
  • Comparing decompiler output quality for academic or research purposes
  • Debugging obfuscated or minified Java bytecode

Not Ideal For

  • Developers needing decompilation for non-JVM languages like .NET or native code
  • Teams requiring a drag-and-drop GUI tool without command-line interaction
  • Projects involving heavily obfuscated bytecode without prior deobfuscation steps
  • Environments where Java 11 or higher is not available or feasible to install

Pros & Cons

Pros

Modern Java Support

Decompiles Java 21+ features like records, sealed classes, and pattern matching, ensuring compatibility with latest language updates as listed in the README.

Clean Output Formatting

Generates well-formatted, readable source code with automatic formatting, making decompiled code easier to analyze and debug.

Multithreaded Performance

Uses multiple threads for faster decompilation of large codebases, improving efficiency for reverse engineering tasks.

Flexible Integration

Can be run from command line, integrated as a library in build tools like Gradle, or used via an IntelliJ IDEA plugin, offering versatile usage options.

Cons

Java Version Dependency

Requires Java 11 or higher (version 1.9+) or Java 17 (version 1.11+), which may force environment updates and limit compatibility with older systems.

Limited IDE Support

Only has an official plugin for IntelliJ IDEA, leaving users of Eclipse or other IDEs without built-in integration and requiring manual setup.

Command-Line Complexity

Using from command line involves downloading JARs and managing arguments, which can be intimidating for non-technical users or quick tasks.

Frequently Asked Questions

Quick Stats

Stars2,302
Forks144
Contributors0
Open Issues85
Last commit1 month ago
CreatedSince 2021

Tags

#hacktoberfest#java-21#bytecode-analysis#java#multithreading#code-quality#jvm#decompiler#java-decompiler#intellij-plugin#reverse-engineering

Built With

J
Java
G
Gradle

Links & Resources

Website

Included in

J2ME340
Auto-fetched 17 hours ago

Related Projects

RecafRecaf

The modern Java bytecode editor

Stars7,330
Forks537
Last commit16 days ago
FernflowerFernflower

Decompiler from Java bytecode to Java, used in IntelliJ IDEA.

Stars4,359
Forks726
Last commit1 day ago
Javadecompilers.comJavadecompilers.com

Online Java decompiler that supports various decompilers

Stars0
Forks0
Last commit
Jd DecompilerJd Decompiler

Java decompiler with support for Java 5 and later

Stars0
Forks0
Last commit
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub