Spark
Spark is World Labs' open source, MIT licensed 3D Gaussian Splatting renderer for three.js, with streamed level of detail for the web.
Location
United States
Platform
JavaScript library for three.js (r180 or later), installed from npm or loaded from a CDN, running in WebGL2 browsers on desktop, mobile and headsets
GPU
None published beyond WebGL2. Spark targets WebGL2, which its developers put at 98 percent or more of devices, including phones and VR headsets, and needs no WebGPU
Pricing
Free (open source)
License
MIT
Compare licence terms ↗
Best for
Rendering and animating Gaussian splats inside three.js web scenes
Updated
July 2026
Spark is an open source 3D Gaussian Splatting renderer for three.js, built by World Labs and released under the MIT licence. It launched as Forge in June 2025 and was renamed Spark later that month after a clash with another graphics company using the Forge name, moving to the @sparkjsdev/spark package on npm and the sparkjs.dev domain.
Spark plugs into the three.js rendering pipeline, so splats and meshes share one scene and several splat objects sort together correctly. It reads PLY including compressed PLY, SPZ up to version 4, SPLAT, KSPLAT and SOG files, can render several viewpoints at once, and treats every splat as editable, with real time colour editing, displacement, skeletal animation and a shader graph that creates and edits splats on the GPU.
Spark targets WebGL2 rather than WebGPU, which its developers put at 98 percent or more of devices, low powered phones included. It needs three.js r180 or later and installs from npm or loads as an ES module from a CDN, and its level of detail traversal runs in Rust compiled to WebAssembly.
Spark 2.0 arrived on April 14, 2026 with a streamable level of detail system. Each scene becomes a tree in which every parent is a merged, lower resolution version of its children, and Spark picks a slice through that tree for the current viewpoint within a fixed splat budget, such as 500,000 splats on a phone or 2.5 million on desktop. The .RAD format that shipped with it stores splats in 64K chunks that can be fetched by byte offset, so scenes of more than 100 million splats stream into a browser.
Later releases refine that system. Spark 2.2.0 brought faster level of detail traversal and Rust decoders in September 2026, and Spark 2.3.0 fixed on demand rendering for paged level of detail at the end of that month, adding credentialed and custom header loading and SPZ export of extended splats through writeSpz. Spark 2.4.0, published to npm on October 20, 2026, added SPZ v4 reading, moved paged level of detail loading behind a PagedSplatsFetcher interface, so data can come from an in-memory file, a URL or a custom fetcher passed through the new fetchSource option, and switched RAD and SPZ compression to the flate2 library, which its developers credit with about 50 percent faster RAD compression and about 20 percent faster decoding.
GitHub recognised Spark among the most influential open source projects showcased at GitHub Universe 2025, and other tools build on it, such as Andres Romero's splattie-widget, which drops a rigged splat into a web page with a single custom element. Voxel51's FiftyOne dataset toolkit renders Gaussian splats in its 3D viewer through Spark from FiftyOne 1.21.0, covering PLY, SPZ, SPLAT, KSPLAT, SOG and RAD files. AMD signed an agreement to acquire World Labs in September 2026, with closing expected by the end of the year.
Frequently Asked Questions
What is Spark?
Spark is an open source 3D Gaussian Splatting renderer for three.js, built by World Labs and released under the MIT licence. Spark renders splats alongside ordinary three.js meshes in a web page and reads PLY, SPZ, SPLAT, KSPLAT and SOG files.
Does Spark need WebGPU or a powerful GPU?
Spark runs on WebGL2 rather than WebGPU, which its developers put at 98 percent or more of devices, including phones and VR headsets. Spark's level of detail system holds each frame to a fixed splat budget, so large scenes stay interactive on low powered hardware.
Is Spark free for commercial use?
Spark is free and MIT licensed, which permits commercial use. Spark installs from npm as @sparkjsdev/spark or loads from a CDN as an ES module, and it needs three.js r180 or later.
How does Spark handle very large splat scenes?
Spark 2.0 added a level of detail tree and the .RAD format, which stores splats in 64K chunks that stream by byte offset. Spark therefore renders scenes of more than 100 million splats by loading only the detail the current view needs.
Was Spark previously called Forge?
Spark launched as Forge from World Labs in June 2025 and was renamed Spark that month because another graphics company used the Forge name. Projects move across by switching the package from @forge-gfx/forge to @sparkjsdev/spark.
Alternatives
Recent Headlines
AsterMaster Builds Destructible Boss Hulls Video Game From Splats
World Labs' Spark 2.4.0 Reads SPZ v4 Files
Voxel51 Launches 3.0 for Physical AI
WebODM 3.3.0 Brings Gaussian Splatting to Drone Mapping
NZZ Splats a Restricted Asylum Center on Samos
Spark v2.3.0 Fixes On-Demand Rendering for Paged LoD
Spark v2.2.0 Adds Faster LoD Traversal, Rust Decoders
three.js Ships Its Native Gaussian Splat Renderer and Splat Raycasting in r186
Chronosplat Plays 4D Gaussian Splat Sequences From Static Files in the Browser
Splattie Widget Makes Gaussian Splats Track the Cursor With One HTML Tag
Recent Job Openings


