Routing and navigation
Turn-by-turn navigation SDKs, directions controls, the routing engines behind them, and hosted routing APIs for MapLibre maps.
Navigation SDKs and controls
Turn-by-turn navigation UIs and directions controls for MapLibre maps.
MapLibre Navigation iOSOfficial
Turn-by-turn navigation for iOS
Drop-in turn-by-turn navigation SDK for iOS built on MapLibre Native. Includes voice guidance, route simulation, and a navigation UI.
MapLibre Navigation AndroidOfficial
Turn-by-turn navigation for Android
Drop-in turn-by-turn navigation SDK for Android built on MapLibre Native. Includes voice guidance, route simulation, and a navigation UI.
MapLibre GL DirectionsOfficial
Routing plugin for web maps
A directions control for MapLibre GL JS that adds routing and turn-by-turn directions to web maps with support for multiple routing engines.
Used by 2 products

Ferrostar
Cross-platform navigation SDK
A modern, cross-platform navigation SDK by Stadia Maps with support for iOS, Android, and web. Built to work with MapLibre Native and MapLibre GL JS.
Used by 1 product
AnyRouting
Modular directions plugin for any map engine
A modular directions library with draggable routes and alternatives, data providers for HERE, Mapbox, Google, openrouteservice, OSRM, and Valhalla, and a MapLibre GL JS engine that draws routes and waypoints on the map.
OMT Router
Client-side routing on OpenMapTiles vector tiles
A routing library that builds its graph from the same OpenMapTiles vector tiles as the basemap and computes car, bicycle, and pedestrian routes and isolines in browser Web Workers, with no routing backend. It ships a MapLibre GL JS routing control.
Routing engines
Self-hosted routing backends that compute directions and route plans.

OSRM
Open Source Routing Machine
A high-performance routing engine for shortest paths in road networks. Written in C++ and designed for large-scale deployments with OpenStreetMap data.
Used by 1 product

Valhalla
Multi-modal routing engine
An open-source multi-modal routing engine supporting car, bicycle, pedestrian, and transit routing. Uses OpenStreetMap data with dynamic costing models.
Used by 3 products

GraphHopper
Fast routing with flexible profiles
A fast and memory-efficient routing engine with support for custom vehicle profiles, isochrones, and map matching. Available as open-source or hosted API.
Used by 1 product

MOTIS
Multimodal transit routing engine
An open-source multimodal travel information system: door-to-door routing across public transport (GTFS, GTFS-RT), walking, cycling, and car, plus geocoding and map tiles. Its built-in web UI renders with MapLibre GL JS.
Transitous
Free community-run transit routing
A community-run, free public transport routing service powered by MOTIS, aggregating GTFS feeds from around the world into one public API. Used as a routing backend by apps in the MapLibre ecosystem.

openrouteservice
Routing powered by OpenStreetMap
An open-source routing service by HeiGIT providing directions, isochrones, matrix calculations, and geocoding based on OpenStreetMap data.
Compare the engines
What each engine routes out of the box, the API features it documents, and what it takes to run. Transit needs timetable feeds you supply, except on Transitous, which collects them.
| Name | Car | Bike | Foot | Transit | Turn-by-turn | Isochrones | Matrix | Map matching | Elevation | License | Language |
|---|---|---|---|---|---|---|---|---|---|---|---|
| OSRM | Yes | Yes | Yes | No | Yes | No | Yes | Yes | Partly1 | BSD-2-Clause | C++ |
| Valhalla | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | MIT | C++ |
| GraphHopper | Yes | Yes | Yes | Yes | Yes | Yes | Partly2 | Yes | Yes | Apache-2.0 | Java |
| MOTIS | Yes | Yes | Yes | Yes | Yes | Partly3 | Yes | No | Yes | MIT | C++ |
| Transitous | Yes | Yes | Yes | Yes | Yes | Partly3 | Yes | No | Yes | MIT | C++ |
| openrouteservice | Yes | Yes | Yes | Partly4 | Yes | Yes | Yes | Partly5 | Yes | GPL-3.0 | Java |
1Only with custom Lua profiles that load elevation data; the standard profiles ignore it.
2Only in the hosted Directions API; the open-source server has no matrix endpoint.
3The API returns reachable stops with travel times; the web UI draws isochrones from them.
4An experimental profile that needs your own GTFS feed.
5Self-hosted instances only, and it returns graph edge IDs rather than a matched route.
From each project's own documentation, checked September 2026. The engines move fast, so confirm details in their docs.
OSRM
OpenStreetMap
- Running it
- Official Docker images; each profile is preprocessed separately, and the project wiki puts a car planet at about 415 GiB of RAM to extract and 123 GiB to serve (v5.26 figures).
- Hosted
- FOSSGIS sponsors a free demo server (router.project-osrm.org) with car, bike and foot for reasonable non-commercial use, at most 1 request per second and without guarantees.
Valhalla
OpenStreetMap + GTFS for transit
- Running it
- Official Docker images build tiled routing graphs from an OSM extract on first start; the tiled design aims at a small memory footprint, and Valhalla also runs on iOS and Android.
- Hosted
- FOSSGIS runs a free public demo server with a planet graph (valhalla1.openstreetmap.de) under a fair-use policy with rate limits.
GraphHopper
OpenStreetMap + GTFS for transit
- Running it
- A single Java jar (community Docker images exist); a planet import needs about 60 GB of RAM and 3 hours, plus about 120 GB and 25 hours for the car speed-up preparation.
- Hosted
- GraphHopper GmbH sells the hosted Directions API, which adds a Matrix API; its free plan gives 500 credits a day for non-commercial use.
MOTIS
GTFS or NeTEx + OpenStreetMap
- Running it
- A single release binary: motis config, motis import and motis server turn an OSM extract and timetable feeds into a running server, and the project says it is built for low memory use, so planet-sized deployments fit affordable hardware.
- Hosted
- The project documents no hosted API of its own; its README points to Transitous, a free community-run MOTIS instance at api.transitous.org.
Transitous
GTFS or NeTEx + OpenStreetMap
- Running it
- It is a service running MOTIS rather than a package: its container, feed list and MOTIS config are public, and importing every feed takes about half an hour even on powerful hardware.
- Hosted
- Free community-run MOTIS API at api.transitous.org with worldwide coverage where feeds exist, for non-commercial open-source apps only, best effort, with a User-Agent and attribution required.
openrouteservice
OpenStreetMap + GTFS for the experimental transit profile
- Running it
- A Docker Compose setup; RAM grows with the extract, about 8 GB for Germany and 100 to 105 GB per bike or foot profile for the planet.
- Hosted
- HeiGIT runs a free public API that needs a key and has daily quotas (2,000 directions requests a day by default); the matching endpoint is self-host only.
Hosted routing APIs
Routing services you can call from a MapLibre map without running an engine.
Know of another routing or navigation tool?
Suggest navigation SDKs, routing engines, or hosted routing services.








