Python Pickle Viewer
Read a Python pickle without a Python interpreter, and without executing anything. Protocols 0 through 5 are supported, and compressed pickles are unwrapped automatically.
Intended for your own single-player save files. Editing saves in multiplayer or online games breaks their terms of service and can get your account banned. Always keep a backup of the original file before you change anything.
Python pickle is a stack machine, not encryption, so the file alone is enough to read it. Nothing in the pickle is executed — this reader only interprets the opcodes, so a malicious pickle cannot do anything here that it could do in Python. Class instances cannot be constructed without Python, so they are shown as their class name plus the attributes they carry, which is what you need in order to read and understand a save.
Frequently Asked Questions
Is it safe to open a pickle here?
Yes. The danger with pickle is that Python executes code while unpickling. This reader only interprets the opcodes to recover the data — it never constructs objects or calls anything, so a malicious pickle has nothing to act on.
Why are class instances not fully reconstructed?
Building a Python object requires Python. Instead, each instance is shown as its class name together with the attributes it carries, which is what you need in order to read or understand a save.
Which protocols are supported?
0 through 5, covering everything from Python 2's text protocol to the framed binary protocol added in 3.8. The protocol number found in the file is displayed.
What uses pickle?
Ren'Py visual novels store their game state as a compressed pickle, and many Python games and tools use it for saves and caches. Machine-learning checkpoints often use it too.