.PKL File Extension

2 file types use the .pkl file extension.

Python Pickle File

Developer Python
Popularity
4.0  |  38 Votes
 

What is a PKL file?

A PKL file is a file created by pickle, a Python module that enabless objects to be serialized to files on disk and deserialized back into the program at runtime. It contains a byte stream that represents the objects.

More Information

The process of serialization is called "pickling," and deserialization is called "unpickling." A PKL file is pickled to save space when being stored or transferred over a network then is unpickled and loaded back into program memory during runtime. The PKL file is created using Python pickle and the dump() method and is loaded using Python pickle and the load() method.

There are three protocols used for pickling:

  • Version 0 - The original ASCII protocol, which is backwards compatible with earlier Python versions.
  • Version 1 - The old binary format, which is backwards compatible with earlier Python versions.
  • Version 2 - Python 2.3 format, which features more efficient pickling of new style classes.

NOTE: PKL files may also have the .PICKLE extension but more commonly have the .P extension.

Open over 400 file formats with File Viewer Plus.Free Download

Programs that open or reference PKL files

Windows
Mac
Linux

Apple Pkl File

Developer Apple
Popularity
3.5  |  2 Votes
 

A PKL file contains code written in Pkl (pronounced “Pickle”), an embedded configuration language developed by Apple. It stores structured data, such as build settings, environment variables, and other metadata, used by Apple development tools like Xcode. PKL files typically contain plain text, but may also store binary data, and are often generated automatically during internal build processes or system-level configurations.

More Information

Screenshot of a .pkl file in Microsoft Visual Studio Code 1.99
PKL file open in Microsoft Visual Studio Code 1.99

Apple introduced the Pkl configuration language in February 2024 and released it as an open-source project under the Apache 2.0 license. It is designed to simplify and standardize configuration management across Apple’s development tools. Pkl allows developers to define structured data in a clean and readable format and can export that data to formats like .JSON, .YAML, and Property Lists.

Developers may encounter PKL files when building or debugging macOS or iOS apps, especially while working with Xcode. They may find PKL files in the DerivedData directory, which stores temporary build results and cached information. Developers might inspect them when troubleshooting build issues, exploring how project settings are interpreted, or analyzing internal configuration behavior.

NOTE: Although PKL files use the same .pkl extension as Python pickle files, the two formats are unrelated and not compatible.

How to open a PKL file

PKL are not meant to be opened or edited manually. However, you can open PKL files that store plain text with a source code or text editor, such as Microsoft Notepad, Apple TextEdit, and Microsoft Visual Studio Code.

You can also parse or validate a PKL file with Apple’s open-source Pkl tool by first installing the command-line tool and running commands (e.g., pkl eval [filename].pkl).

Programs that open or reference PKL files

Verified by FileInfo.com

The FileInfo.com team has independently researched all file formats and software programs listed on this page. Our goal is 100% accuracy and we only publish information about file types that we have verified.

If you would like to suggest any additions or updates to this page, please let us know.