EVERYTHING XIAOMI
Get listed

uncompyle6

uncompyle6 is a free, GPL-3.0-licensed tool that translates Python bytecode into equivalent Python source code.

Place
#17 of 73
Score
6.3
uncompyle6's website

What uncompyle6 is

uncompyle6 is a free, GPL-3.0-licensed tool that translates Python bytecode into equivalent Python source code. It can work on compiled .pyc and .pyo files, deparse code fragments, and provide source information around a bytecode offset. The README says it accepts bytecode from Python 1.0 through 3.8, as well as Dropbox Python 2.5 bytecode and some PyPy bytecode. Its syntax verification option checks decompiled syntax when used with the matching Python bytecode version. Fragment deparsing is used in trepan debuggers to show source at runtime and can provide stack-trace detail beyond a line number. The README identifies control-flow handling as a significant decompilation challenge and says some incorrect results may be detected and reported. It does not handle obfuscated code, Cython, or MicroPython, and cannot directly decompile Py2EXE executables. Python 3.7 and 3.8 support is generally better in the related decompile3 project. For Python 3.11 and later, the README directs users to install with pip install uncompyle6; earlier versions use a file from GitHub Releases. It is listed for Linux, macOS, Windows, and self-hosted use.

Good

  • Free and GPL-3.0 licensed.
  • Decompiles compiled .pyc and .pyo files.
  • Can provide source context around bytecode offsets.
  • Syntax verification is available for matching versions.

Watch out

  • Does not handle obfuscated code, Cython, or MicroPython.
  • Cannot directly decompile Py2EXE executables.
  • Control-flow issues can lead to erroneous decompilations.
  • Python 3.7 and 3.8 support is generally better in decompile3.

Who it suits

uncompyle6 is aimed at developers who need to translate supported Python bytecode or inspect code fragments. Its fragment features may also suit users of trepan debuggers.

Verdict

uncompyle6 offers bytecode decompilation and fragment inspection across a stated range of Python versions. Its input exclusions and control-flow limitation matter when deciding whether it fits a particular file or debugging task.

Plans and prices

From uncompyle6's own pricing page, checked 8 Oct 2026.

All about pricing
PlanPriceWhat it gives you
Open-source softwareFreeGPL-3.0 licensed Python bytecode decompiler

The facts

Each one read from uncompyle6's own pages, with the date it was checked.

What it does

Bytecode versions
The README says it accepts bytecode from Python 1.0 through 3.8, plus Dropbox Python 2.5 bytecode and some PyPy bytecode.checked 8 Oct 2026
Command line
The README shows running `uncompyle6` on compiled Python `.pyc` or `.pyo` files.checked 8 Oct 2026
Debugger use
The maintainer says fragment deparsing is used in trepan debuggers to show source fragments at runtime.checked 8 Oct 2026
Debugging use
The maker says fragment deparsing can help show stack traces with more detail than a line number and is used in the maker’s trepan debuggers.checked 8 Oct 2026
Fragment decompilation
It can deparse code fragments and provide source information around a bytecode offset.checked 8 Oct 2026
Installation
For Python 3.11 and later, the README instructs users to install from PyPI with `pip install uncompyle6`.checked 8 Oct 2026
Intended audience
PyPI lists developers as the intended audience.checked 8 Oct 2026
Known limitation
The README identifies control-flow handling as a major decompilation problem and says erroneous decompilations may sometimes be detected and reported.checked 8 Oct 2026
License
The repository identifies the project as GPL-3.0 licensed.checked 8 Oct 2026
Older Python installation
For Python versions before 3.11, the README directs users to install from a file in the GitHub Releases section.checked 8 Oct 2026
Operating systems
PyPI classifies the package as operating-system independent.checked 8 Oct 2026
Purpose
uncompyle6 translates Python bytecode into equivalent Python source code.checked 8 Oct 2026
Support
The maintainer says bug reports may take a while to receive attention and that sponsoring or supporting the project can prioritize issues.checked 8 Oct 2026
Syntax verification
The `--syntax-verify` option checks decompiled syntax when used with the matching Python bytecode version.checked 8 Oct 2026
Unsupported inputs
The README says it does not handle obfuscated code, Cython, or MicroPython, and cannot directly decompile Py2EXE executables.checked 8 Oct 2026
Version caveat
The README says Python 3.7 and 3.8 support is generally better in the related decompile3 project.checked 8 Oct 2026
What it does
uncompyle6 translates Python bytecode back into equivalent Python source code.checked 8 Oct 2026

Alternatives to uncompyle6

All alternatives
  1. 1Binary Ninja logo

    Binary Ninja

    Free planWebAPILinuxmacOS
    7.8$199 one-time
  2. 2

    Frida

    Free planOpen sourceAndroidiOSAPILinux
    7.7Free plan
  3. 3rev.ng logo

    rev.ng

    Free planOpen sourceWebAPILinuxmacOS
    7.7Free plan
  4. 4JEB logo

    JEB

    Free planAPILinuxmacOSSelf-hosted
    7.6From $1,200 a year
  5. 5

    Ghidra

    Free planOpen sourceAPIExtensionLinuxmacOS
    7.3Free plan
  6. 6IDA Pro logo

    IDA Pro

    Free planLinuxmacOSWindows
    7.0From $1,099 a year