← Articles

What Is an SPZ File? The Compressed Gaussian Splat Format Explained

By Aisha PatelJune 11, 2026

Spz files represent a compact, widely used format for Gaussian splatting, a technique that renders 3D scenes as a cloud of colored, point-like splats. In practice, a spz file stores the data needed to reconstruct a 3D world composed of Gaussian splats, enabling real-time viewing and interaction in a web browser or game engine. This format is notable for its efficiency: many Gaussian-splat workflows describe spz as a compressed representation that retains essential geometry and shading while dramatically reducing file size compared with traditional point clouds. (github.com)

Marble3D, the Marble3D playground, centers its workflow on turning photos or prompts into explorable 3D worlds and then exporting them as Gaussian splats (.spz) along with related assets. Users can preview worlds in the browser and download outputs for use in Unity, Unreal, Blender, and other tools. If you’re exploring Gaussian splatting for game assets, virtual tours, or architectural walkthroughs, Marble3D provides a concrete, browser-based path from input to export. (marble3d.ai)

This guide walks you through what a spz file is, how to generate it with Marble3D, and how to integrate a spz file into your project workflow. You’ll learn practical steps, common pitfalls, and next steps you can take to level up your photo-to-3D or text-to-3D pipelines. Expect a thorough, hands-on approach designed for game developers, 3D artists, and indie creators who want to move fast without sacrificing quality. The core ideas here align with industry practices around Gaussian splatting and SPZ in open ecosystems. (github.com)

Prerequisites & Setup

A large splat scene compressed into a small file

Before you begin, make sure you have the right setup to work with spz files and Marble3D’s workflow. The steps below outline the essential requirements and a sensible preparation path.

Required Tools

  • A Marble3D account and access to the Marble3D Playground. This is the entry point to generate worlds from photos or prompts and to export those worlds as SPZ files and other assets. (marble3d.ai)
  • A modern web browser with WebGL support, capable of running interactive 3D content in-browser. Marble3D’s playground renders live 3D worlds in the browser, so performance in your browser matters for a smooth experience. (marble3d.ai)
  • Input material: a single photo, a small set of photos (2–8 views of the same scene), a 360 panorama, or a textual prompt up to about 2,000 characters. This input feeds the Gaussian-splat reconstruction. Marble3D is designed to convert these inputs into explorable 3D worlds. (marble3d.ai)
  • Optional: a basic understanding of Gaussian splatting concepts, so you can gauge expectations around fidelity, density, and performance. External resources and community discussions provide context for Gaussian splats, SPZ formats, and related tooling. (metaverse-standards.org)

Accounts & Access

  • Sign up for Marble3D to access the playground and export options. The Marble3D platform supports browser-based exploration and export of Gaussian-splat worlds. (marble3d.ai)
  • Familiarize yourself with export downloads supported by Marble3D, including SPZ files, collision meshes, a high-quality mesh, and panorama images. This helps you plan how you’ll bring your spz file into your next project. (marble3d.ai)

Source Material & Planning

  • Decide whether you’ll base your world on a photo set (2–8 views) or a textual prompt. Gaussian splatting workflows often accommodate both input styles, and the resulting SPZ can be published for web viewing or engine integration. For context on SPZ as a compressible Gaussian-splat format, see external references describing SPZ as a compressed representation of 3D splats. (github.com)

Environment & File Management

  • Be prepared to manage files downloaded from Marble3D Playground (SPZ files, collision mesh, high-quality mesh, and panorama outputs). Having a clear project directory helps you reuse SPZ assets across scenes. Neutral SPZ tools and viewers exist in the ecosystem to inspect and convert SPZ data if needed. (nianticlabs.github.io)

Step-by-Step Instructions

Step 1: Access Marble3D and Prepare Your Scene

  • What to do: Open Marble3D, sign in, and prepare your input source (photo(s) or a text prompt). If you’re starting from a photo set, gather 2–8 views of the same scene with consistent lighting if possible. If you’re starting from a prompt, craft a concise sentence that conveys scene mood, scale, and notable features.
  • Why it matters: Marble3D’s pipeline uses either photographic input or a descriptive prompt to construct a navigable 3D Gaussian-splat world. The process results in a compact, explorable space that can be exported for further use. (marble3d.ai)
  • Expected outcome: You’re ready to generate a Gaussian-splat world from input material. You should see a live preview in the Marble3D playground as you adjust inputs.
  • Common pitfalls to avoid: Uploading too many very large images without preparing compression or color adjustments can slow down the preview. If you’re using a prompt, be explicit about scene scale to avoid ambiguous results. For context on the SPZ concept and its role in Gaussian splatting workflows, reference reputable SPZ discussions. (github.com)

