Freedom251 › Reverse Engineering Tools
decompyle3

What decompyle3 is
decompyle3 turns Python bytecode into equivalent Python source and can also decompile fragments. The project says it accepts bytecode from Python 3.7 onward, with testing reported for Python 3.7 and 3.8. It focuses on bytecode rather than native-code decompilation. The command-line tool processes compiled `.pyc` and `.pyo` files and includes a `--syntax-verify` option. Installation is documented through PyPI with `pip install decompyle3` or from source. The software is free and open source under the GPL-3.0 license. Its stated boundaries include obfuscated code, Cython, MicroPython, and Py2EXE executables, which it does not handle directly. The project also cautions that decompilation has numerous bugs and that some long lists of expressions or statements can take a long time to process. Paid support is not offered as a regular service, and issue reports and their code are public, with no confidentiality.
Who it suits
It suits people seeking to recover Python source from supported bytecode, including fragment-level work. It may not fit projects involving obfuscated code, Cython, MicroPython, or Py2EXE executables.
What it does well
- Free and open source under GPL-3.0.
- Accepts Python bytecode from version 3.7 onward.
- Processes compiled `.pyc` and `.pyo` files.
- Includes a `--syntax-verify` option.
What to know first
- Does not directly handle obfuscated code or Cython.
- Does not directly handle MicroPython or Py2EXE executables.
- Decompilation has numerous bugs.
- Issue reports and their code are public.
Limits
The documented scope starts at Python 3.7 bytecode, with testing reported for 3.7 and 3.8. Obfuscated code, Cython, MicroPython, and Py2EXE executables are outside its direct handling, and decompilation may contain bugs or run slowly on long lists.
Getting started
- Install Python package from PyPI with `pip install decompyle3`
- Alternatively install decompyle3 from source
- Run `decompyle3` on a compiled `.pyc` or `.pyo` file
- Add `--syntax-verify` when you want syntax verification
Verdict
decompyle3 offers a free command-line route from Python bytecode to source, with documented support starting at version 3.7. Its stated limitations, accuracy cautions, and lack of confidential issue reporting are important considerations.
Questions
What does decompyle3 do?
It translates Python bytecode into equivalent Python source code and can decompile fragments.
How do I install it?
The project documents `pip install decompyle3` through PyPI or installation from source.
Which files can it process?
Its command-line tool runs on compiled `.pyc` and `.pyo` files.
Is decompyle3 free?
Yes. It is free and released under the GPL-3.0 license.
Does it decompile native code?
No. Its stated scope is Python bytecode decompilation rather than native-code decompilation.
Are bug reports private?
No. The project says issue reports and code included in them are public and have no confidentiality.
Facts from decompyle3's own pages
- Accuracy limits
- The README cautions that decompilation has numerous bugs and that some long lists of expressions or statements run slowly. · github.com, 5 Oct 2026
- Bytecode versions
- The README says it accepts Python bytecode from version 3.7 onward, and that bytecode from Python 3.7 and 3.8 has been tested. · github.com, 5 Oct 2026
- Command line
- The README shows running `decompyle3` on compiled `.pyc` or `.pyo` files and documents a `--syntax-verify` option. · github.com, 5 Oct 2026
- Fragment decompiler
- The project describes itself as a native Python cross-version decompiler and fragment decompiler. · github.com, 5 Oct 2026
- Installation
- The README documents installation from PyPI with `pip install decompyle3` or from source. · github.com, 5 Oct 2026
- Issue confidentiality
- The bug reporting guidance says issue reports and the code in them are public and have no confidentiality. · github.com, 5 Oct 2026
- License
- The GitHub repository identifies its license as GPL-3.0. · github.com, 5 Oct 2026
- Purpose
- decompyle3 translates Python bytecode back into equivalent Python source code. · github.com, 5 Oct 2026
- Restrictions
- The README says the project does not handle obfuscated code, Cython, MicroPython, or Py2EXE executables directly. · github.com, 5 Oct 2026
- Support
- The bug reporting guidance says fixes may take months or years and that the maintainer does not provide paid support as a regular service. · github.com, 5 Oct 2026
Where decompyle3 stands on Freedom251
- Reverse Engineering Tools#41 of 73
- Decompiler Software#19 of 24