fernflower
brew install fernflower
v261.25134.95
Apache-2.0
Advanced decompiler for Java bytecode
75
30-day installs · #3909
300
90-day · #3531
843
365-day · #4103
4.3k
★ GitHub stars · updated 2mo ago
Runtime dependencies
GitHub topics
decompiler
java
reverse-engineering
Links
- https://github.com/JetBrains/fernflower
- GitHub: JetBrains/fernflower
- Brew formula source: Formula/f/fernflower.rb
Raw metadata
{
"aliases": [],
"alternatives": [],
"build_dependencies": [],
"categories": [],
"caveats": null,
"conflicts_with": [],
"dependencies": [
"openjdk"
],
"deprecated": 0,
"deprecation_reason": null,
"desc": "Advanced decompiler for Java bytecode",
"disable_reason": null,
"disabled": 0,
"enrichment_fetched_at": "2026-06-20T23:37:35+00:00",
"first_seen": "2026-06-20T23:34:18+00:00",
"full_name": "fernflower",
"github_default_branch": "master",
"github_last_commit_at": "2026-06-19T09:31:34Z",
"github_readme_excerpt": "[issue tracker]: https://youtrack.jetbrains.com/newIssue?project=IDEA\u0026clearDraft=true\u0026c=Subsystem%20Java.%20Decompiler.%20Engine\n\n# Fernflower\n\nFernflower is the first actually working analytical decompiler for Java and probably for a high-level programming language in general.\n\nReleases are published in the [Intellij Community repository](https://www.jetbrains.com/intellij-repository/releases).\n\nPlease send your bug reports and feature requests to the [issue tracker] (in subsystem `Java. Decompiler. Engine`).\n\n### IntelliJ usage\n\nFernflower is bundles as in IntelliJ IDEA and is primarily used to show Java code when debugging or navigating through class files.\n\n### Command line usage\n\nFernflower can be run from the command line in stand-alone mode using the following command:\n\n```console\njava -jar fernflower.jar [-\u003coption\u003e=\u003cvalue\u003e]* [\u003csource\u003e]+ \u003cdestination\u003e`\n```\n\n`*` means zero or more times\n\n`+` means one or more times\n\n`\u003csource\u003e`: file or directory with files to be decompiled.\nDirectories are recursively scanned.\nAllowed file extensions are class, zip and jar.\nSources prefixed with -e= mean \"library\" files that won\u0027t be decompiled but taken into account when analyzing\nrelationships between classes or methods.\nEspecially renaming of identifiers (see the `ren` option) can benefit from information about external classes.\n\n`\u003cdestination\u003e`: destination directory to place the resulting Java source into\n\n`\u003coption\u003e=\u003cvalue\u003e`: a command-line option with the corresponding value (see \"Command-line options\" below).\n\n#### Examples\n\n```console\njava -jar fernflower.jar -hes=0 -hdc=0 c:\\Temp\\binary\\ -e=c:\\Java\\rt.jar c:\\Temp\\source\\\n```\n\n```console\njava -jar fernflower.jar -dgs=1 c:\\Temp\\binary\\library.jar c:\\Temp\\binary\\Boot.class c:\\Temp\\source\\\n```\n\n#### Command-line options\n\nExcept for `mpm` and `urc` the value of 1 means the option is activated, 0 - deactivated.\nThe default value, if any, is given between parentheses.\n\nTypically, the following options will be changed by user",
"github_repo": "JetBrains/fernflower",
"github_stars": 4312,
"github_topics": [
"decompiler",
"java",
"reverse-engineering"
],
"homepage": "https://github.com/JetBrains/fernflower",
"homepage_og_description": null,
"homepage_og_image": null,
"homepage_title": null,
"installs_30d": 75,
"installs_365d": 843,
"installs_90d": 300,
"keg_only": 0,
"keg_only_reason": null,
"last_seen": "2026-06-20T23:34:18+00:00",
"license": "Apache-2.0",
"llm_generated_at": null,
"llm_model": null,
"name": "fernflower",
"oldnames": [],
"one_liner": null,
"optional_dependencies": [],
"rank_30d": 3909,
"rank_365d": 4103,
"rank_90d": 3531,
"raw_hash": "142f850ce04caee6",
"recommended_dependencies": [],
"revision": 0,
"ruby_source_path": "Formula/f/fernflower.rb",
"tap": "homebrew/core",
"test_dependencies": [],
"uses_from_macos": [],
"version_head": null,
"version_stable": "261.25134.95",
"versioned_formulae": [],
"why_use_this": null
}