Step 2: Configure Input and Settings

  • What to do: Choose between photo-based input and text-prompt input. If using photos, ensure good coverage of the scene from multiple angles; if using text, keep it under the 2,000-character limit and emphasize key features (architecture, lighting, materials).
  • Why it matters: The fidelity and navigability of the resulting 3D world depend on input coverage and descriptive clarity. Gaussian splatting relies on how well the input captures geometry and appearance. (github.com)
  • Expected outcome: The playground shows a reconstructed world that matches your input direction, with options to tweak lighting, materials, and density as supported by Marble3D.
  • Common pitfalls to avoid: Sparse input coverage or overly vague prompts can yield a world that lacks depth or fails to capture key details.

Step 3: Generate the Gaussian Splat World

  • What to do: Initiate the Gaussian-splat reconstruction in Marble3D. Review the live render as the system converts your input into Gaussian splats, which approximate geometry and shading with splat primitives.
  • Why it matters: This is the core moment where the input becomes a traversable 3D space. Gaussian splatting can produce rich, navigable environments in real time, enabling exploration and iteration. (github.com)
  • Expected outcome: A complete Gaussian-splat world is generated and available for review in the in-browser viewer.
  • Common pitfalls to avoid: If the result looks flat or lacks geometry, consider adding more input coverage or refining lighting during the preview. Real-time tweaks in the viewer can help you steer the result before export. (marble3d.ai)

Step 4: Review and Refine the Preview

  • What to do: Navigate through the world in the in-browser viewer. Assess key aspects such as perspective, scale, lighting, and texture hints. If needed, adjust input parameters or lighting to refine the result.
  • Why it matters: Real-time exploration helps you catch fidelity gaps early and ensures the final SPZ export aligns with your project’s needs.
  • Expected outcome: A refined world that matches your artistic intent and technical requirements prior to export.
  • Common pitfalls to avoid: Overreliance on auto-generated lighting; manual tweaks to lighting and materials can drastically improve perceived quality. Resources on Gaussian splats emphasize how the format captures shading and density nuances. (metaverse-standards.org)

Step 5: Export the SPZ File and Additional Assets

  • What to do: From the Marble3D Playground, export the world as a Gaussian-splat SPZ file. In addition to SPZ, exports typically include a collision mesh (.glb), optional high-quality mesh, and panorama output, depending on the platform’s capabilities.
  • Why it matters: The SPZ export is the core deliverable for distributing your scene to other engines or viewers, while the collider mesh supports interactive navigation and physics. The SPZ format itself is a compressed, widely supported container for Gaussian splats, designed to be lightweight for web and runtime use. (github.com)
  • Expected outcome: You obtain a .spz file ready to drop into your project, plus accompanying assets (e.g., .glb collider mesh) as provided by the export pack.
  • Common pitfalls to avoid: Ensure you’re exporting with the correct scene scope (single scene vs. multi-scene) and verify that the collider and any additional meshes align spatially with the SPZ data. If you need tooling to inspect or convert SPZ files, there are open-source resources and converters in the ecosystem. (nianticlabs.github.io)

Step 6: Integrate SPZ into Your Project

  • What to do: Import the SPZ file into your target workflow. You can load SPZ data directly in some viewers and engines, or convert to a widely supported 3D format if needed. For web workflows, SPZs are often used in combination with GLB colliders and scene data to enable interactive experiences.
  • Why it matters: A clean integration ensures your Gaussian-splat world behaves as intended in real time, supports navigation, and preserves the fidelity of the original input. Industry tools in the Gaussian-splat ecosystem support SPZ and related formats for web and runtime use. (developer.playcanvas.com)
  • Expected outcome: A functional scene in your engine or viewer, with correct collision, materials, and lighting.
  • Common pitfalls to avoid: Mismatched coordinate systems or scale between the SPZ data and your engine can cause misalignment. If needed, consult SPZ tooling to inspect and adjust metadata. (nianticlabs.github.io)

