PLY to KSPLAT Converter — Three.js Gaussian Splatting Format
Convert Gaussian Splatting PLY files to KSPLAT for use with Three.js GaussianSplats3D library.
Last updated Mar 2026
- 1Upload
- 2Convert
- 3Download
Drag PLY (Gaussian Splatting) file here, or click to upload
What You Should Know
PLY to KSPLAT: Built for the Three.js Ecosystem
KSPLAT is the native format of Mark Kellogg's GaussianSplats3D library for Three.js, which is the most widely adopted JavaScript library for Gaussian Splatting in web applications. If you are building a Three.js scene with embedded Gaussian Splatting, converting your PLY to KSPLAT avoids the overhead of runtime conversion and unlocks progressive streaming — the library can start rendering the scene before the full file has downloaded.
KSPLAT Compression and Trade-offs
KSPLAT achieves about 65% size reduction compared to PLY by quantizing per-Gaussian properties. KSPLAT supports optional spherical harmonics, but whether a file contains SH depends on the settings used when creating it — the default is no SH. When SH is included, it can be stored at 16-bit or 8-bit precision depending on the compression level. A 500 MB PLY file becomes approximately 175 MB in KSPLAT. The format stores Gaussians in sorted chunks optimized for the GaussianSplats3D renderer, which enables efficient depth sorting — a critical step for correct alpha blending in 3DGS rendering. This chunked layout is what enables progressive loading: the renderer displays coarse results immediately and refines as more chunks arrive.
When to Choose KSPLAT vs. SPZ for Web Use
If your target runtime is specifically GaussianSplats3D (Three.js), use KSPLAT — it is the format the library is optimized for, with chunked sorting and progressive loading. If you need a format that works across multiple runtimes and preserves spherical harmonics, use SPZ. If you need the broadest compatibility with the widest range of existing web viewers, use SPLAT. KSPLAT is a specialist format: excellent for its target ecosystem, less portable outside it. This converter requires a Gaussian Splatting PLY file as input. Standard mesh PLY files from Blender or CAD tools are not supported. See /formats/ply-3dgs for more on the difference between the two types of PLY files.
PLY vs KSPLAT
| Feature | PLY | KSPLAT |
|---|---|---|
| File Size | Large — uncompressed (~236 bytes/Gaussian) | Small — ~35% of equivalent PLY |
| Spherical Harmonics | Yes — full SH up to degree 3 | Optional — included only if enabled when creating the file (default is no SH) |
| Web Compatibility | Limited — size makes direct delivery impractical | Good — Three.js GaussianSplats3D ecosystem |
| Compression | None — raw parameter storage | Good — quantized with optional chunks |
| Progressive Loading | No | Yes — streaming-optimized |
| Typical Use | Research, desktop editing, source of truth | Three.js integration, large scene streaming |