# Kepler.gl — Open Source Geospatial Data Visualization > A powerful open-source tool for large-scale geospatial data visualization built on deck.gl and Mapbox GL. ## Install Save in your project root: # Kepler.gl — Open Source Geospatial Data Visualization ## Quick Use ```bash npm install kepler.gl react react-dom redux react-redux ``` ```javascript import KeplerGl from 'kepler.gl'; import { createStore, combineReducers } from 'redux'; import keplerGlReducer from 'kepler.gl/reducers'; const store = createStore(combineReducers({ keplerGl: keplerGlReducer })); // Render ``` ## Introduction Kepler.gl is a data-agnostic, GPU-powered geospatial analysis tool originally developed at Uber. It lets you drag and drop CSV, GeoJSON, or Arrow files onto a map and instantly see patterns with heatmaps, arcs, hexbins, and 3D extrusions without writing code. ## What Kepler.gl Does - Renders millions of data points at interactive frame rates using GPU-based WebGL rendering - Provides a visual layer editor for points, arcs, lines, hexbins, heatmaps, and polygons - Supports time-series playback to animate spatial data over time intervals - Offers data filtering, color mapping, and size scaling via a sidebar UI - Exports shareable map configurations as JSON or publishes static HTML maps ## Architecture Overview Kepler.gl is a React and Redux application that wraps deck.gl for GPU-accelerated layer rendering on top of a Mapbox GL base map. The state is managed entirely in Redux, making it embeddable as a component in larger applications. Data processing runs in Web Workers for non-blocking file parsing. ## Self-Hosting & Configuration - Embed as a React component in any Redux-based application - Provide a Mapbox access token or use MapLibre GL JS for fully open-source base maps - Load datasets programmatically via the addDataToMap action creator - Customize the UI by toggling panels (layer, filter, interaction, map) through component props - Deploy standalone by building the demo app with custom datasets baked in ## Key Features - No-code visual interface for exploring and styling geospatial data - Trip layer for animating vehicle/object movement along paths - S2 layer for visualizing S2 cell geometry at multiple resolutions - Split map view for side-by-side comparisons with synchronized navigation - Export to image, JSON config, or self-contained HTML for sharing ## Comparison with Similar Tools - **Deck.gl** — lower-level rendering library; Kepler.gl adds a complete UI on top of Deck layers - **QGIS** — desktop GIS with richer analysis tools; Kepler.gl is browser-native and optimized for large-scale point data - **Mapbox Studio** — focuses on base map styling; Kepler.gl handles analytical overlay visualization - **Apache Superset** — supports some map charts; Kepler.gl provides deeper geospatial layer types and time animation - **Google Earth Engine** — cloud-based raster analysis; Kepler.gl targets interactive vector data exploration ## FAQ **Q: How much data can Kepler.gl handle?** A: Kepler.gl can render millions of points in the browser thanks to GPU-accelerated deck.gl layers. Performance depends on the client GPU, but datasets of 1-5 million rows are common. **Q: Can I use Kepler.gl without Mapbox?** A: Yes. Swap the base map provider to MapLibre GL JS for a fully open-source stack without a Mapbox token. **Q: Is Kepler.gl embeddable in my app?** A: Yes. Kepler.gl is a React/Redux component. Mount it inside your application, dispatch actions to load data, and read state for exports. **Q: What file formats are supported?** A: CSV, GeoJSON, Apache Arrow (Feather), and JSON are supported out of the box. Data can also be loaded programmatically from any source. ## Sources - https://github.com/keplergl/kepler.gl - https://kepler.gl/docs --- Source: https://tokrepo.com/en/workflows/asset-aa9b7e2a Author: AI Open Source