# keplergl/kepler.gl

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/keplergl-kepler-gl).**

11,576 stars · 1,913 forks · TypeScript · mit

## Links

- GitHub: https://github.com/keplergl/kepler.gl
- Homepage: http://kepler.gl
- awesome-repositories: https://awesome-repositories.com/repository/keplergl-kepler-gl.md

## Topics

`data-visualization` `geospatial` `kepler` `mapbox` `visualization`

## Description

Kepler.gl is a web-based geospatial visualization framework designed for rendering large-scale location datasets. It functions as a modular React mapping component that enables developers to embed interactive, high-performance geographic visualizations into web applications, serving as a comprehensive engine for building browser-based GIS dashboards.

The library distinguishes itself through a highly extensible architecture that centers on centralized state management. By utilizing a predictable state-driven model, it allows for the programmatic control of map layers, filters, and viewport settings. Its plugin-oriented design supports deep customization, enabling developers to override default user interface components, inject custom logic into the state management pipeline, and configure specialized map providers or style definitions to match specific branding requirements.

Beyond its core rendering capabilities, the project provides a robust suite of tools for temporal data analysis and complex spatial exploration. It supports the visualization of time-series information through animated playback and interactive timelines, alongside advanced cartographic features like 3D terrain rendering, hexagonal binning, and multi-layer data aggregation. The system is built to handle large datasets by leveraging GPU-accelerated rendering and schema-driven data processing to ensure fluid interaction.

The library is distributed as a TypeScript-based package, providing a comprehensive API for managing map instances, serializing visualization states, and integrating with external cloud storage services for data persistence.

## Tags

### Data & Databases

