What is the VPK file format?
A .vpk file, also known as a Valve Pak file, is an uncompressed archive used to package game assets for Valve's Source engine. The .vpk can contain a master directory that stores materials, models, particles, choreography scenes, sounds, and other file types. The .vpk format is a successor to the older .GCF content format, replacing it as the standard packaging system for Source-engine titles such as *Counter-Strike: Global Offensive*, *Team Fortress 2*, and *Left 4 Dead 2*.
The .vpk file comprises a master directory file and one or more numbered VPK archive files. The directory file (typically named pak01_dir.vpk) carries a 4-byte little-endian magic signature (34 12 AA 55 at offset 0) and an index of every asset - its extension, path, filename, per-file CRC-32 checksum, and which numbered archive holds its data. The numbered archives (pak01_000.vpk, pak01_001.vpk, …) hold raw, uncompressed asset bytes with no header of their own; individual archives are typically capped near 200 MB. Assets such as .VMT material files or .VTF textures can also store a small preload block of up to 65,535 bytes inline in the directory entry itself.
The .vpk file is created using the command-line tool vpk.exe included in the Source SDK, and the file can be stored as part of a VPK package that spans multiple archives. Two format versions exist: Version 1 (header plus directory tree) and Version 2, which adds MD5 checksums and an optional RSA signature block for package-level integrity verification. Third-party tools such as GCFScape and Crowbar allow browsing, extracting, and repacking .vpk archives on Windows.
Security & safety
RISK: MEDIUMThe main risk is self-inflicted: deleting, renaming or carelessly editing a game's .vpk files breaks or corrupts the installation - never remove them to 'free space'; use Steam to uninstall instead. Downloaded VPK mods are a second concern: a VPK is just an asset container that doesn't auto-run code, but mod packages can ship alongside scripts or executables, so get mods from reputable sites for that game and back up the original .vpk before replacing it. For PS Vita .vpk homebrew, only install from trusted sources - homebrew runs with system access.
Format details
in a nutshell- PlayStation Vita VPK package - A ZIP-based homebrew app/game package for the PS Vita, installed with VitaShell - unrelated to Valve.
- Visual Paradigm / other app exports - A few unrelated applications have reused .vpk for their own package files; identify by the originating program.
Programs that open VPK files
vpk x pak01_dir.vpk to extract, or vpk <folder> to create a VPK. Ships with the Source SDK / games on Steam. vpk x pak01_dir.vpk to extract. Technical details
deep spec| Magic bytes | 34 12 AA 55 at byte offset 0 (little-endian 0x55AA1234); present only in the `_dir.vpk` directory file - numbered data archives carry no header |
| Archive structure | Split into one `*_dir.vpk` index file plus numbered data archives (`*_000.vpk`, `*_001.vpk`, …) holding raw concatenated asset bytes |
| Compression | None - assets stored uncompressed for direct, low-latency streaming by the Source engine |
| Encoding | Binary, little-endian byte order throughout |
| Format versions | Version 1: 4-byte magic, version uint32, tree size, then directory tree. Version 2 adds data-section size, per-archive MD5 blocks, overall MD5 section, and an RSA signature section |
| Per-file integrity | CRC-32 checksum per file entry in both versions; Version 2 additionally stores MD5 hashes per data archive block and an optional RSA-2048 signature covering the full package |
| Directory tree layout | Three-level index keyed by file extension → path → filename; each leaf entry stores archive number, data offset, data length, preload byte count, and CRC-32 |
| Preload data | Each directory entry may embed up to 65,535 bytes of file content inline, eliminating an archive seek for very small assets |
| Data archive size | Individual numbered archives typically capped at ~200 MB each; a complete game's VPK set can total many gigabytes |
| Indexed asset types | Textures (`.vtf`), materials (`.vmt`), models (`.mdl`), maps (`.bsp`), sounds, particle systems, choreography scenes (`.vcd`), and other Source engine resource types |
| Platform support | Windows, macOS, Linux, and Android (via Source engine ports) |
| MIME type | application/octet-stream |
| Developer | Valve Corporation (Source engine content pipeline) |
| Predecessor format | Replaced the older GCF and NCF content packaging formats used in earlier Steam/Source engine versions |
| Official creation tool | `vpk.exe` (Windows Source SDK) or `vpk` CLI (Linux Source SDK); third-party tools include GCFScape and Crowbar |
| Released | 2010 (Source engine; replaced the older GCF content packaging) |
| Latest version | VPK directory format version 2 (adds per-file CRC and signature sections); v1 still in use |
| Specification | developer.valvesoftware.com |
VPK conversions
Community Q&A
asked by usersNo questions yet - be the first to ask about VPK files.
Frequently asked questions
How do I open a VPK file?
vpk x pak01_dir.vpk). A PS Vita .vpk is different - install it with VitaShell.Can I delete VPK files to free up space?
Why are there pak01_000.vpk, pak01_001.vpk and a pak01_dir.vpk?
How do I extract models/textures from a VPK for modding?
Is a Source VPK the same as a PS Vita VPK?
How do I make my own VPK?
vpk <folder>) and it builds a pak##_dir.vpk plus numbered archives. Follow the specific game's mod guide for the correct folder layout.