From splats to points
A 3D Gaussian splatting capture and a point cloud look like the same thing, and they are not. Each splat is an oriented ellipsoid with a scale, a rotation, an opacity and a colour that changes with the viewing angle. A point has a position and a colour. Converting one to the other is useful and lossy, and this tool is explicit about both halves of that.
Why a 3DGS PLY opens wrong elsewhere
The training output of the original 3D Gaussian Splatting paper is a valid PLY file, so CloudCompare, MeshLab and Open3D will happily open it — and show a grey cloud. Two properties are to blame:
f_dc_0,f_dc_1,f_dc_2are spherical-harmonic coefficients, not RGB. The colour is0.5 + 0.2820948 x f_dc.opacityis a logit, not an alpha. The alpha is1 / (1 + exp(-opacity)).
This converter applies both, so the cloud you download is coloured the way a splat viewer draws it.
What you can change
- Opacity threshold — a capture is typically full of near-transparent haze that adds nothing to a point cloud. Raising the threshold removes it.
- Point budget — when a capture exceeds the budget the tool keeps the most important splats, scored by opacity times the two largest radii, so surfaces survive and fog goes first.
- Colour — the flat base colour, or the full spherical-harmonic colour evaluated for one view direction. Use the second on glossy captures, where the base colour is not what anybody actually sees.
- Normals — optional, derived from each splat's thinnest axis. A converged splat lies flat against the surface it represents, so that axis is a usable surface normal.
Formats
Binary PLY is the default: uchar colour, little-endian, the dialect every point-cloud tool actually reads. ASCII PLY is the same data in text. XYZ is plain x y z r g b columns and has no room for normals.
Everything runs in your browser. The capture is never uploaded.
Tiny Online Tools







