For an open source alternative to Google Maps, the first results are geocoder-php/geocoder (This PHP library handles address-to-coordinate conversions and IP geolocation, but it is a code-level building block rather than a complete self-hosted map and navigation platform), alexreisner/geocoder (This Ruby library handles geocoding and geospatial queries, but it is a code-level toolkit rather than a full self-hosted map and navigation platform with vector tiles and routing) and googlemaps/google-maps-services-python (This repository is a client library for accessing proprietary Google Maps APIs rather than a self-hosted map and navigation platform, making it the wrong category for your search). mapsme/omim and algolia/places round out the shortlist. Compare the match explanations and check the project documentation against your requirements.
Self-hosted mapping platforms and navigation services providing privacy-focused alternatives to proprietary global map providers.
Geocoder is a PHP library for converting addresses to geographic coordinates and coordinates back into addresses using various third-party services. It functions as a multi-provider geocoding wrapper and a reverse geocoding engine, providing an abstraction layer to manage multiple geocoding APIs. The project allows for switching between providers or chaining requests for failover to ensure high availability. It also serves as a GeoIP location resolver, translating IP addresses into geographic coordinates and location details through either remote services or local binary databases. The libra
This PHP library handles address-to-coordinate conversions and IP geolocation, but it is a code-level building block rather than a complete self-hosted map and navigation platform.
This is a Ruby toolkit for converting addresses to geographic coordinates and performing reverse geocoding via multiple external API providers. It provides a library for integrating location services into Ruby applications, including an IP geolocation tool to translate IP addresses into coordinates, city names, and country data. The project includes a command line interface for bulk geocoding of database records with integrated rate limiting and a geospatial query engine for calculating distances and performing radius or bounding box searches. It also features a mocking framework that provide
This Ruby library handles geocoding and geospatial queries, but it is a code-level toolkit rather than a full self-hosted map and navigation platform with vector tiles and routing.
This project is a Python client library for interacting with Google Maps web services to retrieve geospatial, routing, and place data. It provides a programmatic interface for developers to access geocoding, elevation, time zone, and point-of-interest services. The library implements automatic exponential backoff and request retries to handle intermittent server errors and rate limit exceedances. It manages communication through credential-based authentication and session-based connection pooling to reduce latency across repeated API calls. The capability surface covers bidirectional geocodi
This repository is a client library for accessing proprietary Google Maps APIs rather than a self-hosted map and navigation platform, making it the wrong category for your search.
Omim is a suite of compilers and orchestrators designed to transform raw geographic and transit data into renderable offline map binaries. It provides a map generator for converting OpenStreetMap data into optimized binary files, a styling compiler for visual feature representation, and a rendering engine for visualizing geographic data from local storage without an internet connection. The project includes a map tile build orchestrator that sequences generation and optimizes resource utilization based on historical statistics. It also features a dedicated transit data processor that transfor
This repository provides a specialized compilation and rendering engine for offline map binaries, but it functions as a low-level SDK and data processing tool rather than a fully integrated navigation platform with built-in geocoding and routing services.
Places is a location search service and set of user interface components designed to translate text queries into geographic coordinates and provide real-time address suggestions. It provides a geocoding search service to convert address queries into structured location data and precise coordinates. The project focuses on optimizing the accuracy of address autocomplete through user intent prediction and conversion-based result ranking. These capabilities analyze search queries and interaction patterns to surface results from the most likely content category and increase the likelihood of desir
This repository is a specialized geocoding search component rather than a comprehensive mapping and navigation platform, meaning it covers address lookup but lacks routing, vector tile rendering, and self-hosted map infrastructure.
GraphHopper is a Java routing library and OpenStreetMap routing engine used to calculate optimal paths and driving directions. It provides a map matching engine for aligning GPS coordinate traces to road networks, a GTFS transit router for multi-modal travel, and a spatial analysis utility for isochrone generation. The project supports the creation of custom vehicle profiles and weighting logic to influence path calculations. It implements contraction hierarchies to accelerate pathfinding by reducing the search space between coordinates. The engine covers a broad range of geospatial capabili
GraphHopper is a specialized routing engine and pathfinding library rather than a full mapping and navigation platform, meaning it handles directions and transit calculation well but lacks core platform features like vector tile rendering and a complete map interface.
geopy is a Python geocoding library and geolocation client used to convert human-readable addresses into geographic coordinates and resolve coordinates back into street addresses using various third-party web services. The library provides a consistent provider-based interface that abstracts multiple external geocoding services, allowing for interchangeable backends. It includes built-in request rate limiting and asynchronous client interfaces to manage API call frequency and execute concurrent lookups without halting execution. Beyond geocoding, the project includes geospatial utilities for
This repository is a Python client library for querying third-party geocoding web services rather than a self-hosted map and navigation platform, making it a building block rather than the full platform requested.
This project is a geospatial data rendering engine and OpenStreetMap road network visualizer. It functions as a vector map visualization tool that imports geocoded area data and converts road layouts into visual layers for digital or physical output. The system enables the creation of generative map art and stylized images intended for physical production via pen-plotters or laser cutters. It allows for the manipulation of line widths and colors of city streets to produce custom visual representations of urban environments. The engine provides capabilities for urban road visualization, geogr
This project is a road network visualizer and generative art tool rather than a comprehensive navigation platform, lacking core routing, geocoding, and general-purpose mapping features.
X-Track is a firmware project for an embedded bicycle computer that combines GPS-based speed and ride metrics with offline map navigation. It functions as a GPS bicycle speedometer, displaying speed, distance, altitude, and other ride data on a handlebar-mounted screen, while also serving as an offline map viewer that renders locally stored map tiles without an internet connection. The project distinguishes itself by including a firmware emulator that runs the embedded code on a PC, enabling development and testing without physical hardware. It also provides GPS-based clock calibration to aut
This repository provides an embedded firmware for a bicycle computer with offline map viewing rather than a comprehensive self-hosted mapping and navigation platform with geocoding and routing services.
Open Location Code is a geocoding library and toolset used to transform global latitude and longitude coordinates into standardized, human-readable alphanumeric digital addresses and back again. It functions as an offline location coding system that generates unique identifiers for any location on Earth, specifically providing digital addresses for areas where formal street addresses or postal systems are missing. The system operates as a stateless algorithmic process, allowing coordinates to be encoded and decoded without the need for network access, internet connections, or external databas
This repository is a geocoding library for generating Plus Codes rather than a complete mapping and navigation platform, making it a single-aspect building block rather than the all-in-one solution requested.
Project Nomad is a self-hosted survival suite and containerized offline operating environment. It provides a collection of essential tools, including a local retrieval-augmented generation system, an offline mapping server, and a local knowledge base for large language models, all designed to operate on air-gapped hardware. The system prioritizes total offline isolation to ensure telemetry-free operation. It enables private data analysis and semantic document querying through local-first vector storage and offline model execution, keeping all data on internal hardware without requiring intern
Project Nomad provides an offline mapping server alongside other survival tools, but it is an air-gapped container suite rather than a dedicated navigation platform with full routing and geocoding services.
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 for rendering web maps rather than a complete self-hosted navigation platform with built-in geocoding, routing, and backend mapping services.
Nominatim is a self-hosted geospatial search engine and geocoding server that utilizes OpenStreetMap data. It provides a complete infrastructure for forward geocoding, converting addresses or place names into geographic coordinates, and reverse geocoding, translating coordinates into human-readable physical addresses. The project features a dedicated data importer that parses raw map data into a PostgreSQL geospatial database. It distinguishes itself through a configurable import pipeline that uses style files to filter map features and an importance-based ranking system to prioritize search
Nominatim is a specialized geocoding and search server powered by OpenStreetMap data rather than a complete mapping and navigation platform with routing and vector tile rendering.
Organic Maps is a mobile application designed for offline mapping, navigation, and outdoor activity planning. It functions as a privacy-focused client for OpenStreetMap data, enabling users to explore locations, search for points of interest, and receive turn-by-turn directions entirely without an internet connection. The project distinguishes itself through a strict zero-telemetry privacy model that excludes trackers, data collection, and mandatory account requirements. By utilizing a native core engine and local-first data storage, it ensures that all user activity, location history, and pe
Organic Maps is a mobile application for offline navigation and map viewing rather than a self-hostable platform providing geocoding and routing services.
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 proprietary Google Maps API rather than providing a self-hostable mapping and navigation platform to replace proprietary services.
This project is a cross-platform mapping SDK and hardware-accelerated rendering engine implemented in C++. It provides a shared geospatial core that allows for the embedding of interactive maps into Android, iOS, macOS, Node.js, and Qt applications. The system focuses on high-performance vector tile rendering using OpenGL and GPU primitives to display interactive 3D landscapes and complex geospatial datasets. It transforms compressed protocol buffers into customizable visuals through a style-driven layer pipeline. The capability surface extends to comprehensive location services, including g
This project provides a C++ rendering engine and embedding SDK for maps rather than offering a complete, self-hostable navigation and routing platform out of the box.
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 provides high-performance vector tile rendering for interactive web maps, but it is a frontend rendering library rather than a complete navigation platform that includes backend routing and geocoding services.
OsmAnd is a mobile navigation application and vector map viewer that uses OpenStreetMap data to provide offline map access, turn-by-turn routing, and geospatial tools. It functions as a mobile routing engine and a GPX track recorder, allowing users to navigate and record movement without an active internet connection. The project integrates a mobile interface for contributing to the OpenStreetMap project, enabling users to report map errors and add new points of interest directly from their devices. It also includes a system for visualizing satellite imagery and custom tile overlays on top of
OsmAnd is a mobile navigation application built for offline mapping and routing using OpenStreetMap data, but it is a standalone end-user app rather than a self-hosted server platform for custom mapping services.
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
This repository provides a web rendering engine for maps in the browser, but it is a frontend library rather than a complete self-hosted routing and geocoding platform.
react-native-maps is a cross-platform map component and visualization library for embedding interactive maps within mobile applications on iOS and Android. It provides a declarative interface for managing geospatial user interfaces, allowing for the rendering of geographical data and location-based features. The library enables the visualization of spatial data through the placement of markers, the creation of custom callouts, and the drawing of polylines and polygons as map overlays. It supports interactive map navigation, including the ability to animate map regions and customize the visual
This project is a React Native mobile component library for embedding maps rather than a self-contained navigation and routing platform that provides its own mapping services and backends.
react-native-maps is a cross-platform mobile map component for iOS and Android that renders interactive geographic data and markers. It provides a native map view and viewport controller to manage camera movement, zoom levels, and coordinate-based animations on mobile devices. The project includes a GeoJSON map renderer for visualizing complex geographic features and an interactive map overlay library for drawing polylines, polygons, and heatmaps. It supports integration with both Google Maps and Apple Maps, allowing developers to switch between providers or apply cloud-based styling and cust
This repository is a mobile component library for integrating maps into React Native apps rather than a self-contained mapping and navigation platform with its own routing and geocoding services.
Valhalla is an open-source routing engine that calculates optimal paths and travel times using OpenStreetMap data. It is built around a tiled routing graph framework, allowing map data to be organized into small geographic tiles for efficient regional updates and offline routing capability. The project distinguishes itself through a multimodal routing server that combines automobile, pedestrian, bicycle, and public transit modes into single journeys. It includes a GPS trace matching engine to align noisy coordinates to the most probable road network paths and an isochrone and matrix generator
Valhalla is a dedicated routing and navigation engine rather than a complete mapping platform, meaning it handles pathfinding and isochrones efficiently but lacks built-in geocoding, vector tile rendering, and map visualization tools.
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 powerful geospatial visualization framework for rendering large-scale location datasets in browser-based dashboards, but it lacks the core geocoding, routing, and navigation services required for a complete mapping platform.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| geocoder-php/geocoder | 4K | PHP | MIT | |
| alexreisner/geocoder | 6.4K | Ruby | MIT | |
| 5K |
| Python |
| Apache-2.0 |
| mapsme/omim | 4.6K | C++ | Apache-2.0 |
| algolia/places | 5.3K | JavaScript | MIT |
| graphhopper/graphhopper | 6.5K | Java | Apache-2.0 |
| geopy/geopy | 4.8K | Python | MIT |
| anvaka/city-roads | 9K | JavaScript | mit |
| fastshift/x-track | 6.3K | C | MIT |
| google/open-location-code | 4.3K | Java | Apache-2.0 |