Source 2 Viewer
Browse VPK archives, view, export, and decompile Source 2 assets, including maps, models, materials, textures, sounds.
Fully open-source and reverse-engineered.
New version released since your last visit — view changelog
Supports all Source 2 games
Command line utility
A cross-platform console application that can export and decompile Source 2 resources similar to the main application.
ValveResourceFormat
.NET library that powers Source 2 Viewer (S2V), also known as VRF. This library can be used to open and extract Source 2 resource files programmatically.
C#
// Open package and read a file
using var package = new Package();
package.Read("pak01_dir.vpk");
var packageEntry = package.FindEntry("textures/debug.vtex_c");
package.ReadEntry(packageEntry, out var rawFile);
// Read file as a resource
using var ms = new MemoryStream(rawFile);
using var resource = new Resource();
resource.Read(ms);
Debug.Assert(resource.ResourceType == ResourceType.Texture);
// Get a png from the texture
var texture = (Texture)resource.DataBlock;
using var bitmap = texture.GenerateBitmap();
var png = TextureExtract.ToPngImage(bitmap);
File.WriteAllBytes("image.png", png);
View documentation
Features
3D Renderer
- View maps, models, physics, and particles from CS2, Dota 2, Deadlock, and other Source 2 games
- Reverse-engineered PBR shaders with real-time lighting
- Animation playback controls
- Entity viewer with property inspection
- Walk around maps with Counter-Strike-like movement and collisions
- WASD camera controls with customizable FOV
- Debug visualizations and performance monitoring
- Hardware-accelerated OpenGL rendering
VPK Viewer & Extractor
- Open VPK files from CS2, Dota 2, Deadlock, Half-Life: Alyx, and more
- Tree view and list view interfaces with file type icons
- Advanced search system (name, path, regex, content, hex)
- Sort files by size and other criteria
- Extract individual files or entire VPK packages
- Multi-threaded VPK extraction with progress tracking
- Discover and recover deleted files from VPK archives
- Create new VPK archives from folders with one click
- Support all VPK versions (including Source 1)
glTF Export
- Export maps, models, physics, and animations to glTF 2.0
- Works with CS2, Dota 2, Deadlock, and all Source 2 games
- Convert Source 2 materials to glTF PBR channels
- Compatible with Blender, Unity, Unreal Engine, and more
- Batch export with correctly split textures
- Resource dependency tracking and validation
Source 2 Decompiler
Source 2 Resource Files
- Open vtex_c, vmdl_c, vmat_c, vpcf_c, and all Source 2 file types
- View Resource Blocks in separate tabs
- Decode binary data to user-friendly text representation
- Support for all resource file versions (as early as 2014)
Audio System
- Built-in audio player with waveform visualization
- Support for WAV, MP3, and Source 2 audio formats
- Volume controls and stereo meters
- Timeline scrubbing and playback controls
- Auto-play in preview mode
Shader Packages
- Inspect and analyze Source 2 shader files (vcs extension) with bytecode conversion
- Read Source 2 shader packages
- Compiled shader code viewer
- Inspect shader metadata and bytecode
- Tree view for static and dynamic combos
- Convert Vulkan bytecode (SPIRV) to readable shading language
- Support all publicly available file versions
User Interface
- Tabbed document interface with advanced tab management
- Dark and light theme support
- Auto-detect installed Source 2 games on Steam
- Recent files and bookmarks management
- Drag and drop support for VPK and resource files
- Keyboard shortcuts for quick navigation
- Windows file association integration
Additional File Formats
- NavigationMesh (.nav) and ToolsAssetInfo (.bin) files
- World nodes (vwnod_c) for streaming world geometry
- Particle systems (vpcf_c) and effects
- Sound event files and audio definitions (vsnd_c)
- Image formats including PNG, JPG, TGA, and GIF
- Hex viewer for binary data inspection
- Text and binary file viewing with syntax highlighting
- Complete KeyValues support (KV1, KV2, KV3)
- Convert binary keyvalues to text format
- Closed captions file support
Changelog
Made possible by amazing people
Source 2 Viewer is open-source and built by volunteers. Every contribution helps make it better for everyone.
