A WebGL2/WebGPU-powered framework for high-performance, large-scale data visualization in the browser.
deck.gl is a GPU-powered JavaScript framework for creating high-performance, large-scale data visualizations in web browsers. It solves the challenge of rendering and interacting with massive datasets by using WebGL2/WebGPU, providing a layer-based system to map data into visual elements like points, lines, and polygons. It is widely used for geospatial mapping, scientific visualization, and any application requiring complex, interactive data displays.
Frontend developers, data visualization engineers, and data scientists who need to build interactive, high-performance visualizations of large datasets for web applications, especially those involving maps or 3D scenes.
Developers choose deck.gl for its unparalleled performance with large datasets, its rich catalog of pre-built, customizable layers, and its seamless integration with mapping libraries and frameworks like React. Its extensible architecture allows for deep customization, making it suitable for both quick prototypes and complex, production-grade visualizations.
WebGL2 powered visualization framework
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Leverages WebGL2/WebGPU to render millions of data points smoothly, as highlighted in the README for handling large datasets with high performance.
Offers a catalog of pre-built layers like Scatterplot and GeoJson, enabling rapid composition of complex visualizations with minimal effort, as described in the layer-based architecture.
Provides out-of-the-box event handling for picking, highlighting, and filtering, making visualizations interactive without extra setup, as noted in the key features.
Available in JavaScript with React bindings, Python via pydeck, and third-party integrations for R and C++, broadening its use across different platforms, as listed in the flavors section.
Designed for customization with easily extendable core classes, allowing developers to create custom layers and rendering logic, as emphasized in the philosophy and README.
Requires understanding of WebGL concepts and layer APIs, making it challenging for developers new to graphics programming, despite the extensive documentation.
Heavily relies on modern WebGL2/WebGPU, limiting compatibility with older browsers or devices without GPU acceleration, which can restrict deployment options.
As a comprehensive framework, it adds significant size to web applications, potentially affecting load times and performance on bandwidth-constrained networks.