If this tool helped you, you can buy us a coffee ☕
Restore Python bytecode .pyc files into readable source code for easy code auditing and learning. Supports mainstream versions.
Click or drag to upload .pyc, .pyo files
PYC, PYO
Max 256 KB

PYC Version Checker
Identify the Python version of .pyc files via magic numbers to resolve compatibility issues.

JSON Formatter
Process JSON data online: format, minify, and validate to boost your development and debugging efficiency.

JSON to TypeScript Converter
Automatically convert JSON data into TypeScript interfaces or type aliases for frontend data modeling and API integration.
Unable to read .pyc bytecode files directly? This tool parses .pyc files (a binary format containing Python bytecode) generated by Python compilation and restores them into readable .py source code. Since .pyc files are the bytecode format executed by the Python interpreter, this tool uses reverse engineering to convert them into a structure closely resembling the original code, outputting a Python script that can be directly analyzed.
Why are there no original comments after decompiling?
Bytecode does not contain comment information. Decompilation can only restore the logical structure of the code.
Is the new Python 3.12 version supported?
Currently, we support up to Python 3.11. Support for newer versions will be available once the bytecode parsing library is updated.
The maximum file size is 10MB. The decompiled result may lose variable naming details. Please do not use this tool to crack copyright-protected code. When handling abnormal files, we recommend checking the integrity of the bytecode header information.
We recommend using this tool in conjunction with source code version control records. When only a .pyc file is available, you can verify the accuracy of the restoration using a code comparison tool (like diff) after decompiling. Typical example: A module.pyc file compiled with Python 3.8 can be processed to recover a module.py file containing import statements and function definitions, though the original docstrings may be lost.