For web mapping frameworks, the first results are leaflet/leaflet (Leaflet is a lightweight JavaScript library built specifically for rendering interactive web maps with support for spatial data, custom markers, popups, event handling, and a rich plugin ecosystem), anmolsaini16/mapcn (MapCN is a React component library that wraps MapLibre GL to provide declarative, composable building blocks for interactive web maps, spatial data, and markers) and openlayers/openlayers (OpenLayers is a JavaScript web mapping library and framework that provides robust tools for rendering interactive maps, handling spatial data, and supporting custom UI overlays, though it is delivered as a programming library rather than a pre-built application). maplibre/maplibre-gl-js and visgl/deck.gl round out the shortlist. Compare the match explanations and check the project documentation against your requirements.
Compare the best open-source web mapping frameworks on GitHub. Hand-picked options ranked by stars and activity to help you find the right fit.
Leaflet is a lightweight JavaScript mapping library used to build mobile-friendly interactive maps on web pages. It functions as an open-source geospatial toolkit and web map renderer, providing the necessary tools to display geographical tiles and vector data. The framework is designed as a mobile-first map interface, ensuring that mapping experiences remain responsive and efficient across both desktop browsers and mobile devices. It enables the creation of custom map implementations and the visualization of geospatial data through the addition of markers, popups, and layers. The library co
Leaflet is a lightweight JavaScript library built specifically for rendering interactive web maps with support for spatial data, custom markers, popups, event handling, and a rich plugin ecosystem.
MapCN is a React component library that wraps MapLibre GL into declarative, composable building blocks for interactive maps. It provides a set of small, reusable components for rendering maps, placing markers, drawing routes, and clustering points, all managed through React hooks, context, and refs for state and lifecycle control. The library distinguishes itself by offering a complete set of map features as individual React components that automatically adapt to light and dark themes. It includes components for interactive map rendering with zero configuration, marker placement with popups a
MapCN is a React component library that wraps MapLibre GL to provide declarative, composable building blocks for interactive web maps, spatial data, and markers.
OpenLayers is a JavaScript web mapping library and WebGIS framework used for rendering interactive 2D maps and geospatial data on web pages. It serves as a geospatial data visualization tool and an open geospatial standard client for consuming standardized geographic data formats and web map services. The project provides a framework for building complex geographic information systems in the browser. It supports the development of custom map applications and the integration of geographic information system capabilities to handle spatial data and coordinates. The library covers broad capabili
OpenLayers is a JavaScript web mapping library and framework that provides robust tools for rendering interactive maps, handling spatial data, and supporting custom UI overlays, though it is delivered as a programming library rather than a pre-built application.
Maplibre GL JS is a WebGL map rendering engine and vector tile map library used to create interactive web maps. It serves as a web-based GIS visualization tool and an interactive map interface framework for rendering geographic data and vector tiles on web pages. The library provides capabilities for 3D terrain rendering and the integration of custom 3D content. It supports complex geospatial data visualization through the use of heatmaps, clusters, and 3D extrusions, while allowing for custom map styling and environmental effect customization. The system covers a broad range of functional a
MapLibre GL JS is a robust web mapping framework providing interactive WebGL map rendering, spatial data support, custom styling, and event handling for browser-based geographic visualizations.
This project is a declarative visualization library and geospatial framework designed for rendering large-scale data sets within web browsers. It functions as a high-performance graphics engine that leverages hardware acceleration to display complex 2D and 3D visual layers, enabling the visualization of millions of data points through a structured, component-based syntax. The framework distinguishes itself through its ability to synchronize custom data visualizations with third-party mapping platforms. By managing camera states and coordinate systems, it allows developers to overlay high-perf
Deck.gl is a high-performance WebGL-powered geospatial framework designed for rendering large-scale spatial data sets and interactive map layers directly in web browsers.
Cesium is a JavaScript library designed for rendering high-precision 3D globes and 2D maps within web browsers. It functions as a visualization engine that leverages hardware-accelerated graphics to display complex geographic data, terrain, and imagery. The library distinguishes itself through a modular architecture that supports the streaming of massive geographic datasets. By employing tiled data delivery and hierarchical level-of-detail optimization, it maintains performance while navigating large-scale environments. It also includes a time-dynamic state management system, which synchroniz
Cesium is a comprehensive JavaScript library for rendering high-precision 3D globes and interactive 2D maps in web browsers, featuring robust spatial data support, styling, and streaming capabilities.
Mapbox GL JS is a WebGL map rendering engine and interactive web map framework used to render vector tiles, raster imagery, and 3D terrain in the browser. It functions as a vector tile map library and geospatial data visualization tool, employing GPU-accelerated shaders to transform geospatial data into interactive maps. The project distinguishes itself through the integration of custom WebGL layers directly into the rendering pipeline and the use of data-driven expressions to map feature properties to visual attributes. It supports specialized data loading via PMTiles and provides offline ma
Mapbox GL JS is a WebGL-powered frontend mapping framework that delivers GPU-accelerated interactive map rendering, spatial data support, and custom styling for web browsers.
maptalks.js is a JavaScript map rendering library and web map interaction framework used to render interactive 2D and 3D geographic data on a web canvas. It functions as a 3D geospatial engine supporting 3DTiles and GLTF formats, a GeoJSON visualization tool, and a spatial analysis library. The project distinguishes itself through high-performance rendering and dynamic geospatial animation, including the ability to simulate traffic flow and execute smooth visual transitions for map elements. It provides comprehensive tools for interactive geometry editing, allowing users to draw and modify ve
This JavaScript map rendering framework and interaction library supports interactive 2D and 3D geospatial visualization, spatial data handling, custom styling, event handling, and a robust plugin ecosystem for web browsers.
gmaps is a library that provides a wrapper for the Google Maps API, serving as a geospatial data toolkit and interactive map renderer. It simplifies the integration of interactive maps into web applications by managing the embedding of map views and the lifecycle of markers. The project distinguishes itself through a specialized set of utilities for geocoding, which converts physical addresses to geographic coordinates and vice versa. It also includes a static map generator for creating non-interactive map images for lightweight environments. The capability surface covers geographic data vis
This JavaScript library acts as a wrapper for the Google Maps API to provide interactive map rendering and marker management in web browsers, though it depends on Google's external service rather than rendering natively.
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 set
Kepler.gl is a modular React geospatial visualization framework for rendering large-scale location datasets and building browser-based GIS dashboards, though it is more focused on analytical data exploration than a general-purpose map rendering library.
google-map-react is a JavaScript library that integrates Google Maps into React applications by rendering any React component as a custom map marker. It provides direct access to the native Google Maps API internals, enabling advanced custom operations beyond standard marker placement. The library distinguishes itself by allowing fully custom interactive markers and content, replacing default Google Maps markers and balloons with React components. It supports server-side rendering so search engines can index map content without requiring JavaScript, and includes an internal algorithm for dete
This library provides React integration for Google Maps with custom component markers and server-side rendering, though it is tied specifically to the Google Maps ecosystem rather than being a generic web mapping framework.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| leaflet/leaflet | 45.2K | JavaScript | BSD-2-Clause | |
| anmolsaini16/mapcn | 6K | TypeScript | mit | |
| openlayers/openlayers | 12.5K | JavaScript | BSD-2-Clause | |
| maplibre/maplibre-gl-js | 9.9K | TypeScript | other | |
| visgl/deck.gl | 13.9K | TypeScript | mit | |
| cesiumgs/cesium | 15.4K | JavaScript | Apache-2.0 | |
| mapbox/mapbox-gl-js | 12.3K | TypeScript | NOASSERTION | |
| maptalks/maptalks.js | 4.5K | HTML | — | |
| hpneo/gmaps | 7K | JavaScript | — | |
| keplergl/kepler.gl | 11.9K | TypeScript | MIT |