Step 7: Validate and Iterate

  • What to do: Validate performance and visuals in your target platform; iterate on input, lighting, and export settings if necessary. If you encounter issues, revisit the source material or try alternate inputs to improve fidelity.
  • Why it matters: A robust validation loop ensures your final SPZ assets work reliably across browsers and engines, which is especially important for game development, architecture visualization, or VR experiences.
  • Expected outcome: A polished, explorable Gaussian-splat world that you can present or integrate into a larger project.
  • Common pitfalls to avoid: Skipping performance checks for large SPZ scenes can lead to slow interactions. For web-based workflows, consider starting with lighter SPZ variants and scaling up fidelity as needed. SPZ tooling and industry discussions emphasize preserving balance between detail and performance. (metaverse-standards.org)

Troubleshooting & Tips

A Gaussian splat scene of a ruined building in a 3DGS viewer Image: 3dgs viewer QIBWA66MsC.jpg by Jurdein, CC BY-SA 4.0, via Wikimedia Commons.

Spz Export and Import Troubles

  • Symptom: The SPZ file fails to load in target software or viewer.
  • Fix: Verify that you’re using the latest SPZ library compatibility (as SPZ formats see active development). Consider using a SPZ converter tool to inspect header information and metadata, then re-export if needed.
  • Symptom: The collider mesh is present but not aligned with the SPZ scene.
  • Fix: Recheck scene origin, units, and transform when exporting both SPZ and GLB. Adjust in your viewer/engine to align scales and orientation. The collaboration between SPZ data and collider meshes is a common workflow in Gaussian-splat pipelines. (developer.playcanvas.com)

Quality and Fidelity Tips

  • Tip: Input coverage improves fidelity; more views often yield richer splats and fewer holes in the final world. For context on how Gaussian splats represent scenes and why coverage matters, review SPZ documentation and related Gaussian-splat literature. (github.com)
  • Tip: Lighting and material tweaks in the preview stage can have a dramatic impact on perceived quality in the final SPZ export. The nature of Gaussian splats means shading decisions matter for realism. (metaverse-standards.org)

Performance and Web Considerations

  • Tip: Start with lighter SPZ exports for web previews and tests, then scale up fidelity for final production renditions. The SPZ format is designed to be compact and web-friendly, which is a core advantage for browser-based exploration. (github.com)
  • Tip: If you’re targeting game engines or web engines, test in-browser first to validate performance and user experience before importing into heavier toolchains. SPZs are commonly used in web contexts as open, compressible representations of 3D splats. (developer.playcanvas.com)

Next Steps

Advanced Techniques

  • Explore more complex inputs, such as multi-prompt scenes or layered prompts that yield richer materials and lighting in Gaussian-splat worlds. Marble3D supports exporting to common 3D downloads (GLB collision meshes, high-quality meshes, panorama images, and SPZ files) and can help you bring splat-based worlds into engines like Unity, Unreal, or Blender. This broadens the ways you can repurpose SPZ assets beyond browser previews. (marble3d.ai)
  • Consider leveraging SPZ tools for validation and conversion to ensure compatibility with your pipeline. The open-source SPZ ecosystem provides tooling to inspect and convert SPZ data. (nianticlabs.github.io)

Practical Integrations

  • Bring your SPZ-based worlds into your preferred 3D tooling or game pipelines. Because SPZ is designed for efficient representation of Gaussian splats, you can pair SPZ exports with GLB collider meshes and additional textures to achieve interactive experiences across platforms. Open ecosystems for Gaussian splatting discuss formats, compatibility, and conversion paths, including widely used tools and formats. (developer.playcanvas.com)

Related Resources

  • If you’re exploring further, check out neutral overviews of Gaussian splatting formats and SPZ in community resources and standardization discussions. These sources provide background on how SPZ fits into the broader 3D content creation landscape. (metaverse-standards.org)

Closing

By following this guide, you’ll understand what a spz file is, how to generate it from input materials using Marble3D, and how to bring Gaussian-splat worlds into your projects. The workflow from input to SPZ export enables efficient distribution of explorable 3D scenes that you can walk through and refine. Marble3D provides a practical, browser-based path from photo or prompt to a ready-to-export Gaussian-splat world, helping you accelerate your game prototyping, architectural visualizations, and creative workflows. For those ready to experiment, start by visiting Marble3D and exploring the playground to see how SPZ-based worlds come to life. (marble3d.ai)

If you’d like to continue exploring, Marble3D’s playground offers direct access to the export downloads described here, and you can dive deeper into the Gaussian-splat tooling ecosystem to tailor SPZ assets to your project needs. https://marble3d.ai/playground

Aisha Patel

Aisha Patel writes about 3D capture workflows: getting usable scenes out of ordinary phone photos, choosing the right views, and fixing the problems that show up when a photo becomes geometry.