SplatTransform - 3D Gaussian Splat Converter
| User Guide | API Reference | Blog | Forum |
SplatTransform is an open source library and CLI tool for converting and editing Gaussian splats. It can:
📥 Read PLY, Compressed PLY, SOG, Streamed SOG, SPZ, SPLAT, KSPLAT, LCC and LCC2 formats 📤 Write PLY, Compressed PLY, SOG, Streamed SOG, SPZ, GLB, CSV, HTML Viewer, LOD, Voxel and WebP image formats 📊 Generate statistical summaries for data analysis 🔗 Merge multiple splats 🔄 Apply transformations to input splats 🎛️ Filter out Gaussians or spherical harmonic bands 🔀 Reorder splats for improved spatial locality ⚙️ Procedurally generate splats using JavaScript generators
The library is platform-agnostic and can be used in both Node.js and browser environments.
Installation
Install or update to the latest version:
npm install -g @playcanvas/splat-transformFor library usage, install as a dependency:
npm install @playcanvas/splat-transformFor running on a backend with Docker (including GPU/Vulkan setup), see the Docker Backend guide.
[!TIP] For one-off conversions without installing anything, try SuperSplat Convert — a browser-based frontend to splat-transform. See the Convert page docs for details.
Guides
- Generating Streamed SOG — build a multi-LOD Streamed SOG from a single PLY.
- LOD Streaming — load and render Streamed SOG output in a PlayCanvas app.
- Collision Mesh Generation — generate voxel/collision data from a splat scene.
- Docker Backend — run splat-transform on a backend (incl. GPU/Vulkan setup).
- Library Usage — drive splat-transform programmatically from Node.js or the browser.
Format Specifications
| Format | Description | | ------ | ----------- | | PLY | Industry-standard uncompressed format for source, editing and interchange | | SOG | Super-compressed format for web delivery (meta.json + WebP textures, bundled or unbundled) | | Streamed SOG | Multi-LOD chunked SOG for streaming very large scenes (lod-meta.json) | | Voxel | Sparse voxel octree for collision detection (.voxel.json / .voxel.bin) |
CLI Usage
splat-transform [GLOBAL] input [ACTIONS] ... output [ACTIONS]