Open PKL files in your browser

Python's own way of saving objects, used for models, datasets and caches. See what one holds right here, without running it. Nothing leaves your device.

Or drop it anywhere on this page

What you'll see

Your pickle opens as what it holds, read without running any of it.

churn-features.pkl

Pickle • Protocol 4 • A dict of 6 keys • 2.4 MB

  • What loading it would call • Commands and code marked
  • Its values as a tree • Dicts, lists, arrays and objects
  • PyTorch's tensors in a table • Their types and shapes
  • Nothing in it runs • Read as data only

About PKL

Pickle is Python's built-in way of saving its objects: dicts, lists, NumPy arrays, pandas tables and trained scikit-learn models all go into a .pkl. Data scientists pass them around, and machine learning projects ship models as pickles.

A pickle isn't plain data but a small program: opcodes that rebuild each object, calling whatever functions the file names. Loading one in Python can run any command, so a pickle from a stranger can take over a computer, and Python's own documents warn to load only pickles you trust.

Filepeek reads the opcodes without running any of them. It shows what the pickle holds as a tree, dicts, lists, NumPy arrays and objects with the values they would be rebuilt from, and lists every import loading it would call, with those that run commands or code marked.

Python pickle

Format

MIME type
application/octet-stream
Made by
The Python Software Foundation

Inside the file

Holds
Python objects of any kind
Protocols
0 to 5
Rebuilt by
Calls to the functions it names
Runs code
In Python, when loaded • Never here

Opens in every browser

Browsers download pickles, and only Python loads them. Filepeek shows what one holds in Chrome, Edge, Firefox and Safari, without running it.

  • YouChromeOpens through Filepeek
  • YouEdgeOpens through Filepeek
  • YouFirefoxOpens through Filepeek
  • YouSafariOpens through Filepeek

Apps that open PKL

  • WindowsPython's pickle module, which runs what it loads
  • MacPython's pickle module, which runs what it loads
  • iPhone and iPadNo app opens it
  • AndroidNo app opens it

Questions

How do I see what's in a pickle without Python?

Drop it on this page or press Peek a PKL. What it holds shows as a tree, read without running anything.

Is it safe to open a pickle file?

Here, yes: Filepeek reads it as data and runs nothing. Loading it in Python runs whatever it says, so check what loading it would call first, and load it only if you trust where it came from.

What does Loading it would call os.system mean?

That pickle runs a command when Python loads it, which is how harmful pickles work. Filepeek marks every import that runs commands or code, like os.system, subprocess, eval and exec.

Why does an object show as its class and values?

Python rebuilds an object by calling its class with the values the pickle keeps, and only the class's own code knows what that makes. Filepeek shows the class's name and those values instead.

What's the difference between .pkl and .pickle?

None. Both are what Python's pickle module writes, and both open here.

More data formats

All supported file types

Opens in a new tab

EXIF

Verify

License

Signature