# Vineflower/vineflower

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

Repository: https://github.com/Vineflower/vineflower
Canonical: https://ross.abutalabs.com/products/vineflower
Homepage: https://vineflower.org/
Language: Java
License: Apache-2.0
License Family: permissive
Topics: decompiler, fernflower, java, hacktoberfest
Last push: 2026-08-18T23:15:22+00:00

## Health v2 (maintenance only)
Score: 84/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 98, release rhythm 57, longevity 100
- inputs: {"age_days": 2002, "days_push": 15, "days_rel": 127, "gap_med": 174, "n_releases_24m": 4}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 2327, forks 146 (observed 2026-08-28T04:06:37.483928+00:00)

## What it is
Vineflower is a modern Java and JVM bytecode decompiler forked from Fernflower, focused on producing accurate, readable output with support for modern Java features like records and pattern matching. It can be run from the command line, embedded as a library, or used via an IntelliJ IDEA plugin.

## Use cases
- decompile a jar file back to readable Java source
- recover source code from compiled class files
- decompile Minecraft mods to inspect their code
- replace IntelliJ's built-in Fernflower decompiler with a better one
- integrate decompilation into a build or analysis tool as a library
- decompile Kotlin or Scala bytecode to Java

## When to choose
- you need high-quality, readable decompiled Java output
- you're decompiling modern Java 21+ bytecode with records, sealed classes, or pattern matching
- you want a multithreaded decompiler for large codebases
- you work with Minecraft modding and need a maintained Fernflower successor

## When to avoid
- you need to decompile non-JVM languages like C or native binaries
- you need a GUI-based decompiler rather than CLI or library use
- your environment can't run a Java 17+ JVM

## Facets
- artifact type: cli-tool
- maturity: active
- function: reverse-engineering, parser, cli, developer-tools
- domain: developer-tools, reverse-engineering, programming-languages
- platform: jvm, cli, cross-platform
- tags: decompiler, fernflower-fork, java-bytecode, minecraft-modding, intellij-plugin, jvm

## Member repositories
- Vineflower/vineflower (main) score 84

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:06:37.483928+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T02:38:13.788040+00:00, confidence not recorded.
  - readme: https://github.com/Vineflower/vineflower (fetched 2026-08-28T04:06:37.483928+00:00, sha 54fb0f4dc103)
  - homepage: https://vineflower.org/ (fetched 2026-08-29T10:18:34.347667+00:00, sha e6d4b2d37bb4)
- Data as of 2026-08-30T08:39:29.467469+00:00.
