VPKEdit craftablescience
winget install --id=craftablescience.VPKEdit -e
A library and CLI/GUI tool to create, read, and write several pack file formats.
VPKEdit is a versatile CLI/GUI tool designed to create, read, and write several pack file formats used in various game engines. It supports a wide range of formats, including VPK, PAK, GCF, WAD, and more, enabling users to preview, extract, and modify files within these archives.
Key Features:
- Multi-format Support: Handles over 20 different pack file formats, catering to various game engines like Source, Quake, and others.
- Preview Capabilities: View audio, text, images, and models directly from pack files without extraction.
- Pack Creation & Modification: Create new pack files or modify existing ones by adding/removing files and folders.
- Text Editing: Directly edit text files within writable pack files.
- Cross-platform Compatibility: Available on Linux (Debian, Arch, NixOS) and Windows, with no external dependencies required for the CLI version.
- Multi-language Interface: Supports translations into multiple languages, enhancing accessibility.
Audience & Benefit: Ideal for developers, modders, and game enthusiasts who need to manage or modify pack files across different engines. VPKEdit streamlines file management, saving time and effort through its robust features and user-friendly interface.
README

VPKEdit
VPKEdit is an open source MIT-licensed tool that can create, extract from, preview the contents of and write to several pack file formats.




Installing
Please read this file for step-by-step installation instructions.
Features
-
Supported file formats:
Format Description Create Read Write 007 Asset pack (007 - Nightfire) ❌ ✅ ❌ BEE_PACK BEE2.4 Package ✅ ✅ ✅ BMZ Bonus Map Zip (Source Engine) ✅ ✅ ✅ BSP Source 1 Map N/A ✅ ✅ FPX VPK modification (Tactical Intervention) ✅ ✅ ✅ GCF Game Cache File (Pre-SteamPipe Steam games) ❌ ✅ ❌ GMA Garry's Mod Addon ❌ ✅ ✅ HOG Unknown acronym (Descent) ❌ ✅ ❌ OL Worldcraft Object Library ❌ ✅ ❌ ORE Unknown acronym (Narbacular Drop) ❌ ✅ ❌ PAK PAcK file (Quake, original Half-Life, HROT, etc.) ✅ ✅ ✅ PCK Godot PaCK file (Standalone or embedded) ✅ ✅ ✅ PK3 PacK v3 (Quake II) ✅ ✅ ✅ PK4 PacK v4 (Quake IV, Doom 3) ✅ ✅ ✅ PKZ PacK file (Quake II RTX) ✅ ✅ ✅ VPK Valve PacK file (Source Engine) ✅ ✅ ✅ VPK Vampire PacK file (V:TMB) ✅ ✅ ✅ VPP Volition Pack file (Red Faction, Saints Row) ❌ ✅ ❌ WAD Where's All the Data (GoldSrc Engine) ✅ ✅ ✅ XZP Xbox ZiP (Xbox Half-Life 2) ❌ ✅ ❌ ZIP ZIP file ✅ ✅ ✅ -
Preview files contained within the pack file without extracting them:
- Audio
- Text files (any encoding)
- KeyValues files (text files with syntax highlighting)
- Images
- Source 1 Textures
- Prop lightmaps
- Troika textures
- Valve textures for both PC and console
- Source 1 Models
- Source 1 DMX files (particles, SFM sessions, etc.)
-
Create pack files of any version from scratch or an existing folder
-
Add and remove files and folders from writable pack files
- Directly edit text files within writable pack files
-
Extract files and folders from readable pack files
-
Switch version of existing VPKs
-
Native Linux builds
- Packaged for Debian, Arch, NixOS; standalone builds available
-
User interface translated to the following languages (support the translation effort here): 🇧🇦 🇨🇳 🇭🇷 🇳🇱 🇩🇪 🇮🇹 🇯🇵 🇰🇷 🇵🇱 🇧🇷 🇷🇺 🇪🇸 🇸🇪 🇻🇳
Please read this file to see all keyboard shortcuts.
A separate application with no external dependencies (vpkeditcli
) provides a command-line interface.
Planned Features
See the open issues on this repository marked as an enhancement.
Contributing
This project accepts a wide range of contributions, mostly code and translations. Code contributions are done through this GitHub repository. Translations are open to everyone, only requiring a free POEditor account, and are hosted at https://poeditor.com/join/project/yxR9MLc9X2. Any contributors will be added to the credits in the form of a text file shipped with the CLI application and a popup in the GUI application.
Backend
This tool is powered by a collection of open-source C++20 Source engine parsers called sourcepp.