Skip to main content

KSPLAT Viewer Online

Open .ksplat Three.js Gaussian Splatting files in your browser — instant preview, no software needed.

Last updated Mar 2026

Loading 3DGS viewer...

Convert KSPLAT Gaussian Splatting

What You Should Know

What Is the KSPLAT Format?

KSPLAT is a binary format for 3D Gaussian Splatting developed by Mark Kellogg as part of the GaussianSplats3D library for Three.js. It is designed for progressive streaming: a KSPLAT file can begin rendering before it fully downloads, making it suitable for embedding large scenes in web pages. KSPLAT achieves roughly 65% compression compared to raw PLY by quantizing Gaussian properties. KSPLAT supports optional spherical harmonics. Whether a KSPLAT 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. The format is proprietary to the GaussianSplats3D ecosystem — it is not natively supported outside of that library, which is why conversion to/from KSPLAT requires specialized tools.

Who Uses KSPLAT?

KSPLAT files are used by Three.js developers who have integrated the GaussianSplats3D library into their web applications. If you are using Mark Kellogg's viewer or embedding Gaussian Splatting in a Three.js scene, KSPLAT is likely your working format. This viewer lets you quickly inspect KSPLAT files without spinning up a local Three.js environment. If you need to share your scene more broadly or use it outside the Three.js ecosystem, converting KSPLAT to PLY (for editing) or SPZ (for web delivery) gives you broader compatibility.

Streaming and Compression Trade-offs

KSPLAT's main advantage is progressive loading — the viewer can display the scene with fewer Gaussians while the rest of the file downloads in the background. This makes it well-suited for large scenes where initial visual feedback matters more than complete fidelity at load time. KSPLAT supports optional spherical harmonics, but most KSPLAT files do not contain SH because the default creation settings omit it. When SH is included, it can be stored at 16-bit or 8-bit precision depending on the compression level. For guaranteed SH preservation with the best compression ratio, SPZ remains the preferred web format.

KSPLAT vs. Other 3DGS Web Formats

Among web-optimized 3DGS formats, KSPLAT occupies a specialist position. It is smaller than SPLAT (about 65% of PLY size vs. SPLAT's 50%) and uniquely supports progressive streaming — a capability neither SPLAT nor SPZ provides. The trade-off is ecosystem lock-in: KSPLAT only works natively within the GaussianSplats3D library. SPZ, by contrast, is becoming the Khronos standard and is gaining cross-platform support. SPLAT has the broadest compatibility today. For most Three.js projects where streaming large scenes matters, KSPLAT is the right choice. For everything else, SPZ or SPLAT is more portable.

Frequently Asked Questions
KSPLAT files are created by the GaussianSplats3D library's conversion utility, which takes a PLY or SPLAT file as input and outputs a KSPLAT file. The library is available as an npm package. You can also create KSPLAT files using our PLY to KSPLAT converter without installing any software.
Yes, this viewer renders KSPLAT files without requiring Three.js or the GaussianSplats3D library to be installed on your machine. The rendering engine runs in your browser via WebAssembly.
KSPLAT is smaller than SPLAT (about 35% vs. 50% of PLY size) and supports progressive streaming, which improves perceived load time for large scenes. SPLAT has broader ecosystem support — more tools and viewers handle it. If you are targeting the Three.js ecosystem specifically, KSPLAT is the better choice. For maximum compatibility, use SPLAT or SPZ.
Yes, optionally. Whether a KSPLAT file contains SH depends on two independent settings used when creating it: the spherical harmonics level (which controls whether SH data is included at all — the default is off) and the compression level (which controls the precision of stored data, including SH when present). Most KSPLAT files in practice do not contain SH because the default creation settings omit it. When SH is included, it can be stored at 16-bit or 8-bit precision depending on the compression level.
Rendering differences can arise from camera orientation, background color defaults, or sorting differences between renderers. The geometry and Gaussian data are identical — only visual presentation settings differ. If precision matters, compare against the original PLY file.

You Might Also Need

Step-by-Step Guides