Fernflower A decompiler from Java bytecode to Java. About Fernflower Fernflower is the first actually working analytical decompiler for Java and probably for a high-level programming language in general. Naturally, it is still under development. Please send your bug reports and improvement suggestions to the issue tracker (in subsystem Java. Decompiler. Engine ). Naming The correct name is Fernflower, not FernFlower. Credits Fernflower was originally written by Stiver. Fernflower includes some patches from ForgeFlower. Sincere appreciation is extended to the maintainers of ForgeFlower for their valuable contributions and enhancements. A mirror of this repository has been maintained for many years by Andrew McRae until JetBrains offered to take over. Sincere appreciation is extended to Andrew for his work maintaining the mirror. License Fernflower is licensed under the Apache License Version 2.0. Usage IntelliJ The Fernflower IDE plugin is bundled in IntelliJ IDEA. Open any .class file and you should see the decompiled Java source code: this is Fernflower in action. The plugin is also open-source and can be found here. Running from the command line java -jar fernflower.jar [-<option>=<value>]* [<source>]+ <destination>` * means zero or more times + means one or more times <source> : file or directory with files to be decompiled. Directories are recursively scanned. Allowed file extensions are class, zip and jar. Sources prefixed with -e= mean "library" files that won't be decompiled but taken into account when analyzing relationships between classes or methods. Especially renaming of identifiers (see the ren option) can benefit from information about external classes. <destination> : destination directory to place the resulting Java source into <option>=<value> : a command-line option with the corresponding value (see "Command-line options" below). Examples java -jar fernflower.jar -hes=0 -hdc=0 c:\Temp\binary\ -e=c:\Java\rt.jar c:\Temp\source\ java -jar fernflower.j...
First seen: 2025-09-29 04:30
Last seen: 2025-09-29 16:33