Inspect & render Source BSP maps with dev-style tooling.

Source BSP Explorer is a tool for exploring Source Engine map files. It can inspect metadata, list & inspect entities, list materials, track resource profiles (VTF/VMT paths), and preview maps in a 3D renderer powered by PyOpenGL. You can also export BSP → OBJ and run quick PlayTests by launching a Source game with saved arguments.

Metadata inspection Entity listing + metadata Material listing Profiles (VTF/VMT paths) PyOpenGL 3D Renderer OBJ Export PlayTest w/ args
Map structure clarity
See what’s inside the BSP and how it’s put together.
Visual verification
Textures + displacements in 3D to spot issues faster.
Workflow speed
Launch PlayTests with saved settings instead of retyping args.
Note: Options marked [cheats] in PlayTest require sv_cheats 1 in many games. Source BSP Explorer can pass launch args / startup commands, but the game may still block some commands.

Features

Inspection & listings
Metadata inspection Inspect map metadata and key structural information at a glance.
Entity listing + entity metadata inspection Browse entities and inspect their keyvalues/metadata to understand map logic and setup.
Material listing View the materials referenced by the map and how they relate to textures.
Profile listing (paths to VTF & VMT) A profile list that shows the paths to the VTF/VMT files used by the map (useful for missing assets + extraction workflows).
3D view, export, workflow
3D map view renderer engine Powered by PyOpenGL with camera modes and render-view settings for fast visualization.
Textures + displacements in 3D The renderer supports map textures and displacements (via worker parsers described below).
Export BSP → OBJ Export the BSP map as an .OBJ for Blender or other 3D software that supports OBJ.
PlayTest feature (launch map in-game) Select a Source game EXE, set arguments, save them, and launch the map quickly for testing.

PlayTest feature

What PlayTest does

The PlayTest window lets you launch a Source Engine game directly into the current map with chosen launch options. Settings can be saved and reset, so you don’t have to retype arguments every time.

PlayTest Settings: - Choose Game EXE (Browse) - Toggle: Play startup intro - Toggle: Use Vulkan renderer (-vulkan) - Display mode: Windowed / (other modes as you add them) - Window size (resolution): dropdown (example: 1280x720) - In-game debug toggles (console cmds) - Save / Reset / Launch
Debug toggles (console commands)

These are quick checkboxes that toggle common Source debug commands. Some are marked [cheats] because they often require sv_cheats 1.

Show triggersshowtriggers 1
Show player positioncl_showpos 1
Disable static prop loadingdisable_static_prop_loading 1
3rd person view [cheats]thirdperson
Developer overlaydeveloper 1
Disable physics [cheats]phys_timescale 0
Show budget textureshowbudget_texture 1
Extra player info [cheats]sv_showhitboxes 1
Wireframes [cheats]mat_wireframe 1
Note: Source BSP Explorer passes launch args / startup commands. The game may still block some commands depending on game rules, secure settings, or engine branch.

3D Renderer (PyOpenGL)

Renderer engine

Source BSP Explorer includes a 3D map view renderer built on PyOpenGL. It supports camera modes and render modes, plus visual toggles to help you understand the map.

Renderer: - Camera mode (example: ORBIT) - Render mode (example: SOLID) - Toggle: Textures - Toggle groups (helpers / overlays)
Render view settings (from your menu)
CameraORBIT (and more modes as you add them)
Render modeSOLID (and more modes as you add them)
TexturesToggle textured rendering on/off
Show TriggersOverlay trigger volumes (if enabled/available in the map)
Show ClipsOverlay clip brushes/volumes
Entity IconsShow helper icons for entities
Target LinesVisual lines for entity targets
Parent LinesVisual lines for parenting relationships
Path TracksVisualize path_track chains
Path CornersVisualize path_corner points
Beams/LasersRender beam/laser helpers (where applicable)
RopesRender rope helpers (where applicable)
Facing ArrowsShow entity facing direction arrows
DisplacementsToggle displacement rendering
Why these toggles matter
Hammer-like readability: Triggers, clips, icons, and lines help you “read” a map quickly without digging through raw data.
Debug faster: Displacements + textured preview makes it easier to spot broken surfaces, missing textures, or weird geometry.

Worker EXE files (required for full rendering)

What the workers do

Source BSP Explorer uses two worker executables to parse specific data needed for the 3D renderer. The main program calls these workers and waits for them to return data. Once the data is received, the renderer can display textures and displacements.

Workers: - VParsing.exe Purpose: get / resolve textures (VTF/VMT data paths for rendering) - DisplaceParsing.exe Purpose: parse displacement data for the 3D renderer
Pipeline overview
1) Main program launches VParsing.exe and DisplaceParsing.exe 2) Main program waits for returned parsing results (data) 3) Renderer receives: - texture references / resolved paths - displacement meshes / info 4) 3D view displays textures + displacements
Recommendation for the app: If one or both worker EXEs are missing or crash, show a clear error and close (because the renderer needs both workers to function correctly).

Get Source BSP Explorer

Downloads

Replace these buttons with your real links (GitHub Releases, your website, etc.).

Want this to match your app UI? Tell me your exact theme colors + logo file name, and I’ll reskin the whole site to match.
System requirements
  • OS: Windows 10/11 (edit if you support more)
  • GPU: Any GPU suitable for OpenGL rendering (for the 3D renderer)
  • RAM: 4GB+ recommended (large maps may need more)
  • Disk: Enough space for exported OBJ / extracted resources
Disclaimer: Source is Valve’s engine; Source BSP Explorer is a fan-made tool and is not affiliated with Valve.