- [Visualization Frameworks and Libraries](https://awesome-repositories.com/f/data-databases/data-analysis-visualization/visualization-frameworks-libraries.md) — Provides a web-based library for rendering large-scale location datasets using high-performance WebGL layers and interactive map controls.
- [State Management Stores](https://awesome-repositories.com/f/data-databases/state-management-stores.md) — Synchronizes map data, configurations, and interaction settings through a centralized store. ([source](https://docs.kepler.gl/docs/api-reference/get-started.md))
- [Temporal Geospatial Analyzers](https://awesome-repositories.com/f/data-databases/time-series-analysis-tools/temporal-geospatial-analyzers.md) — Analyzes and visualizes time-series geospatial data to identify trends and patterns.
- [Application State Management](https://awesome-repositories.com/f/data-databases/application-state-management.md) — Integrates geospatial data management into a central store to track map visualization, interface, and style configurations. ([source](https://docs.kepler.gl/readme.md))
- [Temporal Range Navigators](https://awesome-repositories.com/f/data-databases/data-visualization-charts/time-series-visualizers/temporal-range-filters/temporal-range-navigators.md) — Provides interactive timeline controls for zooming and panning through time-series data. ([source](https://docs.kepler.gl/docs/user-guides/h-playback.md))
- [Layered Dataset Managers](https://awesome-repositories.com/f/data-databases/dataset-management-tools/layered-dataset-managers.md) — Adds multiple independent data layers to a single map view for comparative analysis. ([source](https://docs.kepler.gl/docs/user-guides/b-kepler-gl-workflow/a-add-data-to-the-map.md))
- [Geospatial State Synchronizers](https://awesome-repositories.com/f/data-databases/state-management-libraries/geospatial-state-synchronizers.md) — Integrates with state management systems to synchronize data, viewports, and configurations across map instances. ([source](https://docs.kepler.gl/docs/api-reference/reducers.md))
- [Configuration Persistence](https://awesome-repositories.com/f/data-databases/configuration-persistence.md) — Exports and imports map states using a schema manager to restore complex visualization settings. ([source](https://docs.kepler.gl/docs/api-reference/advanced-usages.md))
- [Data Visualization Libraries](https://awesome-repositories.com/f/data-databases/data-engineering/data-visualization-libraries.md) — Overlays multiple data representations on a map to reveal complex patterns and relationships within geographic datasets. ([source](https://docs.kepler.gl/docs/user-guides/j-get-started.md))
- [Geospatial](https://awesome-repositories.com/f/data-databases/data-visualization-charts/time-series-visualizers/geospatial.md) — Synchronizes time-series geospatial data with map movements to reveal patterns and trends over time.
- [Temporal Trend Visualizers](https://awesome-repositories.com/f/data-databases/data-visualization-charts/time-series-visualizers/temporal-trend-visualizers.md) — Displays distribution graphs and charts alongside maps to analyze metric changes over time. ([source](https://docs.kepler.gl/docs/user-guides/h-playback.md))
- [High-Performance Data Ingestion](https://awesome-repositories.com/f/data-databases/geospatial-data-structures/high-performance-data-ingestion.md) — Imports geographic data from various formats using high-performance loading techniques. ([source](https://docs.kepler.gl/docs/keplergl-jupyter.md))
- [Cloud Synchronization Services](https://awesome-repositories.com/f/data-databases/cloud-synchronization-services.md) — Synchronizes map configurations and data with cloud storage providers for public access. ([source](https://docs.kepler.gl/docs/user-guides/k-save-and-export.md))
- [Data Export](https://awesome-repositories.com/f/data-databases/data-export.md) — Saves visualizations as images, data files, or configuration JSON for sharing. ([source](https://docs.kepler.gl/docs/user-guides/j-get-started.md))
- [Column Filters](https://awesome-repositories.com/f/data-databases/data-querying/table-item-filters/column-filters.md) — Limits visible map information by applying conditional filters based on dataset columns to isolate relevant data subsets. ([source](https://docs.kepler.gl/docs/user-guides/j-get-started.md))
- [Data Schema Management](https://awesome-repositories.com/f/data-databases/data-schema-management.md) — Automatically detects field types and indices in raw datasets for structured processing. ([source](https://docs.kepler.gl/docs/api-reference/processors/processors.md))
- [Geospatial Data Converters](https://awesome-repositories.com/f/data-databases/geospatial-data-converters.md) — Converts raw data formats like CSV and GeoJSON into standardized structures for visualization. ([source](https://docs.kepler.gl/docs/api-reference/ecosystem.md))
- [Data Export Utilities](https://awesome-repositories.com/f/data-databases/geospatial-data-converters/data-export-utilities.md) — Saves the current map dataset as a file with options for full or filtered subsets. ([source](https://docs.kepler.gl/docs/user-guides/k-save-and-export.md))
- [Local Data Browsers](https://awesome-repositories.com/f/data-databases/local-data-browsers.md) — Executes queries against local datasets using an in-browser engine for analysis. ([source](https://docs.kepler.gl/release-notes.md))
- [Spatial Aggregation Functions](https://awesome-repositories.com/f/data-databases/spatial-data-extensions/spatial-aggregation-functions.md) — Groups point-based data into grids, hexagons, or clusters to visualize density, distribution, and statistical trends. ([source](https://docs.kepler.gl/docs/user-guides/c-types-of-layers.md))

### Graphics & Multimedia

- [Geospatial Visualizations](https://awesome-repositories.com/f/graphics-multimedia/visualization-mapping/geospatial-visualizations.md) — Enables loading and visualizing tabular datasets on interactive maps with custom layers, filters, and styles. ([source](https://docs.kepler.gl/readme.md))
- [React Map Components](https://awesome-repositories.com/f/graphics-multimedia/visualization-mapping/mapping-libraries/react-map-components.md) — Functions as a modular React mapping component that enables developers to embed interactive, high-performance geographic visualizations.
- [3D Map Renderers](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/scene-management-systems/3d-rendering-engines/3d-map-renderers.md) — Transforms 2D map views into 3D perspectives with interactive rotation and panning. ([source](https://docs.kepler.gl/docs/user-guides/m-map-settings.md))
- [Temporal Animation Engines](https://awesome-repositories.com/f/graphics-multimedia/visualization-mapping/geospatial-visualizations/temporal-animation-engines.md) — Plays back time-series geospatial data with adjustable speed and rolling windows. ([source](https://docs.kepler.gl/docs/user-guides/h-playback.md))
- [Hardware-Accelerated Rendering](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/engines/graphics-pipeline-architectures/hardware-accelerated-rendering.md) — Uses high-performance graphics processing to render large-scale geospatial datasets as interactive visual layers.
- [3D Tileset Renderers](https://awesome-repositories.com/f/graphics-multimedia/media-production-suites/animation-tools/mathematical-visualization-engines/3d-surface-visualizations/3d-tileset-renderers.md) — Visualizes photogrammetry and building data from standard 3D tile endpoints. ([source](https://docs.kepler.gl/upgrade-guide-v3.3.md))
- [Map State Managers](https://awesome-repositories.com/f/graphics-multimedia/visualization-mapping/geospatial-visualizations/map-tile-configurations/map-state-managers.md) — Handles saving, resetting, and toggling map view configurations and perspectives. ([source](https://docs.kepler.gl/docs/api-reference/reducers/map-state.md))
- [State Transformation Engines](https://awesome-repositories.com/f/graphics-multimedia/visualization-mapping/geospatial-visualizations/state-transformation-engines.md) — Updates internal map layers, filters, and interaction settings programmatically via state transformation functions. ([source](https://docs.kepler.gl/docs/api-reference/reducers/vis-state.md))
- [3D Content Streamers](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/scene-management-systems/3d-rendering-engines/html-in-3d-integration/3d-content-streamers.md) — Streams and renders photogrammetry, terrain, and building meshes from 3D tile services. ([source](https://docs.kepler.gl/docs/user-guides/c-types-of-layers.md))
- [Dataset Filters](https://awesome-repositories.com/f/graphics-multimedia/visualization-mapping/geospatial-visualizations/dataset-filters.md) — Limits map data visibility based on conditional rules and column values. ([source](https://docs.kepler.gl/docs/user-guides/e-filters.md))
- [Dataset Import Interfaces](https://awesome-repositories.com/f/graphics-multimedia/visualization-mapping/geospatial-visualizations/dataset-import-interfaces.md) — Loads CSV or GeoJSON files into the interface for visual exploration. ([source](https://docs.kepler.gl/docs/user-guides/j-get-started.md))
- [Viewport Controllers](https://awesome-repositories.com/f/graphics-multimedia/visualization-mapping/mapping-libraries/viewport-controllers.md) — Updates camera position, zoom, and bounds for focused geographic exploration. ([source](https://docs.kepler.gl/docs/api-reference/reducers/map-state.md))
- [Tile Map Renderers](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/tile-map-renderers.md) — Renders large-scale geospatial datasets from vector sources by mapping tile coordinates to visual layers with custom styling. ([source](https://docs.kepler.gl/docs/user-guides/c-types-of-layers/m-vector-tile-layer.md))
- [Raster and Vector Tile Renderers](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/tile-map-renderers/raster-and-vector-tile-renderers.md) — Displays satellite, aerial, and raster-based map tiles using standardized formats like Cloud-Optimized GeoTIFFs and vector tiles. ([source](https://docs.kepler.gl/docs/user-guides/c-types-of-layers.md))
- [Connection Visualizers](https://awesome-repositories.com/f/graphics-multimedia/visualization-mapping/geospatial-visualizations/connection-visualizers.md) — Draws lines between geographic points to represent relationships or distances. ([source](https://docs.kepler.gl/docs/user-guides/c-types-of-layers/c-line.md))
- [Flow Pattern Visualizers](https://awesome-repositories.com/f/graphics-multimedia/visualization-mapping/geospatial-visualizations/connection-visualizers/flow-pattern-visualizers.md) — Visualizes origin-destination flows and migration paths between geographic locations with support for automated clustering and animation. ([source](https://docs.kepler.gl/docs/user-guides/c-types-of-layers.md))
- [Density Grid Visualizers](https://awesome-repositories.com/f/graphics-multimedia/visualization-mapping/geospatial-visualizations/density-grid-visualizers.md) — Aggregates geospatial data points into grid cells to represent density and highlight spatial distribution patterns. ([source](https://docs.kepler.gl/docs/user-guides/c-types-of-layers/d-grid.md))
- [Mapping Libraries](https://awesome-repositories.com/f/graphics-multimedia/visualization-mapping/mapping-libraries.md) — Ingests tabular datasets and visual configurations to initialize map layers and interaction settings for geographic display. ([source](https://docs.kepler.gl/docs/api-reference/actions/actions.md))
- [Data Visualization Scales](https://awesome-repositories.com/f/graphics-multimedia/visualization-mapping/mapping-libraries/data-visualization-scales.md) — Maps dataset values to visual properties like color and height using statistical scales for quantitative representation. ([source](https://docs.kepler.gl/docs/user-guides/d-layer-attributes.md))
- [Viewport Controllers](https://awesome-repositories.com/f/graphics-multimedia/visualization-mapping/viewport-managers/viewport-controllers.md) — Manages multi-view layouts, 3D perspective rendering, and legend displays to control how spatial data is presented. ([source](https://docs.kepler.gl/docs/user-guides.md))
- [Vector Graphics Renderers](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/vector-rendering-pipelines/vector-graphics-renderers.md) — Streams and renders large-scale vector datasets dynamically based on the current viewport and zoom level for performance. ([source](https://docs.kepler.gl/release-notes.md))
- [Data Brushing Tools](https://awesome-repositories.com/f/graphics-multimedia/visualization-mapping/geospatial-visualizations/data-brushing-tools.md) — Isolates and highlights specific subsets of geospatial data under the cursor. ([source](https://docs.kepler.gl/docs/user-guides/g-interactions.md))
- [Exploration Tools](https://awesome-repositories.com/f/graphics-multimedia/visualization-mapping/geospatial-visualizations/data-brushing-tools/exploration-tools.md) — Provides interactive tools for brushing, coordinate inspection, and data tooltips to allow users to query geospatial information. ([source](https://docs.kepler.gl/docs/user-guides.md))
- [Imagery Service Integrations](https://awesome-repositories.com/f/graphics-multimedia/visualization-mapping/geospatial-visualizations/imagery-service-integrations.md) — Connects to external web map services to render tiled imagery layers. ([source](https://docs.kepler.gl/docs/user-guides/c-types-of-layers/o-wms-layer.md))
- [Layer Property Editors](https://awesome-repositories.com/f/graphics-multimedia/visualization-mapping/geospatial-visualizations/layer-property-editors.md) — Adjusts the appearance of geospatial data by modifying colors, opacity, and stroke settings based on dataset fields. ([source](https://docs.kepler.gl/docs/user-guides/d-layer-attributes.md))
- [Point Event Renderers](https://awesome-repositories.com/f/graphics-multimedia/visualization-mapping/geospatial-visualizations/point-event-renderers.md) — Renders individual coordinate-based events on a map with configurable styling for color, size, and text labels. ([source](https://docs.kepler.gl/docs/user-guides/c-types-of-layers/a-point.md))
- [Raster Imagery Renderers](https://awesome-repositories.com/f/graphics-multimedia/visualization-mapping/geospatial-visualizations/raster-imagery-renderers.md) — Renders satellite and aerial imagery from raster tiles or external web map services directly on the map. ([source](https://docs.kepler.gl/release-notes.md))
- [S2 Geometry Visualizers](https://awesome-repositories.com/f/graphics-multimedia/visualization-mapping/geospatial-visualizations/s2-geometry-visualizers.md) — Renders large-scale geolocation datasets by mapping S2 geometry tokens to visual layers for spatial analysis. ([source](https://docs.kepler.gl/docs/user-guides/c-types-of-layers/l-s2.md))
- [Visual Configuration Interfaces](https://awesome-repositories.com/f/graphics-multimedia/visualization-mapping/geospatial-visualizations/visual-configuration-interfaces.md) — Modifies the appearance of the base map by toggling layer visibility, switching styles, or resetting the configuration. ([source](https://docs.kepler.gl/docs/user-guides/f-map-styles.md))
- [Viewport Managers](https://awesome-repositories.com/f/graphics-multimedia/visualization-mapping/viewport-managers.md) — Updates base map displays by toggling between 2D and 3D views and modifying viewport settings for visual exploration. ([source](https://docs.kepler.gl/docs/api-reference/actions/actions.md))
- [Visual Enhancement Engines](https://awesome-repositories.com/f/graphics-multimedia/visualization-mapping/visual-enhancement-engines.md) — Applies lighting, shadows, and atmospheric effects to improve map depth perception. ([source](https://docs.kepler.gl/docs/user-guides.md))
- [Visualization Exporters](https://awesome-repositories.com/f/graphics-multimedia/visualization-mapping/visualization-frameworks/interactive-diagramming-libraries/visualization-exporters.md) — Saves map states as standalone files or web applications for external sharing. ([source](https://docs.kepler.gl/docs/keplergl-jupyter.md))

### Scientific & Mathematical Computing

- [Web Mapping Integrators](https://awesome-repositories.com/f/scientific-mathematical-computing/data-modeling-processing/geospatial-and-location-services/location-services/map-integration/web-mapping-integrators.md) — Embeds high-performance map components into web applications for geographic data exploration.

### Software Engineering & Architecture

- [Centralized State Stores](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/architectural-patterns/layering-presentation/application-layer-architectures/state-management-architectures/centralized-state-stores.md) — Maintains the entire application configuration and data state in a centralized store to ensure predictable updates.
- [State Serialization](https://awesome-repositories.com/f/software-engineering-architecture/architectural-design-patterns/state-management/persistence-and-serialization/state-serialization.md) — Converts map data and configuration into compact JSON for storage and retrieval. ([source](https://docs.kepler.gl/docs/api-reference/ecosystem.md))
- [Action-Reducer Architectures](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/architectural-patterns/layering-presentation/application-layer-architectures/state-management-architectures/action-reducer-architectures.md) — Dispatches events through a centralized bus to target specific map instances, enabling multiple independent visualizations.
- [User Interface Customizations](https://awesome-repositories.com/f/software-engineering-architecture/application-lifecycle-management/runtime-control-and-customization/user-interface-customizations.md) — Overrides default visual components and styling to match application branding. ([source](https://docs.kepler.gl/examples.md))
- [Functional State Management](https://awesome-repositories.com/f/software-engineering-architecture/architectural-design-patterns/state-management/state-logic-and-utilities/functional-state-management.md) — Exposes pure transformation functions that modify application state to enable consistent and testable data-driven interface changes. ([source](https://docs.kepler.gl/docs/api-reference/ecosystem.md))
- [Data Validation Schemas](https://awesome-repositories.com/f/software-engineering-architecture/data-validation-schemas.md) — Parses and validates incoming tabular datasets against defined structures to prepare raw information for geospatial visualization.
- [Extensible Plugin Architectures](https://awesome-repositories.com/f/software-engineering-architecture/extensible-plugin-architectures.md) — Modifies internal state management and adds custom actions through plugin architectures to support unique data workflows. ([source](https://docs.kepler.gl/examples.md))
- [Custom Action Handlers](https://awesome-repositories.com/f/software-engineering-architecture/custom-action-handlers.md) — Injects user-defined logic into the state management flow to handle specialized events or trigger external processes. ([source](https://docs.kepler.gl/examples/custom-reducer.md))
- [Dependency Injection](https://awesome-repositories.com/f/software-engineering-architecture/integration-extensibility/dependency-injection.md) — Allows developers to override default interface elements and logic by injecting custom implementations into the application bootstrap process.
- [Multi-Instance Configurations](https://awesome-repositories.com/f/software-engineering-architecture/service-instance-managers/redis-instance-sharers/multi-instance-configurations.md) — Supports running multiple independent map components by assigning unique identifiers. ([source](https://docs.kepler.gl/docs/api-reference/ecosystem.md))
- [Action Reducer Patterns](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/architectural-patterns/layering-presentation/application-layer-architectures/state-management-architectures/action-reducer-architectures/action-reducer-patterns.md) — Directs state updates to specific component instances by wrapping actions with unique identifiers for the root reducer. ([source](https://docs.kepler.gl/docs/api-reference/advanced-usages/forward-actions.md))

### User Interface & Experience

- [Geospatial Dashboards](https://awesome-repositories.com/f/user-interface-experience/web-dashboards/geospatial-dashboards.md) — Provides a browser-based platform for exploring, filtering, and analyzing complex geographic information through a unified visual interface.
- [Custom Interface Builders](https://awesome-repositories.com/f/user-interface-experience/interface-plugin-architectures/custom-parameter-mapping-interfaces/custom-interface-builders.md) — Extends and overrides default mapping components to create branded, domain-specific interfaces.
- [Instance-Scoped Action Dispatchers](https://awesome-repositories.com/f/user-interface-experience/state-update-logic/state-action-value-updates/instance-scoped-action-dispatchers.md) — The geospatial visualization library wraps and dispatches actions to specific map instances by identifier to ensure state updates reach the correct component. ([source](https://docs.kepler.gl/docs/api-reference/actions/actions.md))
- [State Update Logic](https://awesome-repositories.com/f/user-interface-experience/state-update-logic.md) — Modifies visualization state by applying data and configuration updates through functions. ([source](https://docs.kepler.gl/docs/api-reference/reducers/combine.md))
- [Split-View Controllers](https://awesome-repositories.com/f/user-interface-experience/split-containers/split-view-controllers.md) — Toggles between single and split-screen layouts for comparative dataset analysis. ([source](https://docs.kepler.gl/docs/api-reference/reducers/map-state.md))
- [Custom UI Components](https://awesome-repositories.com/f/user-interface-experience/custom-ui-components.md) — Provides a dependency injection system to replace default interface elements with custom implementations. ([source](https://docs.kepler.gl/readme.md))
- [Component Overrides](https://awesome-repositories.com/f/user-interface-experience/editor-customization-tools/editor-component-replacements/component-overrides.md) — Allows swapping built-in interface elements with custom implementations to modify the mapping environment. ([source](https://docs.kepler.gl/examples/replace-component.md))
- [Color Palettes](https://awesome-repositories.com/f/user-interface-experience/ui-architecture/design-utilities/design-systems/color-system-utilities/color-palettes.md) — Applies custom color palettes to map layers to represent data values through fill and stroke styling. ([source](https://docs.kepler.gl/docs/user-guides/l-color-attributes.md))
- [Visual Customization Tools](https://awesome-repositories.com/f/user-interface-experience/visual-customization-tools.md) — Provides settings for modifying the aesthetic appearance of the user interface through themes and color schemes. ([source](https://docs.kepler.gl/docs/api-reference/custom-theme.md))
- [Visual Styling Frameworks](https://awesome-repositories.com/f/user-interface-experience/visual-styling-frameworks.md) — Allows overriding default component styling by passing custom theme objects to the interface. ([source](https://docs.kepler.gl/examples/custom-theme.md))
- [Visual Themes](https://awesome-repositories.com/f/user-interface-experience/visual-themes.md) — Enables overriding default styling properties through theme objects to match application branding. ([source](https://docs.kepler.gl/readme.md))

### Development Tools & Productivity

- [Application Templates](https://awesome-repositories.com/f/development-tools-productivity/application-templates.md) — Loads saved configuration settings onto new datasets to reuse styles and layer settings. ([source](https://docs.kepler.gl/docs/api-reference/advanced-usages/saving-loading-w-schema.md))

### Web Development

- [Reducer State Management](https://awesome-repositories.com/f/web-development/frontend-development-tools/state-data-management/state-logic-patterns/reducer-state-management.md) — Injects custom logic into the state management pipeline to handle additional actions. ([source](https://docs.kepler.gl/docs/api-reference/reducers/reducers.md))
- [Geospatial Attribute Mappings](https://awesome-repositories.com/f/web-development/standard-html-attribute-mapping/visual-attribute-mappings/geospatial-attribute-mappings.md) — Applies color scales or elevation heights to geographic features based on underlying values to represent statistical data. ([source](https://docs.kepler.gl/docs/user-guides/c-types-of-layers/e-polygon.md))
