.PKL

Archivo PKL

Python Pickle Serialized Object
Hacer una pregunta
RESPUESTA RÁPIDA

Un archivo PKL es casi siempre un archivo Python Pickle: una instantánea binaria de un objeto de Python, como un modelo de ML entrenado, un conjunto de datos o un diccionario. Ábralo con el módulo pickle de Python. Nunca abra un archivo PKL de una fuente no confiable: Pickle puede ejecutar código arbitrario al cargarse.

Desarrollador: Python Software Foundation (Guido van Rossum, original pickle module) Categoría: Archivos de datos MIME: application/octet-stream
SE ABRE EN Windows macOS Linux
Relacionado: .PKPASS · .DAT · .JSON · .RIS

En esta página

19k+ extensiones indexadas
Última revisión Aug 2, 2026

¿No está seguro de qué es su archivo?

Suelte cualquier archivo en nuestro identificador - leemos solo los primeros bytes para nombrar el formato.

Identificar un archivo

¿Qué es el formato de archivo PKL?

Un archivo .pkl contiene un objeto de Python serializado mediante el módulo pickle de la biblioteca estándar de Python. El proceso de «pickling» convierte casi cualquier estructura de datos de Python (diccionarios, listas, instancias de clases, arreglos de NumPy, modelos de aprendizaje automático entrenados) en un flujo de bytes que puede guardarse en el disco y restaurarse más tarde con pickle.load().

El formato utiliza una Máquina Virtual Pickle (PVM) basada en una pila: un flujo de códigos de operación (opcodes) de un solo byte que, al ejecutarse, reconstruyen el objeto original. Las versiones del protocolo van desde el Protocolo 0 (opcodes basados en texto, Python 1.2) hasta el Protocolo 5 (Python 3.8+, PEP 574, que admite búferes fuera de banda para grandes arreglos de NumPy). El Protocolo 4 (bytes mágicos 80 04 95) es el predeterminado en Python 3.8-3.11. No existe un esquema fijo; la estructura del flujo de bytes está determinada enteramente por el objeto que se está serializando.

El uso moderno predominante es guardar modelos de ML entrenados de scikit-learn, PyTorch (torch.save envuelve a pickle internamente) y XGBoost, así como el almacenamiento en caché de resultados computados costosos. La biblioteca joblib (que también usa pickle) es preferible para grandes arreglos de NumPy debido a su soporte de mapeo de memoria.

Advertencia de seguridad: cargar un archivo .pkl de una fuente no confiable puede ejecutar código arbitrario de Python. Las alternativas más seguras incluyen .json para datos simples, HDF5 o Parquet para datos tabulares, y ONNX o safetensors para modelos de ML. Las extensiones .pkl y .pickle son totalmente intercambiables.

Seguridad y protección

RIESGO: HIGH

Python Pickle puede ejecutar código arbitrario durante la carga (a través del opcode __reduce__ / REDUCE). Un archivo .pkl malicioso es un vector de ataque de ejecución de código; trátelo como un ejecutable. Solo cargue archivos .pkl de fuentes en las que confíe plenamente. Para compartir modelos de ML, prefiera safetensors (HuggingFace) o el formato ONNX, que no pueden ejecutar código al cargarse. La documentación de pickle advierte explícitamente: «El módulo pickle no es seguro».

Detalles del formato

en pocas palabras
NOMBRE COMPLETOPython Pickle Serialized Objecttambién conocido como Pickle file, .pkl file
DESARROLLADORPython Software Foundation (Guido van Rossum, original pickle module)desde 1995 (Python 1.2, original pickle module)
TIPO MIMEapplication/octet-stream
TIPOflujo binario de objetos de Python serializados
Esta extensión también es utilizada por…
  • Microsoft Exchange Migration Wizard Packing List - La herramienta heredada de migración de Microsoft Exchange utilizaba .pkl para listas de empaque; no tiene ninguna relación con el pickle de Python.
MAGIC BYTES · FIRMA DE ARCHIVO
OFFSET
000102
HEX
800495
ASCII
···
Protocolo 4: 0x80 0x04 0x95 (más común, Python 3.4+). Protocolo 3: 0x80 0x03 (Python 3.0-3.3). Protocolo 2: 0x80 0x02 (Python 2.3+). Protocolo 0/1: sin encabezado mágico (opcodes de texto/binarios, '\x80' ausente). Protocolo 5: 0x80 0x05 (Python 3.8+).

Programas que abren archivos PKL

Windows3 apps
Python (pickle module) Código abierto import pickle; obj = pickle.load(open('file.pkl', 'rb')) - luego inspeccione obj.
Visual Studio Code (with Python extension) Gratis Abra un cuaderno de Jupyter o una terminal de Python en VS Code; use pickle.load() para inspeccionar el contenido.
Spyder IDE Código abierto Use el Explorador de variables en Spyder o ejecute pickle.load() en la consola IPython.
macOS1 app
Python (pickle module) Código abierto import pickle; obj = pickle.load(open('file.pkl', 'rb')) - luego inspeccione obj.
Linux1 app
Python (pickle module) Código abierto import pickle; obj = pickle.load(open('file.pkl', 'rb')) - luego inspeccione obj.

