Repolode
GIScience

GIScience/openrouteservice

Open source routing engine in Java offering directions, isochrones, matrix, and snapping services built on OpenStreetMap data.

Open-source alternative to:Google Maps Platform Directions API

Stars
1,990
Forks
488
Open issues
177
Last commit
yesterday

What is it?

Openrouteservice is a route planning backend written in Java. It is built on a forked and edited version of GraphHopper 4.0 and uses free geographic data from OpenStreetMap to serve spatial queries for multiple modes of transport.

The service exposes HTTP endpoints for directions between locations, isochrones showing areas reachable within a given time or distance, one-to-many, many-to-one and many-to-many time and distance matrices, snapping coordinates to the road network, and exporting the base routing graph. Health and status endpoints are available when you run your own instance.

It is distributed as a Docker image, and a docker-compose setup is provided so a local instance can be started with example OSM data. Documentation covers running the service, the API reference, and the Swagger UI for local testing.

Key features

  • 01Directions for different modes of transport
  • 02Isochrones showing reachable areas from given locations
  • 03One-to-many, many-to-one and many-to-many time and distance matrices
  • 04Snapping coordinates to the road network
  • 05Exporting the base routing graph

Use cases

  • Adding routing and travel-time calculations to a web or mobile map application
  • Computing service areas or catchments with isochrones
  • Building logistics or fleet tools that need distance and time matrices
  • Running a self-hosted routing API on OpenStreetMap data

Quick start

  1. 1

    Create data directories

    mkdir -p ors-docker/config ors-docker/elevation_cache ors-docker/graphs ors-docker/files ors-docker/logs
  2. 2

    Download the latest docker-compose.yml

    wget https://github.com/GIScience/openrouteservice/releases/latest/download/docker-compose.yml
  3. 3

    Start openrouteservice in the background

    docker compose up -d
  4. 4

    View the container logs

    docker compose logs

Things to know

  • Licensed under GPL-3.0, a copyleft license that requires derivative works to be open-sourced under the same terms.
  • The default setup uses only a small test OpenStreetMap extract for Heidelberg, so you must supply your own OSM data for other regions.
  • Running your own instance requires Docker and self-hosting effort; the health and status endpoints are not on the public live API.

Topics

FAQ

What is openrouteservice?
Open source routing engine in Java offering directions, isochrones, matrix, and snapping services built on OpenStreetMap data. Openrouteservice is a route planning backend written in Java. It is built on a forked and edited version of GraphHopper 4.0 and uses free geographic data from OpenStreetMap to serve spatial queries for multiple modes of transport.
Is openrouteservice free to use? What license does it have?
openrouteservice is open source under the GPL-3.0 license. Check the license terms before using it in commercial products.
Is openrouteservice still maintained?
Actively maintained. The last commit to openrouteservice was on Nov 6, 2026.
What can I use openrouteservice for?
Adding routing and travel-time calculations to a web or mobile map application Computing service areas or catchments with isochrones Building logistics or fleet tools that need distance and time matrices Running a self-hosted routing API on OpenStreetMap data
How do I install openrouteservice?
Create data directories: mkdir -p ors-docker/config ors-docker/elevation_cache ors-docker/graphs ors-docker/files ors-docker/logs Download the latest docker-compose.yml: wget https://github.com/GIScience/openrouteservice/releases/latest/download/docker-compose.yml Start openrouteservice in the background: docker compose up -d View the container logs: docker compose logs
Where can I get openrouteservice?
The source code and installation instructions are on GitHub: https://github.com/GIScience/openrouteservice

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects