Package category
3D, WebGL and game engines
Three.js, Babylon, WebGL, canvas and game development.
658 packages25 comparisons
Packages compared
658 packages
| Package | Weekly downloads | 12-month change | 52 weeks | Gzip | Last release | Module | Types | Categories |
|---|---|---|---|---|---|---|---|---|
| glsl-fractal-brownian-noise fractal brownian noise, glslify compatible | 19.2k | +32% | - | 8 years ago 1.1.0 | CommonJS | None | 3D, WebGL and game engines | |
| extract-frustum-planes Extracts the planes for a WebGL viewing frustum | 19.2k | -29% | - | 12 years ago 1.0.0 | CommonJS | None | 3D, WebGL and game engines | |
| @loaders.gl/arrow Simple columnar table loader for the Apache Arrow format | 19.2k | - | - | - | 5 days ago 4.5.2 | ESM + CommonJS | Bundled | Parsers and serialisers, 3D, WebGL and game engines |
| @splinetool/viewer Spline is a collaborative design platform for creating production-ready interactive experiences in multiple dimensions. © 2025 Spline, Inc. | 19k | - | - | - | 1 day ago 2.0.57 | ESM + CommonJS | Bundled | 3D, WebGL and game engines |
| gl-pointcloud2d 2D WebGL point cloud plots | 18.9k | -29% | - | 6 years ago 1.0.3 | CommonJS | None | 3D, WebGL and game engines | |
| ai-motion A minimal WebGL2 ESM library for AI-style motion mask animation. | 18.8k | +19789% | - | 8 months ago 0.4.8 | ESM only | Bundled | Animation, 3D, WebGL and game engines | |
| gl-spikes2d Axes spikes for 2d webgl plots | 18.8k | -28% | - | 7 years ago 1.0.2 | CommonJS | None | 3D, WebGL and game engines | |
| @tresjs/cientos Collection of useful helpers and fully functional, ready-made abstractions for Tres | 18.6k | - | - | - | 11 days ago 5.9.0 | ESM only | Bundled | 3D, WebGL and game engines, Vue |
| @deck.gl/maplibre Use deck.gl layers with MapLibre GL JS | 18.3k | - | - | - | 19 days ago 9.4.0 | ESM only | Bundled | 3D, WebGL and game engines, Charts and data visualisation |
| glsl-out-of-range Functions to test if a point is outside ranges, namely useful for 3D/2D scenes that may have reversed bounds | 18k | -33% | - | 7 years ago 1.0.4 | CommonJS | None | 3D, WebGL and game engines | |
| extrude-polyline triangulates a 2D polyline into a stroke | 17.7k | -53% | - | 11 years ago 1.0.6 | CommonJS | None | 3D, WebGL and game engines | |
| @photo-sphere-viewer/equirectangular-video-adapter Photo Sphere Viewer adapter to display equirectangular videos. | 17.7k | - | - | - | 1 month ago 5.15.1 | ESM + CommonJS | Bundled | 3D, WebGL and game engines |
| three-csg-ts CSG library for use with THREE.js | 17.5k | +108% | - | 2 years ago 3.2.0 | ESM + CommonJS | Bundled | 3D, WebGL and game engines | |
| babylonjs > We recommend using the [ES6 package `@babylonjs/core`](https://www.npmjs.com/package/@babylonjs/core) for new projects. This UMD package is provided for compatibility. | 16.9k | +1% | - | 1 day ago 9.28.0 | CommonJS | Bundled | 3D, WebGL and game engines | |
| @babylonjs/addons A collection of addons and extensions for Babylon.js. | 16.5k | - | - | - | 1 day ago 9.28.0 | ESM only | Bundled | 3D, WebGL and game engines |
| aframe-extras Add-ons and examples for A-Frame VR. | 16.4k | -11% | - | 5 months ago 7.7.0 | CommonJS | None | 3D, WebGL and game engines | |
| @takram/three-geospatial Provides fundamental functions for rendering GIS data in Three.js and R3F | 16.2k | - | - | - | 4 months ago 0.9.1 | ESM + CommonJS | Bundled | 3D, WebGL and game engines |
| wordcloud Tag cloud/Wordle presentation on 2D canvas or HTML | 16.1k | -18% | - | - 1.2.3 | CommonJS | None | 3D, WebGL and game engines | |
| @nebula.gl/layers A suite of 3D-enabled data editing layers, suitable for deck.gl | 16.1k | - | - | - | 3 years ago 1.0.4 | ESM + CommonJS | Bundled | 3D, WebGL and game engines |
| gpu.js GPU Accelerated JavaScript | 15.8k | +149% | - | 1 day ago 2.24.1 | CommonJS | Bundled | 3D, WebGL and game engines | |
| vitest-webgl-canvas-mock Mock both 2D and WebGL contexts in Vitest. | 15.7k | +23% | - | 3 years ago 1.1.0 | ESM only | Bundled | 3D, WebGL and game engines, Testing | |
| three.meshline Mesh replacement for THREE.Line | 15.6k | +82% | - | 4 years ago 1.4.0 | CommonJS | None | 3D, WebGL and game engines | |
| @pmndrs/msdfonts base64 msdf fonts distributed as npm package | 15.5k | - | - | - | 23 days ago 1.0.76 | ESM only | Bundled | 3D, WebGL and game engines |
| @photo-sphere-viewer/video-plugin Photo Sphere Viewer plugin to add video controls. | 15.5k | - | - | - | 1 month ago 5.15.1 | ESM + CommonJS | Bundled | 3D, WebGL and game engines |
| aframe-forcegraph-component A 3D Force-Directed Graph component for A-Frame. | 15.3k | -17% | - | 1 year ago 3.3.0 | ESM only | None | 3D, WebGL and game engines, Charts and data visualisation | |
| @speckle/shared Shared code between various Speckle JS packages | 15.2k | - | - | - | 3 months ago 2.31.14 | ESM + CommonJS | Bundled | 3D, WebGL and game engines |
| mapillary-js A WebGL interactive street imagery library | 15k | +124% | - | 2 years ago 4.1.2 | ESM only | Bundled | 3D, WebGL and game engines, TypeScript tooling | |
| pixi-live2d-display Live2D plugin for PixiJS | 14.6k | +605% | - | - 0.4.0 | ESM + CommonJS | Bundled | 3D, WebGL and game engines | |
| three-orbit-controls orbit controls for ThreeJS | 14.5k | -29% | - | 9 years ago 82.1.0 | CommonJS | None | 3D, WebGL and game engines | |
| 3d-force-graph-vr UI component for a 3D force-directed graph in VR | 14.2k | -10% | - | 1 month ago 3.1.2 | ESM only | Bundled | 3D, WebGL and game engines, Charts and data visualisation | |
| kepler.gl kepler.gl is a webgl based application to visualize large scale location data in the browser | 13.8k | +200% | - | 5 days ago 3.3.0-alpha.13 | CommonJS | Bundled | Charts and data visualisation, 3D, WebGL and game engines | |
| 3d-force-graph-ar UI component for a 3D force-directed graph in AR | 13.6k | -13% | - | 1 year ago 1.10.0 | ESM only | Bundled | 3D, WebGL and game engines, Charts and data visualisation | |
| @photo-sphere-viewer/resolution-plugin Photo Sphere Viewer plugin that adds a setting to choose between multiple resolutions of the panorama. | 13.6k | - | - | - | 1 month ago 5.15.1 | ESM + CommonJS | Bundled | 3D, WebGL and game engines |
| react-force-graph React component for 2D, 3D, VR and AR force directed graphs | 13.6k | -18% | - | 7 months ago 1.48.2 | ESM only | Bundled | 3D, WebGL and game engines, React | |
| supervision Browser-native computer vision media rendering and annotation engine. | 13.2k | +222654% | - | 4 days ago 0.2.3 | ESM only | Bundled | 3D, WebGL and game engines, TypeScript tooling | |
| @takram/three-atmosphere A Three.js and R3F implementation of Precomputed Atmospheric Scattering | 13.1k | - | - | - | 4 months ago 0.19.1 | ESM + CommonJS | Bundled | 3D, WebGL and game engines |
| pixi-spine Pixi integration with EsotericSoftware Spine, big, contains all runtimes | 12.8k | -24% | - | - 4.0.6 | ESM + CommonJS | Bundled | 3D, WebGL and game engines | |
| @pmndrs/uikit-pub-sub allows to publish to any property at any time and subscribe to any property to consume the latest values and all subsequent updates. | 12.8k | - | - | - | 23 days ago 1.0.76 | ESM only | Bundled | 3D, WebGL and game engines, TypeScript tooling |
| terriajs-cesium CesiumJS is a JavaScript library for creating 3D globes and 2D maps in a web browser without a plugin. | 12.5k | +811% | - | 3 months ago 26.0.0 | ESM only | Bundled | 3D, WebGL and game engines | |
| dygraphs dygraphs is a fast, flexible open source JavaScript charting library. | 12.2k | +23% | - | 1 month ago 2.2.2 | ESM + CommonJS | None | Charts and data visualisation, 3D, WebGL and game engines | |
| @speckle/viewer A 3d viewer for Speckle, based on threejs. | 12.1k | - | - | - | 3 months ago 2.31.14 | ESM only | Bundled | 3D, WebGL and game engines |
| @pmndrs/detect-gpu Classify GPU's based on their benchmark score in order to provide an adaptive experience. | 12k | - | - | - | 5 days ago 6.0.23 | ESM only | Bundled | 3D, WebGL and game engines |
| @luma.gl/effects Post-processing effects for luma.gl | 11.9k | - | - | - | 5 days ago 9.4.2 | ESM + CommonJS | Bundled | 3D, WebGL and game engines |
| universalviewer The Universal Viewer is a community-developed open source project on a mission to help you share your 📚📜📰📽️📻🗿 with the 🌎 | 11.9k | +13% | - | - 4.4.4 | ESM + CommonJS | Bundled | PDF and documents, 3D, WebGL and game engines | |
| @photo-sphere-viewer/virtual-tour-plugin Photo Sphere Viewer plugin to create virtual tours by linking multiple panoramas. | 11.9k | - | - | - | 1 month ago 5.15.1 | ESM + CommonJS | Bundled | 3D, WebGL and game engines |
| butterchurn Butterchurn is a WebGL implementation of the Milkdrop Visualizer | 11.9k | +290% | - | 7 years ago 2.6.7 | CommonJS | None | 3D, WebGL and game engines | |
| twgl-base.js A Tiny WebGL helper library | 11.8k | +2% | - | 3 years ago 5.5.3 | ESM + CommonJS | Bundled | 3D, WebGL and game engines | |
| @photo-sphere-viewer/settings-plugin Photo Sphere Viewer configurable plugin that adds a button to access various settings. | 11.6k | - | - | - | 1 month ago 5.15.1 | ESM + CommonJS | Bundled | 3D, WebGL and game engines |
| gl-wiretap A gl debugger that listens and replays gl (WebGL, WebGL2, and HeadlessGL) gpu commands | 11.5k | +111% | - | 6 years ago 0.6.2 | CommonJS | None | 3D, WebGL and game engines | |
| svelte-konva A Svelte wrapper for Konva | 11.4k | +488% | - | 11 months ago 1.0.1 | ESM only | Bundled | Svelte, 3D, 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.
- glsl-fractal-brownian-noisefractal brownian noise, glslify compatible
- extract-frustum-planesExtracts the planes for a WebGL viewing frustum
- @loaders.gl/arrowSimple columnar table loader for the Apache Arrow format
- @splinetool/viewerSpline is a collaborative design platform for creating production-ready interactive experiences in multiple dimensions. © 2025 Spline, Inc.
- gl-pointcloud2d2D WebGL point cloud plots
- ai-motionA minimal WebGL2 ESM library for AI-style motion mask animation.
- gl-spikes2dAxes spikes for 2d webgl plots
- @tresjs/cientosCollection of useful helpers and fully functional, ready-made abstractions for Tres
- @deck.gl/maplibreUse deck.gl layers with MapLibre GL JS
- glsl-out-of-rangeFunctions to test if a point is outside ranges, namely useful for 3D/2D scenes that may have reversed bounds
- extrude-polylinetriangulates a 2D polyline into a stroke
- @photo-sphere-viewer/equirectangular-video-adapterPhoto Sphere Viewer adapter to display equirectangular videos.
- three-csg-tsCSG library for use with THREE.js
- babylonjs> We recommend using the [ES6 package `@babylonjs/core`](https://www.npmjs.com/package/@babylonjs/core) for new projects. This UMD package is provided for compatibility.
- @babylonjs/addonsA collection of addons and extensions for Babylon.js.
- aframe-extrasAdd-ons and examples for A-Frame VR.
- @takram/three-geospatialProvides fundamental functions for rendering GIS data in Three.js and R3F
- wordcloudTag cloud/Wordle presentation on 2D canvas or HTML
- @nebula.gl/layersA suite of 3D-enabled data editing layers, suitable for deck.gl
- gpu.jsGPU Accelerated JavaScript
- vitest-webgl-canvas-mockMock both 2D and WebGL contexts in Vitest.
- three.meshlineMesh replacement for THREE.Line
- @pmndrs/msdfontsbase64 msdf fonts distributed as npm package
- @photo-sphere-viewer/video-pluginPhoto Sphere Viewer plugin to add video controls.
- aframe-forcegraph-componentA 3D Force-Directed Graph component for A-Frame.
- @speckle/sharedShared code between various Speckle JS packages
- mapillary-jsA WebGL interactive street imagery library
- pixi-live2d-displayLive2D plugin for PixiJS
- three-orbit-controlsorbit controls for ThreeJS
- 3d-force-graph-vrUI component for a 3D force-directed graph in VR
- kepler.glkepler.gl is a webgl based application to visualize large scale location data in the browser
- 3d-force-graph-arUI component for a 3D force-directed graph in AR
- @photo-sphere-viewer/resolution-pluginPhoto Sphere Viewer plugin that adds a setting to choose between multiple resolutions of the panorama.
- react-force-graphReact component for 2D, 3D, VR and AR force directed graphs
- supervisionBrowser-native computer vision media rendering and annotation engine.
- @takram/three-atmosphereA Three.js and R3F implementation of Precomputed Atmospheric Scattering
- pixi-spinePixi integration with EsotericSoftware Spine, big, contains all runtimes
- @pmndrs/uikit-pub-suballows to publish to any property at any time and subscribe to any property to consume the latest values and all subsequent updates.
- terriajs-cesiumCesiumJS is a JavaScript library for creating 3D globes and 2D maps in a web browser without a plugin.
- dygraphsdygraphs is a fast, flexible open source JavaScript charting library.
- @speckle/viewerA 3d viewer for Speckle, based on threejs.
- @pmndrs/detect-gpuClassify GPU's based on their benchmark score in order to provide an adaptive experience.
- @luma.gl/effectsPost-processing effects for luma.gl
- universalviewerThe Universal Viewer is a community-developed open source project on a mission to help you share your 📚📜📰📽️📻🗿 with the 🌎
- @photo-sphere-viewer/virtual-tour-pluginPhoto Sphere Viewer plugin to create virtual tours by linking multiple panoramas.
- butterchurnButterchurn is a WebGL implementation of the Milkdrop Visualizer
- twgl-base.jsA Tiny WebGL helper library
- @photo-sphere-viewer/settings-pluginPhoto Sphere Viewer configurable plugin that adds a button to access various settings.
- gl-wiretapA gl debugger that listens and replays gl (WebGL, WebGL2, and HeadlessGL) gpu commands
- svelte-konvaA Svelte wrapper for Konva
- html-to-image vs dom-to-image
- canvg vs dom-to-image
- canvg vs html-to-image
- echarts vs lightweight-charts
- canvg vs zrender
- chart.js vs lightweight-charts
- html-to-image vs node-vibrant
- konva vs @lottiefiles/dotlottie-web
- @deck.gl/core vs three-globe
- @deck.gl/core vs sigma
- @lottiefiles/dotlottie-web vs animejs
- konva vs animejs
- 3d-force-graph vs sigma
- zrender vs dom-to-image
- canvas-confetti vs @lottiefiles/dotlottie-web
- html-to-image vs zrender
- node-vibrant vs dom-to-image
- canvas-confetti vs konva
- @napi-rs/canvas vs skia-canvas
- @deck.gl/core vs 3d-force-graph
- @react-three/postprocessing vs react-globe.gl
- @deck.gl/core vs globe.gl
- canvas-confetti vs animejs
- mapbox-gl vs @cesium/engine
- @react-three/postprocessing vs 3d-force-graph