Python .pyc Decompiler
Decompile a compiled Python .pyc file back to readable source — all versions, running in your browser via WebAssembly. Nothing uploaded.
Why use this tool?
Use the .pyc Decompiler to see exactly how much a compiled Python file gives away. Drop in a .pyc and it reconstructs the original source — names, strings, and logic — using a decompiler engine compiled to WebAssembly, so everything runs locally and nothing is uploaded. It's the fastest way to prove to yourself that shipping .pyc is not protection.
Drop a .pyc here, or click to choose
Runs entirely in your browser — nothing is uploaded. Max 8 MB.
Recovers source for Python 1.x through ~3.12 (best on ≤3.11; very new versions may be partial), running entirely in your browser via WebAssembly — nothing is uploaded. Use it to inspect your own compiled Python and see how little a .pyc actually hides — then obfuscate so it can't be read back. See also: why .pyc isn't protection.
About Python .pyc Decompiler
Most Python decompilers are limited: the popular pure-Python tools (uncompyle6, decompyle3) only cover up to Python 3.8–3.9 and won't even run on newer interpreters. This tool instead runs a C++ decompiler engine that supports Python 1.x through 3.12+, compiled to WebAssembly so it works entirely in your browser.
Drop a .pyc file and you get the recovered .py source back, including variable names and string literals. Where the newest bytecode can't be perfectly rebuilt, the engine inlines the raw disassembly so nothing is lost. Because .pyc decompiles this easily, the takeaway is simple: to actually protect Python, obfuscate the source first so even the decompiled bytecode is unreadable.
Frequently Asked Questions
Explore Other Tools
Python Bytecode Disassembler
Disassemble Python to CPython bytecode with the dis module — explore opcodes, code objects, jumps and constants. Runs in your browser; nothing uploaded.
Python Type Checker
Type-check your Python online with mypy — runs 100% in your browser via WebAssembly. Pick a target Python version (3.8–3.14) and strict mode. Nothing is uploaded.
AST Python Obfuscator
Free online Python obfuscator: rename identifiers, encrypt strings, hide imports and flatten control flow at the AST level, then download standalone Python.
Python Script Formatter
Format Python to PEP 8 instantly with Black, autopep8, YAPF or isort — with a before/after diff view and Black options (keep quotes, no magic comma).