Skip to content
JS
Package category

3D, WebGL and game engines

Three.js, Babylon, WebGL, canvas and game development.

658 packages25 comparisons

Packages compared

658 packages
PackageWeekly downloads12-month change52 weeksGzipLast releaseModuleTypesCategories
matter-js
a 2D rigid body physics engine for the web
240.3k+110%--
0.20.0
CommonJSNone3D, WebGL and game engines
sigma
A JavaScript library aimed at visualizing graphs of thousands of nodes and edges.
232.7k+729%-4 months ago
3.0.3
ESM + CommonJSBundled3D, WebGL and game engines, Charts and data visualisation
@cesium/widgets
A widgets library for use with CesiumJS. CesiumJS is a JavaScript library for creating 3D globes and 2D maps in a web browser without a plugin.
230.3k---23 days ago
16.2.0
ESM onlyBundled3D, WebGL and game engines, Maps and geolocation
three-globe
Globe data visualization as a ThreeJS reusable 3D object
228.9k+256%-5 months ago
2.45.2
ESM onlyBundled3D, WebGL and game engines, Charts and data visualisation
dom-to-image
Generates an image from a DOM node using HTML5 canvas and SVG
227.9k+17%-8 years ago
2.6.0
CommonJSNoneImage processing, DOM and browser utilities
three-geojson-geometry
ThreeJS geometry for stroking GeoJSON objects on a sphere
224.5k+246%-1 year ago
2.1.1
ESM onlyBundled3D, WebGL and game engines, Maps and geolocation
@loaders.gl/geoarrow
GeoArrow columnar geometry encoding and decoding
209k---5 days ago
4.5.2
ESM + CommonJSBundledParsers and serialisers, 3D, WebGL and game engines
three-slippy-map-globe
Tiled maps on a globe as a ThreeJS reusable 3D object
205.4k+382%-5 months ago
1.0.6
ESM onlyBundled3D, WebGL and game engines, Charts and data visualisation
shaders
The design platform for web shaders
192.2k+28359%-14 days ago
3.2.470
ESM + CommonJSBundled3D, WebGL and game engines
@babylonjs/loaders
For usage documentation please visit https://doc.babylonjs.com/features/featuresDeepDive/importers/loadingFileTypes/.
183.1k---1 day ago
9.28.0
ESM onlyBundled3D, WebGL and game engines
babylonjs-gltf2interface
A typescript declaration of babylon's gltf2 interface.
180.5k+204%-1 day ago
9.28.0
-Bundled3D, WebGL and game engines, TypeScript tooling
deck.gl
A suite of 3D-enabled data visualization overlays, suitable for react-map-gl
177.1k+22%-19 days ago
9.4.0
ESM + CommonJSBundled3D, WebGL and game engines, Charts and data visualisation
@deck.gl/json
JSON format rendering components for deck.gl
172.7k---19 days ago
9.4.0
ESM + CommonJSBundled3D, WebGL and game engines, Charts and data visualisation
@sparkjsdev/spark
An advanced 3D Gaussian Splatting renderer for THREE.js
171.8k---13 days ago
2.2.0
ESM + CommonJSBundled3D, WebGL and game engines
skia-canvas
A multi-threaded, GPU-accelerated, Canvas API for Node
170.3k+70%-11 months ago
3.0.8
ESM + CommonJSBundled3D, WebGL and game engines, PDF and documents
viewport-mercator-project
Utilities for perspective-enabled Web Mercator projections
168.5k-24%--
7.0.4
ESM + CommonJSBundled3D, WebGL and game engines
expo-gl
Provides GLView that acts as OpenGL ES render target and gives GL context object implementing WebGL 2.0 specification.
166.9k+643%-2 months ago
57.0.2
CommonJSBundled3D, WebGL and game engines, React
globe.gl
UI component for Globe Data Visualization using ThreeJS/WebGL
165.2k+335%-1 month ago
2.46.2
ESM onlyBundled3D, WebGL and game engines, Charts and data visualisation
quadbin
Utility functions for working with Quadbins
162.6k+37%-1 year ago
0.4.2
ESM + CommonJSBundled3D, WebGL and game engines, Charts and data visualisation
react-force-graph-3d
React component for 3D force directed graphs
162.5k+1095%-7 months ago
1.29.1
ESM onlyBundled3D, WebGL and game engines, React
@kitware/vtk.js
Visualization Toolkit for the Web
160k---1 day ago
37.3.0
ESM onlyBundled3D, WebGL and game engines
react-canvas-confetti
React component for canvas-confetti library
146.9k+75%-2 years ago
2.0.7
CommonJSBundledReact, 3D, WebGL and game engines
fast-average-color
A simple library that calculates the average color of images, videos and canvas in browser environment.
144.2k+95%--
9.6.0
ESM + CommonJSBundled3D, WebGL and game engines, Video and audio
occt-import-js
Javascript interface for the occt library.
143.2k+3140%-1 year ago
0.0.23
CommonJSNone3D, WebGL and game engines
phenomenon
A fast 2kB low-level WebGL API.
130.7k+173%-7 years ago
1.6.0
CommonJSBundled3D, WebGL and game engines
shader-loader
glsl loader for webpack working with chunks (inspired by ShaderLoader from cabbibo)
121.9k+203%-9 years ago
1.3.1
CommonJSNone3D, WebGL and game engines
wgpu-matrix
fast matrix math library for WebGPU
120.2k+2848%-7 months ago
3.4.2
ESM onlyBundled3D, WebGL and game engines
@pixi/assets
Asset manager for PixiJS, loading resolving and Cacheing
120k---1 year ago
7.4.3
ESM + CommonJSBundled3D, WebGL and game engines, Caching
@vgpu/adapter-node
Node.js GPU adapter for vgpu, using Dawn-based WebGPU bindings.
116.8k---10 days ago
0.5.0
ESM onlyBundled3D, WebGL and game engines
manifold-3d
Geometry library for topological robustness
112.2k+3173%--
3.5.3
ESM onlyBundled3D, WebGL and game engines
three-spritetext
A sprite based text component for ThreeJS
111.7k+487%-1 year ago
1.10.0
ESM onlyBundled3D, WebGL and game engines
@deck.gl/arcgis
Use deck.gl as a custom ArcGIS API for JavaScript layer
111.6k---19 days ago
9.4.0
ESM + CommonJSBundled3D, WebGL and game engines, Charts and data visualisation
ngx-lottie
<h1 align="center"> <img src="https://raw.githubusercontent.com/ngx-lottie/ngx-lottie/refs/heads/master/docs/assets/logo.png"> </h1>
110.3k+23%-2 months ago
22.0.0
ESM onlyBundledAnimation, Angular
gltf-validator
Library for validating glTF 2.0 assets, compiled from Dart to JS.
108.5k+525%-1 year ago
2.0.0-dev.3.10
ESM + CommonJSNone3D, WebGL and game engines
@vgpu/wgsl
WGSL shader compilation, runtime resolution, and webpack/vite loaders for vgpu.
106.5k---10 days ago
0.5.0
ESM + CommonJSBundled3D, WebGL and game engines, Bundler plugins and loaders
react-globe.gl
React component for Globe Data Visualization using ThreeJS/WebGL
106k+256%-4 months ago
2.38.0
ESM onlyBundled3D, WebGL and game engines, React
@vgpu/adapter-mock
Mock GPU adapter for testing vgpu code without real WebGPU hardware.
105.7k---10 days ago
0.5.0
ESM onlyBundledTesting, 3D, WebGL and game engines
@vgpu/wgsl-std
Pure WGSL utility snippets for vgpu shaders.
104.3k---10 days ago
0.5.0
ESM onlyNone3D, WebGL and game engines
@luma.gl/gltools
WebGL2 API Polyfills for WebGL1 WebGLRenderingContext
102.8k---3 years ago
8.5.21
ESM + CommonJSBundled3D, WebGL and game engines, Polyfills and shims
@pixi/text-html
Multi-Style Text Rendering Plugin for PixiJS
100.8k---1 year ago
7.4.3
ESM + CommonJSBundled3D, WebGL and game engines
@comfyorg/fbx-exporter-three
FBX exporter for three.js scenes — binary FBX writer with full skinning, animation, morph targets, lights, cameras and texture embedding.
95.6k---2 days ago
1.0.2
ESM onlyBundled3D, WebGL and game engines, Animation
canvas-size
Determine the maximum area, height, width, and custom dimensions of an HTML canvas element.
93.7k+139%-2 years ago
2.0.0
ESM onlyNone3D, WebGL and game engines, Testing
fireworks-js
A simple fireworks library!
91.9k+192%-2 years ago
2.10.8
ESM + CommonJSBundledAnimation, 3D, WebGL and game engines
js-confetti
JS Confetti library with zero dependencies, works without any config, TS typings included, adapts to user screen
91.4k+44%--
0.13.1
ESM + CommonJSBundled3D, WebGL and game engines, Animation
vite-plugin-glsl
Import, inline (and minify) GLSL/WGSL/Slang shader files
91.1k+51%-2 months ago
1.6.1
ESM onlyBundled3D, WebGL and game engines, Bundler plugins and loaders
@xterm/addon-canvas
An addon for [xterm.js](https://github.com/xtermjs/xterm.js) that enables a canvas-based renderer using a 2d context to draw. This addon requires xterm.js v5+.
88.4k---2 years ago
0.7.0
CommonJSBundledCLI tools and terminal utilities, 3D, WebGL and game engines
3d-tiles-renderer
https://github.com/AnalyticalGraphicsInc/3d-tiles/tree/master/specification
88.1k+1291%-7 days ago
0.5.3
ESM onlyBundled3D, WebGL and game engines
cannon-es
A lightweight 3D physics engine written in JavaScript.
85.5k+61%-4 years ago
0.20.0
ESM + CommonJSBundled3D, WebGL and game engines
three-bvh-csg
A fast, flexible, dynamic CSG implementation on top of three-mesh-bvh
85k+558%-7 months ago
0.0.18
ESM + CommonJSBundled3D, WebGL and game engines
pixi-viewport
A highly configurable viewport/2D camera designed to work with pixi.js. Features include dragging, pinch-to-zoom, mouse wheel zooming, decelerated dragging, follow target, snap to point, snap to zoom, clamping, bouncing on edges, and move on mouse edges.
84.4k+150%-1 year ago
6.0.3
ESM + CommonJSBundled3D, WebGL and game engines

12-month change compares the average of the last 4 weeks of downloads with the first 4 weeks of the 52-week series. Gzip size is for the whole package, as measured by Bundlephobia. "-" means the value has not been fetched.

  • matter-jsa 2D rigid body physics engine for the web
  • sigmaA JavaScript library aimed at visualizing graphs of thousands of nodes and edges.
  • @cesium/widgetsA widgets library for use with CesiumJS. CesiumJS is a JavaScript library for creating 3D globes and 2D maps in a web browser without a plugin.
  • three-globeGlobe data visualization as a ThreeJS reusable 3D object
  • dom-to-imageGenerates an image from a DOM node using HTML5 canvas and SVG
  • three-geojson-geometryThreeJS geometry for stroking GeoJSON objects on a sphere
  • @loaders.gl/geoarrowGeoArrow columnar geometry encoding and decoding
  • three-slippy-map-globeTiled maps on a globe as a ThreeJS reusable 3D object
  • shadersThe design platform for web shaders
  • @babylonjs/loadersFor usage documentation please visit https://doc.babylonjs.com/features/featuresDeepDive/importers/loadingFileTypes/.
  • babylonjs-gltf2interfaceA typescript declaration of babylon's gltf2 interface.
  • deck.glA suite of 3D-enabled data visualization overlays, suitable for react-map-gl
  • @deck.gl/jsonJSON format rendering components for deck.gl
  • @sparkjsdev/sparkAn advanced 3D Gaussian Splatting renderer for THREE.js
  • skia-canvasA multi-threaded, GPU-accelerated, Canvas API for Node
  • viewport-mercator-projectUtilities for perspective-enabled Web Mercator projections
  • expo-glProvides GLView that acts as OpenGL ES render target and gives GL context object implementing WebGL 2.0 specification.
  • globe.glUI component for Globe Data Visualization using ThreeJS/WebGL
  • quadbinUtility functions for working with Quadbins
  • react-force-graph-3dReact component for 3D force directed graphs
  • @kitware/vtk.jsVisualization Toolkit for the Web
  • react-canvas-confettiReact component for canvas-confetti library
  • fast-average-colorA simple library that calculates the average color of images, videos and canvas in browser environment.
  • occt-import-jsJavascript interface for the occt library.
  • phenomenonA fast 2kB low-level WebGL API.
  • shader-loaderglsl loader for webpack working with chunks (inspired by ShaderLoader from cabbibo)
  • wgpu-matrixfast matrix math library for WebGPU
  • @pixi/assetsAsset manager for PixiJS, loading resolving and Cacheing
  • @vgpu/adapter-nodeNode.js GPU adapter for vgpu, using Dawn-based WebGPU bindings.
  • manifold-3dGeometry library for topological robustness
  • three-spritetextA sprite based text component for ThreeJS
  • @deck.gl/arcgisUse deck.gl as a custom ArcGIS API for JavaScript layer
  • ngx-lottie<h1 align="center"> <img src="https://raw.githubusercontent.com/ngx-lottie/ngx-lottie/refs/heads/master/docs/assets/logo.png"> </h1>
  • gltf-validatorLibrary for validating glTF 2.0 assets, compiled from Dart to JS.
  • @vgpu/wgslWGSL shader compilation, runtime resolution, and webpack/vite loaders for vgpu.
  • react-globe.glReact component for Globe Data Visualization using ThreeJS/WebGL
  • @vgpu/adapter-mockMock GPU adapter for testing vgpu code without real WebGPU hardware.
  • @vgpu/wgsl-stdPure WGSL utility snippets for vgpu shaders.
  • @luma.gl/gltoolsWebGL2 API Polyfills for WebGL1 WebGLRenderingContext
  • @pixi/text-htmlMulti-Style Text Rendering Plugin for PixiJS
  • @comfyorg/fbx-exporter-threeFBX exporter for three.js scenes — binary FBX writer with full skinning, animation, morph targets, lights, cameras and texture embedding.
  • canvas-sizeDetermine the maximum area, height, width, and custom dimensions of an HTML canvas element.
  • fireworks-jsA simple fireworks library!
  • js-confettiJS Confetti library with zero dependencies, works without any config, TS typings included, adapts to user screen
  • vite-plugin-glslImport, inline (and minify) GLSL/WGSL/Slang shader files
  • @xterm/addon-canvasAn addon for [xterm.js](https://github.com/xtermjs/xterm.js) that enables a canvas-based renderer using a 2d context to draw. This addon requires xterm.js v5+.
  • 3d-tiles-rendererhttps://github.com/AnalyticalGraphicsInc/3d-tiles/tree/master/specification
  • cannon-esA lightweight 3D physics engine written in JavaScript.
  • three-bvh-csgA fast, flexible, dynamic CSG implementation on top of three-mesh-bvh
  • pixi-viewportA highly configurable viewport/2D camera designed to work with pixi.js. Features include dragging, pinch-to-zoom, mouse wheel zooming, decelerated dragging, follow target, snap to point, snap to zoom, clamping, bouncing on edges, and move on mouse edges.