Convert PLY to SOG — 95% Compression for Gaussian Splatting
Convert any 3DGS file to PlayCanvas SOG format. Morton ordering + WebP + k-means compression. Runs in your browser.
Last updated Mar 2026
Drop a PLY file to convert to SOG
Supports .ply, .splat, .spz, .ksplat
What You Should Know
What Is PLY to SOG Conversion?
This tool converts Gaussian Splatting PLY files into PlayCanvas SOG format — the most compressed 3DGS format available. SOG achieves up to 95% file size reduction compared to raw PLY (typical for PLY files with full spherical harmonics; SH0-only files see 70-85% reduction) by combining three compression techniques: Morton spatial ordering (Z-curve), WebP image compression for attribute textures, and k-means codebook quantization for scale and color data.
How the Conversion Works
The converter reads your PLY file, extracts all Gaussian attributes (positions, scales, rotations, opacity, spherical harmonics), sorts them into Morton spatial order for optimal compression, arranges the data into 2D attribute textures, compresses those textures with WebP, and quantizes scale/color values using k-means clustering. The k-means step runs on your CPU — no GPU required. The entire process happens locally in your browser. Processing time depends on file size: expect 10-30 seconds for a 50 MB PLY, several minutes for 500+ MB files.
SOG vs SPZ: Why Choose SOG?
For scenes with full spherical harmonics data, SOG is typically 2x smaller than SPZ (the gap is narrower for SH0-only files). SOG also decodes faster because the WebP textures upload directly to the GPU without a JavaScript decompression loop. However, SPZ has broader tool support and is aligned with the Khronos glTF ecosystem. Use SOG when file size and load speed are critical (web delivery, mobile), and SPZ when you need maximum tool compatibility.
Supported Input Formats
This tool accepts PLY (3DGS binary_little_endian), SPLAT (32-byte antimatter15), SPZ (Niantic compressed), and KSPLAT (PlayCanvas/SuperSplat) files. All are converted to SOG using the same pipeline. The output is always a single .sog bundle file.