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, 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. The current npm release is 2.3.1, published on October 1, 2026.
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. 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
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
World Labs Releases Spark V2.0
Spark v0.1.10 Adds SOGSv2 Compression and New Interactive Examples
Recent Job Openings