Detalles técnicos

especificación profunda
CodificaciónFlujo binario de códigos de operación para la Máquina Virtual Pickle (PVM)
Bytes mágicos del Protocolo 480 04 95 en el desplazamiento 0 (Python 3.4+; predeterminado en Python 3.8-3.11)
Bytes mágicos del Protocolo 580 05 en el desplazamiento 0 (Python 3.8+, PEP 574, soporte de búfer fuera de banda para NumPy)
Bytes mágicos del Protocolo 280 02 en el desplazamiento 0 (Python 2.3+, soporte para clases de nuevo estilo, PEP 307)
Rango de protocolosProtocolo 0 (opcodes de texto, 1995) hasta el Protocolo 5 (Python 3.8+, 2019)
Estructura de datosFlujo plano de opcodes con pila de operandos y tabla de notas; el opcode STOP (0x2E) marca el final del flujo
EsquemaSin esquema fijo; la estructura se determina enteramente por el objeto de Python que se está serializando
Tipo MIMEapplication/octet-stream (sin tipo MIME registrado)
Tamaño de archivo típico1 KB - varios GB (desde pequeños diccionarios hasta grandes tensores de pesos de modelos de ML)
Riesgo de seguridadPosible ejecución de código arbitrario de Python en pickle.load() desde fuentes no confiables
Portabilidad entre lenguajesSolo Python; ningún otro lenguaje puede leer o escribir este formato de forma nativa
Uso moderno principalGuardar modelos de scikit-learn, pesos de PyTorch (torch.save), modelos de XGBoost, cálculos en caché
Extensión intercambiable.pickle es idéntico en formato y totalmente intercambiable con .pkl
Biblioteca relacionadajoblib envuelve a pickle con optimizaciones de mapeo de memoria adecuadas para grandes arreglos de NumPy
Lanzado1995 (Python 1.2, original pickle module)
Última versiónProtocol 5 (Python 3.8+, PEP 574, 2019)
Especificacióndocs.python.org

Preguntas y respuestas de la comunidad

preguntado por usuarios
Hacer una pregunta rápida
Obtenga ayuda de personas que trabajan con archivos PKL. Sea específico: incluya su sistema y la versión del software.
No se necesita cuenta · respuestas generalmente en un día
A
ArnoSep 2026SIN RESPUESTA
Comment créer un fichier pkl ?
Esperando una respuesta

Preguntas frecuentes

¿Cómo abro un archivo .pkl?
Use Python: import pickle; obj = pickle.load(open('file.pkl', 'rb')). Solo cargue archivos pkl en los que confíe; pueden ejecutar código al cargarse.
¿Es seguro abrir un archivo .pkl?
Solo si confía en la fuente. Pickle puede ejecutar código arbitrario de Python durante la carga. Nunca abra archivos .pkl de fuentes desconocidas.
¿Qué programa creó mi archivo .pkl?
Casi con seguridad Python, ya sea directamente a través de pickle/joblib, o un framework como scikit-learn (model.fit y luego joblib.dump) o PyTorch (torch.save).
¿Puedo abrir un archivo .pkl sin Python?
No de manera significativa. Pickle es específico de Python. Necesita Python e idealmente la misma biblioteca que creó el archivo (scikit-learn, PyTorch, etc.).
¿Cómo convierto .pkl a JSON o CSV?
Cárguelo primero con Python pickle y luego serialícelo: json.dump(obj, open('out.json','w')) para datos serializables en JSON, o pd.DataFrame(obj).to_csv() para datos tabulares.
¿Cuál es la diferencia entre .pkl y .pickle?
Son idénticos: ambos usan el formato pickle de Python. La elección de la extensión es una convención; .pkl es más común en contextos de ML.

Referencias

1Python Docs - pickle moduledocs.python.org
2PEP 307 - Protocol 2 (Python 2.3)peps.python.org

Siga explorando

en toda la base de datos

Extensiones principales esta semana

1.AQQAQQ Instant Messenger File
2.CRDOWNLOADChrome Partial Download File
3.JPGJPEG Image
4.PARTPartial Download File
5.RPMSGRestricted Permission Message
6.MDMarkdown Document
7.DATProgram Data File (generic)
8.EXEWindows Executable (Portable Executable)
9.BINCD/DVD Disc Image (BIN/CUE)
10.DBSQLite Database File

Extensiones relacionadas

.PKPASSApple Wallet Pass (formerly Passbook)
.DATProgram Data File (generic)
.JSONJavaScript Object Notation file
.RISResearch Information Systems citation file
.OFXOpen Financial Exchange
.CSVComma-Separated Values

Herramientas de archivo gratuitas

Un identificador de archivos y convertidor de imágenes en el navegador - todo se ejecuta en su dispositivo.

Abrir la caja de herramientas

Explorar extensiones de archivo A-Z