Skip to main content

3DGS LOD Generator — Smart Gaussian Downsampling

Reduce Gaussian count while preserving visual quality. The tool ranks every Gaussian by its visual contribution and keeps only the most important ones. Runs in your browser.

Last updated Mar 2026

Drop a 3DGS file to generate LOD levels

Supports .ply and .splat

What You Should Know

What Is LOD for Gaussian Splatting?

Level of Detail (LOD) is a rendering optimization that uses multiple versions of a scene at different quality levels. For 3D Gaussian Splatting, LOD means having fewer Gaussians in lower-detail versions — the viewer loads a lightweight version first for instant display, then progressively streams higher-detail data. This tool generates the individual LOD levels by intelligently reducing the Gaussian count: instead of randomly removing points, it ranks each Gaussian by its visual importance and keeps the ones that contribute most to the final image.

How Importance Ranking Works

Each Gaussian's importance is calculated as: opacity × max(scale). Gaussians with high opacity and large spatial extent contribute more to the rendered image — removing them would create visible holes. Gaussians with low opacity or very small scale are nearly invisible and can be safely removed. The tool sorts all Gaussians by this score and keeps the top N%. This approach uses a simplified version of the principles explored in recent research on Gaussian pruning (opacity-based and scale-based filtering), adapted for efficient browser-side processing.

Supported Formats

The LOD generator supports PLY (3DGS binary_little_endian format) and SPLAT (32-byte antimatter15 format). For PLY files, the tool parses the header to locate opacity and scale properties, then reads the binary vertex data. For SPLAT files, it reads the fixed-layout 32-byte records directly. The output preserves the original format — a PLY input produces a PLY output with an updated vertex count header, and a SPLAT input produces a smaller SPLAT file.

Choosing the Right LOD Level

75% is a light reduction suitable for slightly faster loading without noticeable quality loss. 50% cuts the file in half and works well for web deployment where bandwidth matters. 25% is aggressive — ideal for mobile devices or preview thumbnails, but fine details will be lost. 10% creates a minimal placeholder for instant loading in a progressive LOD pipeline. For most web deployment scenarios, 25-50% provides the best balance between visual quality and loading speed.

Frequently Asked Questions
SPZ compression reduces file size by quantizing each Gaussian's data to smaller data types — all Gaussians are preserved, just stored more compactly. LOD downsampling actually removes Gaussians from the scene, keeping only the most visually important ones. You can combine both: first downsample to 50% with this tool, then compress with SPZ for maximum size reduction.
It depends on the percentage. At 75%, most scenes look nearly identical to the original because the removed Gaussians had minimal visual contribution. At 50%, you may notice slight softening in fine details. At 25% or below, the scene will look noticeably simplified — thin structures, small details, and sharp edges are affected first. The importance-based ranking ensures that the most visually significant Gaussians are always preserved.
Currently, the tool generates one level at a time. To create a multi-level LOD set (e.g., 100%/50%/25%/10%), run the tool multiple times with different percentages on the same source file. Each output is independent — the 25% version is derived from the original, not from the 50% version.
PLY and SPLAT store individual Gaussian data in a way that allows direct importance calculation (opacity and scale values are accessible per Gaussian). SPZ files are compressed and would need full decompression first. KSplat uses a sectioned format that complicates per-Gaussian access. We may add SPZ support in the future by decompressing to PLY first.
No. All processing happens locally in your browser using JavaScript. Your file is read into memory, processed, and the output is generated entirely on your device. Nothing is sent to any server.
The tool works with files up to approximately 1 GB, limited by browser memory (the file is loaded and a new output buffer is allocated simultaneously). A 1 GB PLY file contains roughly 4-15 million Gaussians depending on SH degree. Processing time scales linearly — expect about 5-15 seconds for a 1 million Gaussian file on a modern desktop.

Related Tools

Step-by-Step Guides