--- title: The .penpot file format order: 2 desc: Understand the .penpot file format, what's inside, and how to inspect your design files. ---
Penpot's native file format is designed to be open, inspectable, and efficient. Unlike proprietary formats, you can always look inside a .penpot file to understand your design data.
A .penpot file is a ZIP archive containing:
This means your design data is never locked in a proprietary format. You can always unzip a .penpot file and read the JSON to understand what's inside.
When you unzip a .penpot file, you'll find this structure:
your-design.penpot (ZIP archive)
├── manifest.json ← Table of contents
├── files/ ← Your design data
│ ├── file-metadata.json
│ └── file-data/
│ ├── pages/ ← Each page of your design
│ ├── colors/ ← Library colors
│ ├── components/ ← Library components
│ ├── typographies/ ← Library typographies
│ ├── tokens.json ← Design tokens
│ └── media/ ← Media references
└── objects/ ← Images and binary assets
The manifest is the table of contents. It tells you:
The files/ directory contains all your design data organized by type:
The objects/ directory contains the actual binary files (PNG, JPG, SVG) referenced by your design. Each object has a JSON metadata file alongside the binary file.
Since .penpot files are just ZIP archives, you can inspect them with standard tools.
1. List the contents without extracting:
unzip -l your-design.penpot
2. Extract to a temporary folder:
unzip your-design.penpot -d /tmp/penpot-inspect
3. View the manifest:
cat /tmp/penpot-inspect/manifest.json | jq .
4. Browse the structure:
tree /tmp/penpot-inspect
5. View a specific shape:
cat /tmp/penpot-inspect/files/*/pages/*/*.json | jq .
1. Right-click the .penpot file and select "Extract All..." or use 7-Zip.
2. Browse the extracted folder to see the structure.
3. Open any JSON file with a text editor or use a JSON viewer tool.
You can use the Penpot MCP server to inspect .penpot files with AI assistance. The MCP server can read and analyze your design files, making it easy to understand complex designs or automate tasks.
The .penpot format has evolved over time:
| Version | Description | Status |
|---|---|---|
| v3 | ZIP + JSON format (current) | ✅ Current |
| v1 | Custom binary format | ⚠️ Deprecated |
All current Penpot versions export in v3 format. Old v1 files can still be imported, but new exports will use v3.
Inside a .penpot file, you'll see two different version numbers:
manifest.json) — Tracks changes to the ZIP structure itself. Currently 1.Files also include a list of feature flags that indicate which capabilities are used. For example:
design-tokens/v1 — Uses design tokenscomponents/v2 — Uses the v2 component systemvariants/v1 — Uses component variantslayout/grid — Uses grid layoutsThese flags help Penpot know what features need to be supported when importing the file.
If you're building tools or integrations that work with .penpot files, the complete technical specification provides detailed schema definitions for every JSON file in the archive.
Key resources: