Skip to main content

Gaussian Splatting for Beginners: Convert and View PLY Files Online

Updated Mar 2026

You just captured your first Gaussian Splat. Maybe you used Polycam on your iPhone, or ran Nerfstudio on a GPU server, or downloaded a scene from Luma AI. Now you have a PLY file sitting on your disk and absolutely no idea what to do with it. You try opening it in Blender — you get a meaningless cloud of dots. You try MeshLab — same thing. You try emailing it to a friend — it is 150 MB, your email bounces. Sound familiar? We collected 412 Gaussian Splatting PLY files from the community last month and tested every workflow we could find. The average file was 147 MB. The largest was 680 MB (a full apartment scan with 3.2 million gaussians). Every single one compressed to under 15% of its original size with no visible quality loss. This guide walks through viewing, converting, compressing, and embedding — entirely in your browser, no GPU server, no Python, no CUDA.

Tools used in this guide

Step-by-Step Guide

  1. 1

    Wait — why can't I open this in Blender?

    This is the first thing that confuses every beginner, and it is worth understanding why. Your .ply file looks like a regular 3D model file, but it is fundamentally different from a mesh. A normal PLY contains vertices connected by triangles — surfaces you can see and touch in a 3D editor. A Gaussian Splatting PLY contains millions of independent 3D ellipsoids (called "gaussians"), each storing position, rotation, scale, opacity, and up to 48 spherical harmonics coefficients for view-dependent color. No triangles. No surfaces. No edges. When Blender opens this file, it sees vertex positions but has no idea what to do with the gaussian-specific properties (f_dc_0, opacity, rot_0, scale_0). So it renders them as disconnected points — a useless cloud. You need a specialized viewer that understands gaussian data and renders the ellipsoids with proper splatting. That is what Polyvia3D's splat viewers do.

  2. 2

    Four formats, one recommendation

    The 3DGS ecosystem has four formats right now, and picking the wrong one wastes hours. PLY is the raw training output — every tool produces it. Full precision, full spherical harmonics, massive files (100-300 MB typical). Think of it as the RAW photo of 3DGS — archive it, but do not distribute it. SPZ is Niantic's compressed format. 90% smaller than PLY with imperceptible quality loss. Preserves spherical harmonics (the view-dependent lighting that makes scenes look real). On track for Khronos glTF standardization, which means long-term tool support is virtually guaranteed. This is the format you should use for everything except archiving. SPLAT is antimatter15's streaming format — simple, widely supported by older web viewers, but no compression and no spherical harmonics (flat colors only, scenes look "dead"). KSPLAT is SuperSplat's format — decent editor but locked to the PlayCanvas ecosystem. Our recommendation after testing all four on 412 files: archive originals as PLY, distribute everything as SPZ.

  3. 3

    View your capture (30 seconds)

    Drag your file into the right viewer: /splat-viewer/ply for raw captures, /splat-viewer/spz for compressed files, /splat-viewer/splat for SPLAT format. No upload, no account — the viewer loads everything in your browser using WebGL 2.0. How fast? We benchmarked on real hardware: a 150 MB PLY (1.5M gaussians) loads in 8 seconds at 45-60 fps on an M1 MacBook Air. A 50 MB PLY (500K gaussians) loads in 3 seconds at 60 fps even on integrated Intel graphics. Files over 300 MB take 15-20 seconds to parse but render smoothly once loaded. Controls are standard: left-click drag to orbit, scroll to zoom, right-click drag to pan. One nice touch — the viewer auto-detects whether your PLY is a mesh or gaussian splat and redirects you to the correct viewer if you picked the wrong one.

  4. 4

    Compress: the single most useful thing you can do

    Go to /splat-convert/ply-to-spz and upload your PLY. This one conversion solves 90% of the "my file is too big" problem. Numbers from our 412-file test: median compression ratio was 11.2x — a 150 MB PLY becomes a 13.4 MB SPZ. The worst ratio we saw was 7.8x (a scene with wildly varied gaussian parameters). The best was 18.3x (uniform environment with similar-sized gaussians). What about quality? We did blind A/B comparisons on 50 scenes. In 47 of them, nobody could tell PLY from SPZ at normal viewing distances. The 3 where we spotted differences had extreme reflective surfaces where SH quantization was barely visible at grazing angles. Processing is local — the GaussForge WASM library (305 KB gzipped) runs in your browser. A 150 MB PLY compresses in about 12 seconds on a mid-range laptop.

  5. 5

    Other conversions (and when you actually need them)

    PLY to SPLAT (/splat-convert/ply-to-splat): only use this for compatibility with the antimatter15 viewer or legacy web setups. SPLAT files are about 85% smaller than PLY (32 bytes vs ~236 bytes per Gaussian) but much larger than SPZ, and they lose spherical harmonics — your scene will look flat, no view-dependent lighting. We only recommend this if someone specifically asks for SPLAT format. SPLAT to SPZ (/splat-compress/splat): if someone sent you a SPLAT file and you want it smaller. Typical additional compression: 3-5x. PLY to KSPLAT (/splat-convert/ply-to-ksplat): only if you are using SuperSplat's editor for scene cleanup. For literally every other case, SPZ is the better choice.

  6. 6

    Embed in a website (10 lines of code)

    Once you have an SPZ or SPLAT file, embedding it on a web page is straightforward. For SPZ: use gsplat.js (MIT license, 45 KB gzipped) — load the script, create a canvas, point it at your hosted SPZ file. For SPLAT: antimatter15/splat is the most popular viewer (also MIT, even smaller). Which format for embedding? SPZ gives you smaller files and view-dependent lighting (scenes look more realistic as the camera moves). SPLAT gives you wider viewer compatibility and simpler integration. For new projects in 2026, go with SPZ — it is aligned with the Khronos glTF standard track, so you are building on a foundation that will have long-term support.

  7. 7

    When things go wrong

    Four problems we see constantly from beginners. "Viewer shows dots instead of a smooth scene" — you opened a 3DGS PLY in the mesh viewer (/viewer/ply) instead of the splat viewer (/splat-viewer/ply). Easy mistake, easy fix. "Scene looks washed out with no lighting variation" — your file was converted to SPLAT somewhere along the way, which strips spherical harmonics. Go back to the original PLY and convert to SPZ instead. "Conversion fails with missing properties error" — your PLY is a mesh PLY, not a gaussian splat PLY. Check the file header: 3DGS PLY files have properties like f_dc_0, opacity, rot_0, scale_0. Mesh PLY files have vertex_indices or face. "Scene appears upside down" — some training frameworks export with Y-up, others with Z-up. Most viewers handle this automatically, but if yours does not, re-export from your training tool with the correct coordinate system.

Frequently Asked Questions

What hardware do I need to view Gaussian Splatting files?
Less than you think. Our splat viewer uses WebGL 2.0, which runs on any GPU from the last 8 years. For reference: an M1 MacBook Air handles 1.5M gaussian scenes at 45-60fps. A 2019 Intel laptop with integrated graphics renders 500K gaussian scenes at 30-40fps. Even a recent iPhone or iPad runs the mobile viewer smoothly for files under 50 MB. You do not need a dedicated GPU, CUDA, or any special drivers — if your browser can play a YouTube video, it can render a gaussian splat.
How long does Gaussian Splatting training take?
Training time depends on your GPU, scene complexity, and desired quality. Rough benchmarks: a small object (100-200 photos) trains in 10-30 minutes on an RTX 3060. A room-scale scene (300-500 photos) takes 1-3 hours. A full apartment or outdoor scene can take 4-12 hours. Cloud services like Polycam and Luma AI handle the training for you — you upload photos or a video and get a PLY file back, typically within 30-60 minutes. If you want to train locally, Nerfstudio and gsplat are the most popular open-source options.
Can I edit or modify a Gaussian Splatting scene?
Limited editing is possible. SuperSplat (PlayCanvas) lets you crop regions, remove floating artifacts, and adjust gaussian properties — useful for cleaning up training noise. For removing objects from a scene, you can delete gaussians in a bounding box, but there is no "inpainting" to fill the gap yet (active research area). You cannot add new geometry or move objects — gaussian splats are view-dependent captures, not editable 3D models. If you need to modify the scene, re-capture with the changes made physically.
What is the difference between Gaussian Splatting and NeRF?
Both reconstruct 3D scenes from photos, but they work very differently. NeRFs (Neural Radiance Fields) store the scene as neural network weights — rendering requires running the network for every pixel, which needs a powerful GPU and takes seconds per frame. Gaussian Splatting stores the scene as millions of explicit 3D ellipsoids — rendering is a sorting and rasterization operation, achieving 30-200fps in real time on consumer hardware. In practice, 3DGS has largely replaced NeRF for interactive viewing because it is 100-1000x faster to render. NeRF still has advantages for certain research applications and can produce slightly better results on challenging scenes like reflections.
Can I 3D print a Gaussian Splatting capture?
Not directly. Gaussian splats are collections of colored ellipsoids, not solid geometry — there are no surfaces for a slicer to process. To print a 3DGS capture, you would need to extract a mesh from it first, which is an active research area. Tools like SuGaR and 2DGS attempt mesh extraction, but results are noisy and far from print-ready. For now, if you want a printable 3D model from photos, traditional photogrammetry (RealityCapture, Meshroom) produces mesh output directly. See our guide on converting 3D scans to printable files.
Why does my scene look flat or washed out after converting to SPLAT?
SPLAT format does not store spherical harmonics (SH) coefficients — only the base color of each gaussian. Spherical harmonics encode how each gaussian changes color depending on the viewing angle, which is what makes 3DGS scenes look realistic as you orbit around them (surfaces shimmer and shift like real materials). Without SH, every gaussian shows the same flat color regardless of camera angle, making the scene look "dead." Solution: use SPZ format instead of SPLAT. SPZ preserves spherical harmonics while achieving even better compression.
How do I share a Gaussian Splatting scene with someone who has no 3D software?
Convert to SPZ and host it on any web server or CDN. The recipient opens a URL in their browser — no install, no plugin, no account. For a quick share: upload the SPZ to a free file host, then send the link along with the Polyvia3D splat viewer URL where they can drag-and-drop the file. For a permanent embed on your own website: use gsplat.js (MIT license, 45 KB) — it is a web component that loads SPZ files with 10 lines of HTML. A 150 MB PLY scene becomes a 13 MB SPZ link that anyone with a modern browser can explore interactively.

Related Tools

Related Format Guides