Explore the best open-source mapping software. Compare top-rated libraries by activity and features to find the best fit for your project.
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 web mapping library that provides interactive pan and zoom, vector tile rendering, GeoJSON support, custom data-driven styling, support for multiple basemap providers, a plugin architecture for custom layers and controls, and offline map capabilities via PMTiles—exactly the kind of toolkit this search is after.
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 built on MapLibre GL that provides declarative components for interactive maps, supporting pan/zoom, vector tiles, GeoJSON layers, custom styling, and multiple tile providers, aligning closely with the need for a web mapping toolkit.
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 mature WebGL-based library for building interactive web maps with full support for vector tiles, GeoJSON, custom styling, and multiple basemap sources, along with a plugin ecosystem that covers nearly all the requested features—making it a leading choice for this search.
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 mature JavaScript web mapping library that directly provides interactive pan/zoom, vector tile rendering, GeoJSON support, customizable styling, and multiple basemap providers via its extensible architecture, making it an ideal fit for embedding interactive maps in web applications.
react-map-gl is a library of reusable components and hooks for embedding high-performance WebGL map visualizations within React applications. It provides a declarative wrapper for Mapbox GL JS, synchronizing the map state and styles with a component-based state management system. The toolkit enables the rendering of complex 2D and 3D geospatial data visualizations on map layers. It includes a framework for developing custom map components and specialized user interface elements using shared context and dedicated hooks. The library manages interactive map integration and geospatial data visua
react-map-gl is a React wrapper around Mapbox GL JS that delivers interactive WebGL maps with vector tiles, GeoJSON support, and custom styling, matching the core mapping library need, though plugin and offline features rely on the underlying Mapbox GL rather than being built-in.
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, mobile-first JavaScript library for embedding interactive maps in web apps, supporting interactive pan/zoom, GeoJSON, custom styling, and a rich plugin ecosystem, but core vector tile rendering and offline support rely on third-party plugins rather than being built in.
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 React-based geospatial visualization framework that renders interactive maps on the web with support for large datasets, vector tiles, and custom styling, making it a direct fit for building browser-based mapping applications.
This project is a collection of reusable components designed to integrate Google Maps into web applications built with the Angular framework. It provides a declarative interface for embedding interactive maps, allowing developers to configure map instances, markers, and overlays directly through standard framework templates and property bindings. The library distinguishes itself by wrapping imperative mapping services into a lifecycle-managed architecture. It handles the asynchronous loading of external mapping scripts and ensures that map instances and event listeners are properly cleaned up
This Angular library provides Google Maps components for building interactive maps in web applications, making it a valid web mapping library, though it is tied to Google's proprietary service and lacks provider-agnostic offline or broad basemap support.
ReactJS Maps without external dependencies
Pigeon Maps is a React component library for rendering maps without external dependencies, fitting the need for a web mapping toolkit—though it is React-specific and less feature-rich than full-featured libraries, it directly addresses the core requirement of embedding interactive maps in web applications.