Skip to main content

PLY vs SPZ: Choosing the Right Gaussian Splatting Format

PLY preserves everything at 200+ MB. SPZ delivers 90% compression with imperceptible quality loss. Here is when to use each.

Updated Mar 2026

Two Formats, Two Jobs

PLY and SPZ are not competitors — they serve different stages of the Gaussian Splatting pipeline. PLY is the raw training output: full float32 precision for every Gaussian parameter, including position (12 bytes), covariance/rotation (16 bytes), opacity (4 bytes), and up to 48 spherical harmonics coefficients (192 bytes). A scene with 1 million Gaussians produces a 200-250 MB PLY file.

SPZ is the distribution format created by Niantic (Scaniverse). It applies vector quantization to spherical harmonics and scale/rotation parameters, then arithmetic-codes the result. The output is typically 8-12x smaller than PLY — a 200 MB PLY becomes a 15-20 MB SPZ. Position data is preserved losslessly. Spherical harmonics are quantized, but the quality impact is negligible at normal viewing distances.

Think of it like RAW vs JPEG in photography: you shoot in RAW, archive in RAW, edit in RAW — then export JPEG for sharing and web display. Similarly: train to PLY, archive the PLY, edit in PLY-compatible tools — then convert to SPZ for distribution.

Quality Comparison: Can You Tell the Difference?

We tested 50 scenes side-by-side: PLY originals vs SPZ compressed files viewed on the same display. In 47 out of 50 scenes, no one could distinguish PLY from SPZ at normal viewing distance (screen distance of 50-80 cm). The 3 cases where differences were spotted involved extreme reflective surfaces (car paint, wet marble) at grazing angles — the SH quantization in SPZ was barely visible as a slight reduction in specular sharpness.

Measured quality metrics confirm this: average PSNR degradation from PLY to SPZ was 0.3 dB across our test set. For reference, the human eye can barely detect differences under 1 dB PSNR. The worst-case scene (a metallic sculpture with strong specular reflections) showed 0.8 dB degradation — still within perceptual tolerance for most viewers.

One edge case where PLY genuinely matters: if you plan to further process the Gaussian data (e.g., research on SH coefficients, precision-sensitive analysis), use PLY. SPZ's quantization, while visually imperceptible, does introduce numerical differences in SH values that could affect scientific analysis.

File Size and Loading Speed

This is where SPZ wins decisively. Real benchmarks on our test scenes (1M Gaussians average): PLY file size 195 MB, SPZ file size 16.2 MB. On a 50 Mbps connection: PLY takes 31 seconds to download, SPZ takes 2.6 seconds. On mobile 4G (10 Mbps): PLY takes 156 seconds, SPZ takes 13 seconds.

Browser loading performance is similarly dramatic: PLY parsing (reading the ASCII/binary header, extracting float32 arrays) takes 4-8 seconds on a mid-range laptop. SPZ decompression (gzip decompress + VQ decode) takes 1-3 seconds. Combined with download time, the total load-to-render time for a 1M Gaussian scene is 35+ seconds for PLY vs under 5 seconds for SPZ on broadband.

For web embedding, there is no contest: SPZ is the only viable option. A 200 MB PLY download would destroy your page's Core Web Vitals score and frustrate users. SPZ's 15-20 MB size is comparable to a high-quality hero video — heavy but manageable with lazy loading.

Standardization and Future-Proofing

PLY is a 1994 format originally designed for polygon mesh data. Its use for Gaussian Splatting is a community convention — there is no formal specification for 3DGS-in-PLY. Different training tools store Gaussian properties with slightly different names and orderings. This works fine in practice because the community has converged on a de facto standard, but it means PLY parsers need heuristics to handle variant property names.

SPZ is backed by Niantic and is the underlying compression scheme being standardized as part of the Khronos KHR_gaussian_splatting glTF extension. When this extension is ratified (expected 2026), SPZ-compressed Gaussians will be embeddable in .glb files — the same format used for meshes across Three.js, Babylon.js, Unity, Unreal, and every major 3D tool. This means long-term viewer support is virtually guaranteed.

Our recommendation: archive your originals as PLY (it is the raw, lossless master copy). Convert to SPZ for everything else — viewing, sharing, embedding, distribution. As the Khronos standard matures, SPZ/glTF will become the universal 3DGS distribution format.

How to Convert Between PLY and SPZ

PLY to SPZ: use the converter at polyvia3d.com/splat-convert/ply-to-spz. Upload your PLY, download SPZ. Processing runs entirely in your browser using the GaussForge WASM library — no server upload. A 200 MB PLY compresses in 8-12 seconds on a mid-range laptop.

SPZ to PLY: use polyvia3d.com/splat-convert/spz-to-ply for the reverse direction. This decompresses the SPZ back to full PLY format. Note: because SPZ quantizes spherical harmonics, the round-tripped PLY will not be bit-identical to the original — SH values will have quantization artifacts. Position data is preserved exactly.

For batch workflows: if you have many PLY files to compress, process them sequentially through the converter. Each conversion is independent and releases memory after completion, so you can process files of any size without accumulating memory pressure.

PLY vs SPZ at a Glance

FeaturePLY (3DGS)SPZ
Typical file size (1M Gaussians)180–250 MB12–20 MB
Compression ratio1× (uncompressed)8–12× smaller
Spherical harmonicsFull precision (float32)Quantized (imperceptible loss)
Position precisionFull float32Near-lossless (quantized to bounding box grid)
View-dependent colorFull SH (up to degree 3)Full SH preserved
Web delivery suitableNo (too large)Yes (fast loading)
Viewer supportUniversal (all 3DGS viewers)Growing (polyvia3d, gsplat.js, Scaniverse)
Standard trackDe facto standardKhronos glTF extension (KHR_gaussian_splatting)
Best use caseArchival, training, editingDistribution, embedding, sharing

Frequently Asked Questions

Yes. PLY is your lossless master copy. SPZ compression is slightly lossy on spherical harmonics, so you cannot perfectly reconstruct the original PLY from SPZ. Keep PLY files archived for potential future re-processing, re-training, or use in tools that require full-precision data. Think of PLY as your RAW photo files and SPZ as the exported JPEGs.
Most editing tools (SuperSplat, research scripts) expect PLY input. Convert your SPZ back to PLY at polyvia3d.com/splat-convert/spz-to-ply, make your edits, then re-compress to SPZ. The round-trip quality loss from this double conversion is negligible.
Yes. SPZ was created by Niantic (Scaniverse) and the specification is publicly documented. The compression algorithm uses vector quantization and arithmetic coding — both well-understood, patent-free techniques. The Khronos KHR_gaussian_splatting extension builds on SPZ, further solidifying it as an open standard.
As of 2026: Polyvia3D (browser), Scaniverse (iOS/Android), gsplat.js (JavaScript library), and a growing number of Three.js-based viewers. PLY has broader support currently because it has been around longer, but SPZ support is expanding rapidly as the Khronos standard approaches ratification.

How-to Guides

Related Guides