Download Latest Release | Build From Source | Automate With CLI
PakFu is a cross-platform archive manager, asset viewer, and conversion workbench for idTech-era and adjacent games. It gives modders, archivists, and curious players a fast way to open game packages, inspect what is inside, view assets in context, convert useful output, extract or rebuild content, and run repeatable command-line jobs.
Use the GUI when you want to browse archives, preview media, and convert selected assets quickly. Use the CLI when you want the same archive and conversion tools in scripts, build pipelines, or QA checks.
Table of Contents
- Current version:
0.1.18.1(seeVERSION). - Platforms: Windows, macOS, and Linux.
- Interfaces: a Qt desktop app for day-to-day work and a documented CLI for automation.
- Main jobs: open archives, inspect contents, view media and game assets, convert assets, extract selections, rebuild packages, and validate package health.
- Project state: active development, with releases and nightly builds published through GitHub.
| Goal | Start here |
|---|---|
| Install PakFu | Get the newest packaged build from Latest Release, or browse all releases. |
| Open an archive | Launch PakFu, choose or auto-detect an installation profile, then use File -> Open Archive..., Quick Inspect Archive, drag-and-drop, or shell Open With. |
| View or convert assets | Select entries in Archive View to inspect assets in the right-side Insights pane, then convert selected files from the GUI or with pakfu --cli --convert. |
| Automate a job | Run pakfu --cli --help, then use the CLI reference for extraction, validation, conversion, manifests, and update checks. |
| Build from source | Follow Building PakFu for toolchains, Meson setup, tests, packaging, and parser-hardening builds. |
| Check technical support | Use the Support Matrix for the current archive, preview, inspector, conversion, and filetype contract. |
PakFu is built around named game profiles rather than generic archive guesses. Profiles help the app choose palettes, resolve companion files, remember launch/install paths, and make previews and conversions feel aware of the game you are working with.
| Family | Supported game profiles |
|---|---|
| Quake and GoldSrc | Quake, Quake Rerelease, Half-Life, Quake II, Quake II Rerelease, Quake II RTX, Quake III Arena, Quake Live, Quake 4 |
| Doom and Raven classics | DOOM, DOOM II, Final DOOM, Heretic, Hexen, Strife, Heretic II |
| Wolfenstein, Jedi, and Elite Force | Return to Castle Wolfenstein, Wolfenstein: Enemy Territory, Star Wars Jedi Knight II: Jedi Outcast, Star Wars Jedi Knight: Jedi Academy, Star Trek Voyager: Elite Force, Star Trek: Elite Force II |
| Ritual, Xatrix, Ion Storm, and related titles | SiN Gold, Kingpin: Life of Crime, Daikatana, Anachronox, Heavy Metal: F.A.K.K.2, American McGee's Alice |
| idTech 4 era | Doom 3, Doom 3: BFG Edition, Prey, Enemy Territory: Quake Wars |
| Community and idTech-adjacent releases | Gravity Bone, Thirty Flights of Loving, Warsow, Warfork, World of Padman |
Filetype-level behavior is intentionally kept in the technical docs so this README can stay focused on what PakFu helps you do. See Supported Formats for the quick doorway into that detail.
Get the latest packaged build from GitHub Releases.
| Platform | Recommended package | Portable package | Notes |
|---|---|---|---|
| Windows | installer.msi |
portable.zip |
The installer is the easiest path for regular desktop use. |
| macOS | installer.pkg |
portable.zip |
App bundles include the packaged user guide. |
| Linux | installer.AppImage |
portable.tar.gz |
The portable archive includes a deployed runtime tree. Run ./pakfu after extracting. |
PakFu can check for updates from the desktop app and from the CLI with --check-updates.
- Open folders and classic package families used across Quake, Doom, GoldSrc, Raven, Ritual, and idTech-derived games.
- Browse large packages with multiple view modes, async thumbnails, global search, recent files, and persistent workspace state.
- Mount archives inside archives so nested packages can be inspected without manual extraction first.
- Preview images, textures, models, maps, fonts, scripts, audio, video, cinematics, sprites, and binary metadata summaries.
- Detach previews into standalone windows, then dock them back when you are done inspecting.
- Convert selected assets from the GUI or CLI, including image formats, palette-aware texture formats, CIN/ROQ frames, WAV audio, and best-effort map exports.
- Extract selected files or whole archives, then rebuild selected content into new package files with
Save As. - Keep official archives safer with Pure PAK Protector, enabled by default for protected package workflows.
- Manage per-game installation profiles with auto-detection for the games listed in Game Support.
- Discover extension commands from manifests and run external tools with declared capabilities.
- Use platform integration where available: file associations, native file dialogs, installers, update checks, and packaged offline help.
PakFu is meant to be useful before you extract anything. Open a package, pick an entry, and the app routes it to the right preview or inspector: textures, images, scripts, maps, models, audio, cinematics, fonts, sprites, and metadata all live in the same workspace.
Conversion is just as direct. Select assets in the GUI and convert them from the menu or context actions, or use pakfu --cli --convert for batch jobs. PakFu can turn game textures into normal image files, export frames from built-in cinematic decoders, decode supported game audio to WAV, and produce best-effort map exports where the format supports it.
The README keeps this high-level: PakFu opens game packages, previews common game-asset families, extracts content, converts supported assets, and rebuilds writable package formats.
The detailed filetype tables live in the technical docs:
- Support Matrix is the current support contract for archive, preview, inspector, and conversion behavior.
- Technical Overview: Filetype And Format Details explains the filetype-level implementation details, backend dependencies, palette behavior, and read-only limits.
Usage:
pakfu[.exe] --cli [options] [archive-or-folder]
Common commands:
pakfu --cli --info pak0.pak
pakfu --cli --list pak0.pak
pakfu --cli --extract --prefix maps -o maps_out pak0.pak
pakfu --cli --validate pak0.pak
pakfu --cli --compare rebuilt.pk3 source.pk3
pakfu --cli --convert png --prefix textures -o converted_textures source.pk3
pakfu --cli --asset-graph json -o graph.json source.pk4
pakfu --cli --package-manifest json -o manifest.json source.pk3
pakfu --cli --preview-export gfx/conback.lmp -o previews pak0.pak
pakfu --cli --mount nested/maps.pk3 --list source.pk3
pakfu --cli --check-updatesThe complete command surface, options, examples, and exit-code notes live in the CLI Reference.
- Start from the Workspace tab to manage game installations, recent files, open archives, changed assets, validation checks, runtime capabilities, and global search.
- Open archives, folders, or standalone media files from the File menu, drag and drop, shell integration, or recent files.
- Use Quick Open/Search (
Ctrl+K) to jump between workspace items and archive entries quickly. - Switch between details, list, icon, large-icon, and gallery views depending on whether you are scanning filenames or inspecting media.
- Double-click nested packages to mount them in place.
- Use context-menu or File-menu actions for extraction, conversion, Save As, rename, cut/copy/paste, imports, and safe rebuilds.
- Preview changes apply to open archive tabs and standalone viewer windows without restarting PakFu.
- Preferences keep everyday settings up front, with advanced preview and rendering controls tucked away until needed.
PakFu stores game profiles with default directories, palette preferences, and launch settings. Profiles make archive browsing more useful because PakFu can resolve palettes, sibling assets, companion model files, and expected game paths.
Auto-detection and profile presets cover the games listed in Game Support, with install-specific defaults for palettes, sibling asset lookup, and expected content paths.
PakFu can check GitHub Releases at runtime. GUI update checks run after the main window opens so startup stays responsive.
Downloaded update assets are verified against release-manifest size and SHA-256 data before PakFu opens the download folder or starts an installer handoff. For release policy, artifact names, and pipeline details, see the Release Policy.
Troubleshooting switches such as media diagnostics, crash-output overrides, native dialog overrides, and multi-instance control are documented in Technical Overview: Environment Variables.
| Build From Source | Toolchains, Meson setup, tests, parser hardening, and local packaging notes. |
| CLI Reference | Documented automation commands for listing, extraction, validation, conversion, manifests, extension diagnostics, update checks, and game-profile actions. |
| Technical Overview | Runtime architecture, preview pipeline, conversion backend, extension host, update behavior, and environment variables. |
| Support Matrix | Format support with fixture-backed or implementation-backed evidence. |
| Dependencies | Required and optional libraries, Qt modules, and packaging toolchain inventory. |
| Extensions | Manifest schema, JSON payloads, trust model, and GUI/CLI extension workflow. |
| Core Library | Public source-level API for non-UI archive, format, search, game-profile, and extension code. |
| Release Policy | Versioning, release assets, update manifests, workflows, and validation tools. |
| Changelog | Release-by-release product changes. |
| Credits | Project acknowledgements, compatibility notes, and third-party attribution. |
PakFu is created by themuffinator (DarkMatter Productions). Project attributions, compatibility acknowledgements, and third-party credits are maintained in Credits.
PakFu is licensed under GPLv3. See LICENSE.


