visgl/deck.gl

WebGL2 powered visualization framework

TypeScript

14,652

4,963 commits

updated Oct 11, 2026

See the code

README

version build downloads Coverage Status

deck.gl | Website

GPU-powered, highly performant large-scale data visualization

docs

deck.gl is designed to simplify high-performance, WebGL2/WebGPU based visualization of large data sets. Users can quickly get impressive visual results with minimal effort by composing existing layers, or leverage deck.gl's extensible architecture to address custom needs.

deck.gl maps data (usually an array of JSON objects) into a stack of visual layers - e.g. icons, polygons, texts; and look at them with views: e.g. map, first-person, orthographic.

deck.gl handles a number of challenges out of the box:

  • Performant rendering and updating of large data sets
  • Interactive event handling such as picking, highlighting and filtering
  • Cartographic projections and integration with major basemap providers
  • A catalog of proven, well-tested layers

Deck.gl is designed to be highly customizable. All layers come with flexible APIs to allow programmatic control of each aspect of the rendering. All core classes such are easily extendable by the users to address custom use cases.

Flavors

Script Tag

<script src="https://unpkg.com/deck.gl@latest/dist.min.js"></script>

NPM Module

npm install deck.gl

Pure JS

React

Python

pip install pydeck

Third-Party Goodies

Learning Resources

Contributing

deck.gl is part of vis.gl, an OpenJS Foundation project. Read the contribution guidelines if you are interested in contributing.

Attributions

Data sources

Data sources are listed in each example.

The deck.gl project is supported by

BrowserStack

data-visualization
geospatial-analysis
javascript
maps
python
visualization
webgl

visgl/deck.gl

WebGL2 powered visualization framework

TypeScript

14,652

4,963 commits

updated Oct 11, 2026

See the code

README

version build downloads Coverage Status

deck.gl | Website

GPU-powered, highly performant large-scale data visualization

docs

deck.gl is designed to simplify high-performance, WebGL2/WebGPU based visualization of large data sets. Users can quickly get impressive visual results with minimal effort by composing existing layers, or leverage deck.gl's extensible architecture to address custom needs.

deck.gl maps data (usually an array of JSON objects) into a stack of visual layers - e.g. icons, polygons, texts; and look at them with views: e.g. map, first-person, orthographic.

deck.gl handles a number of challenges out of the box:

  • Performant rendering and updating of large data sets
  • Interactive event handling such as picking, highlighting and filtering
  • Cartographic projections and integration with major basemap providers
  • A catalog of proven, well-tested layers

Deck.gl is designed to be highly customizable. All layers come with flexible APIs to allow programmatic control of each aspect of the rendering. All core classes such are easily extendable by the users to address custom use cases.

Flavors

Script Tag

<script src="https://unpkg.com/deck.gl@latest/dist.min.js"></script>

NPM Module

npm install deck.gl

Pure JS

React

Python

pip install pydeck

Third-Party Goodies

Learning Resources

Contributing

deck.gl is part of vis.gl, an OpenJS Foundation project. Read the contribution guidelines if you are interested in contributing.

Attributions

Data sources

Data sources are listed in each example.

The deck.gl project is supported by

BrowserStack

data-visualization
geospatial-analysis
javascript
maps
python
visualization
webgl

Project health

Overall

6.3/10

Maintained

10/10

Code review

9/10

Contributors

10/10
OpenSSF Scorecard

Latest release

9.4.0 · Sep 5, 2026

Releases this year

23

Significant stargazers

(top 24 of 89)

Sebastiaan van Stijn

1,978 followers · starred Apr 2017

Sylvain Corlay

936 followers · starred Aug 2020

Devon Govett

3,882 followers · starred Nov 2016

Jeremy Tuloup

995 followers · starred Apr 2023