Skip to main content

Welcome to BSPSource

BSPSource is a map decompiler for Source engine maps, written in Java. It decompiles .bsp map files back to .vmf files that can be loaded in Hammer, Valve’s official level editor.
Current Version: 1.4.8-DEV
BSPSource is based on a reengineered version of VMEX 0.98g by Rof, which is no longer developed and lacks support for newer Source engine games.

Key Features

Wide Game Support

Works with most Source engine games out of the box, from Half-Life 2 to Dota 2

Advanced Entity Support

Decompiles func_areaportal, func_occluder, info_lighting, and more

Embedded File Extraction

Extract materials, models, and other files embedded in BSP files

Protection Detection

Decompiles VMEX maps flagged with protection and detects anti-decompiling methods

Multiple Decompilation Modes

Choose from brushes/planes, original faces, or split faces modes

GUI and CLI

Use the graphical interface or powerful command-line tools

Improvements Over VMEX 0.98g

  • Support for more and newer Source engine games up to Dota 2
  • Support for compressed and big-endian encoded maps (Xbox 360, PS3)
New entity types supported:
  • func_areaportal
  • func_areaportalwindow
  • func_occluder
  • info_lighting
  • Support for the tools/blocklight texture
  • Improved support for prop_static and info_overlay
  • Improved console output
  • New integrated pakfile extractor
  • Numerous bug fixes
  • Open source

Get Started

Installation

Download and install BSPSource on your platform

Quick Start

Decompile your first BSP file in minutes

Common Use Cases

1

Learning from existing maps

Study how professional maps are built by decompiling and examining them in Hammer
2

Recovering lost work

Recover VMF files when you only have the compiled BSP
3

Extracting embedded assets

Extract custom materials and models from workshop maps for use in Hammer
4

Map modification

Create modified versions of existing maps with proper source files
Some entities that are entirely consumed by vbsp cannot be perfectly restored, including func_instance, func_instance_parms, func_instance_origin, func_viscluster, and info_no_dynamic_shadow.

Supported Engines

Source Engine

Fully supported

GoldSrc

Not supported

Source 2

Not supported
Generally speaking, most Source engine games should work with BSPSource out of the box, even if not explicitly “supported”. If you encounter problems with any particular game or map, feel free to open an issue on GitHub.

Build docs developers (and LLMs) love