
Kompakkt
Kompakkt is an open source browser viewer and repository from Cologne and TIB that displays and annotates Gaussian splats for cultural heritage.
Location
Cologne and Hannover, Germany
Size
Total raised
Hiring?
Platform
Browser, with a hosted instance at kompakkt.de. Self hosting runs the full stack through Docker Compose and Bun
GPU
None published. The browser viewer runs on Babylon.js and needs a WebGL2 capable GPU. A self hosted server needs no GPU
Pricing
Free, with no tiers and no paid plan. Self hosting costs only your own infrastructure
License
AGPL 3.0 for the viewer, repository and server. The Mono, Kompressor and Plugins repositories carry no licence file
Best for
Publishing and annotating heritage splats without a commercial host
Updated
July 2026
Kompakkt is an open source browser viewer, annotation system and media repository for 3D models, point clouds and gaussian splats. It is maintained jointly by the Department of Digital Humanities at the University of Cologne and the Open Science Lab at TIB in Hannover, funded through NFDI4Culture, and it is positioned openly as the alternative for institutions that want to publish 3D collections without handing them to a commercial host. The hosted instance carried 848 published objects at the start of August 2026.
Splat support is merged, live and no longer experimental. The first splat code landed in April 2025 alongside a Babylon.js version bump and was labelled experimental at the time. A pull request merged in June 2026 added the parts that matter, and the project announced the capability publicly in July. Rendering is Babylon.js GaussianSplattingMesh rather than a custom renderer, and the Explore page carries a dedicated filter for 3D Gaussian splats.
SPZ is the delivery format and everything normalises to it. Upload accepts spz, splat and spx in the browser, and ply on the server, with a preprocessing service converting each to spz. Neither sog nor ksplat is supported anywhere in the codebase. Objects can also be registered by HTTPS URL rather than uploaded, so an institution can keep a splat on its own server and only index it in Kompakkt, and a standalone web component embeds the viewer on any site with no Kompakkt account at all.
The capability that separates Kompakkt from a viewer is annotation on the splat itself. Ordinary ray and mesh intersection does not work against a splat cloud, so the June change added a screen space picker that walks the raw splat position buffer to find the nearest splat under the cursor, along with a dialog to reposition an annotation afterward. Annotations attach to points in 3D space, group into collections and support collaboration, which is the workflow a museum or archive needs and a generic viewer does not provide. Museums have been an obvious application for radiance fields since well before splats were practical.
Running your own instance takes Docker, Docker Compose, Bun and Git, and brings up the repository, viewer, server, MongoDB, a Redis compatible cache, a search index and the conversion services together. Two things are worth knowing first. The orchestration repository describes itself as a development environment and there is no published production deployment guide, and the three repositories a self hoster most needs, covering orchestration, preprocessing and plugins, carry no licence file at all while the rest of the project is AGPL 3.0. The user documentation also still lists supported formats without mentioning splats or point clouds.
Frequently Asked Questions
Does Kompakkt support Gaussian splatting?
Yes, and it is merged and live rather than experimental. Splats are a first class media type on the hosted instance, with a dedicated filter on the Explore page. Splat code first landed in April 2025 and was substantially extended by a pull request merged in June 2026.
Which splat formats does Kompakkt accept?
SPZ is the primary format and the one actually delivered to the browser. The upload interface also accepts splat and spx, and the server accepts ply, with a preprocessing service converting each to SPZ. Sog and ksplat are not supported.
What renders the splats in Kompakkt?
Babylon.js. The viewer uses the GaussianSplattingMesh type and Babylon's own splat loader rather than a custom renderer. Kompakkt's own importer work is for point clouds in COPC and LAZ, not for splats.
Can I annotate a Gaussian splat in Kompakkt?
Yes. Because splats cannot be picked by ordinary ray and mesh intersection, Kompakkt added a screen space picker that projects the raw splat position buffer to find the nearest splat under the cursor, together with a dialog to reposition the annotation afterward.
What does it take to run my own Kompakkt instance?
Docker, Docker Compose, Bun and Git. One orchestration repository brings up the repository, viewer, server, database, cache, search index and conversion services on localhost. No GPU is needed on the server, since the rendering happens in each visitor's browser.
Alternatives
Recent Headlines
Esri Adds Gaussian Splat Layers to the ArcGIS Maps SDKs for Native Apps at 300.1
A Photographer's Case for Single-Image Splats
NUBIGON Pro v7.5.2 Extends Clip Plane Support to Gaussian Splats
MPEG Calls for Dynamic Gaussian Splat Test Material Ahead of a Coding Call for Proposals
Terrasolid Adds Cut, Copy and Paste Point Tools to TerraScan for Gaussian Splat Editing
Scenario Adds Hosted 3D Gaussian Splat Generation With Tencent HY World
Mapmost SDK for WebGL Adds SOG Loading to Its 3DGS Layer in v9.15.0
Varjo Brings 360 Camera Capture to Teleport With Direct Insta360 File Upload
KIRI Engine Releases a Free MIT Licensed Gaussian Splat Renderer for After Effects
XGRIDS Brings 2D Photo Support and Drone RTK Optional in LCC Studio 2.2

