# Fernflower

> JetBrains' analytical decompiler that turns Java class files back into Java source; IntelliJ IDEA bundles it to show code when debugging or browsing class files. The standalone console decompiler takes class files, JARs, ZIPs or directories, can load library files with -e only as analysis context, and writes Java sources to an output directory. Options cover generic signatures, lambdas, inner classes, record and switch patterns, per-method time limits and renaming of ambiguous or obfuscated identifiers, optionally through a user-supplied renamer class.

- Type: Tool
- Targets: App
- Category: JVM bytecode tools
- Relationship: Foundation tool
- Sources reviewed: 2026-10-19
- Added to the catalog: 2026-10-19
- Original resource: <https://github.com/JetBrains/fernflower>
- Primary source: <https://github.com/JetBrains/fernflower/blob/924b60f87d93743ab63b59454eec708e8309ef2a/README.md>
- Catalog page: <https://awesomerea.org/resources/fernflower/>
- Record JSON: <https://awesomerea.org/resources/fernflower/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/fernflower/index.md)

## Requirements & limits

- No GitHub releases: the README says releases are published in the IntelliJ repository, whose java-decompiler-engine metadata listed 262.10968.63 as the latest release at review. The README describes Fernflower as part of IntelliJ Community, which takes patches as pull requests, and bugs go to JetBrains' YouTrack (subsystem Java. Decompiler. Engine).
- The reviewed master commit's Gradle build (wrapper 9.1.0) compiles for Java 21 and produces fernflower.jar, or a fernflower start script with ./gradlew installDist; the README documents the java -jar fernflower.jar command line.
- Inputs are user-supplied class, JAR or ZIP files; libraries passed with -e inform analysis of class and method relationships but are not decompiled. The README says most options are aimed at professional reverse engineers. Output is reconstructed Java, not the original source.
- Apache-2.0 with a JetBrains NOTICE. The README credits Stiver as the original author and JetBrains as maintainer since 2014, with some ForgeFlower patches merged; Vineflower is a separately maintained fork.

## Primary sources

1. <https://github.com/JetBrains/fernflower/blob/924b60f87d93743ab63b59454eec708e8309ef2a/README.md>
2. <https://github.com/JetBrains/fernflower/blob/924b60f87d93743ab63b59454eec708e8309ef2a/README.md#L48-L92>
3. <https://github.com/JetBrains/fernflower/blob/924b60f87d93743ab63b59454eec708e8309ef2a/build.gradle.kts>
4. <https://github.com/JetBrains/fernflower/blob/924b60f87d93743ab63b59454eec708e8309ef2a/LICENSE.txt>
5. <https://github.com/JetBrains/fernflower/blob/924b60f87d93743ab63b59454eec708e8309ef2a/NOTICE.txt>
6. <https://www.jetbrains.com/intellij-repository/releases/com/jetbrains/intellij/java/java-decompiler-engine/maven-metadata.xml>

## More in Apps

- [Bytecode Viewer](https://awesomerea.org/resources/bytecode-viewer/index.md) · Tool
- [Logic-Lens](https://awesomerea.org/resources/logic-lens/index.md) · Tool
- [Android Security Toolkit](https://awesomerea.org/resources/android-security-toolkit/index.md) · Tool
- [ilspy-cli: targeted .NET decompilation for agents](https://awesomerea.org/resources/akiselev-ilspy-cli/index.md) · Tool
- [React-Decode](https://awesomerea.org/resources/react-decode/index.md) · Tool
- [abc-decompiler](https://awesomerea.org/resources/abc-decompiler/index.md) · Tool

## About this entry

The description was reviewed against primary sources.
Original editorial content: MIT. Linked projects, papers and assets retain their own rights and licenses.
