graphhopper /graphhopper

Open source routing engine for OpenStreetMap. Use it as Java library or standalone web server.

★ 6,754⑂ 1,972👁 175⑃ 1,650● 1,686▤ 47
JavaCreated 2012-02-19www.graphhopper.com/open-source/
6,754
stars
+0+1+28
1,972
forks
175
watchers
1,650
prs
1,686
issues
47
releases
–
discussions

README

GraphHopper Routing Engine

!Build Status

GraphHopper is a fast and memory-efficient routing engine released under Apache License 2.0.
It can be used as a Java library or standalone web server to calculate the distance, time,
turn-by-turn instructions and many road attributes for a route between two or more points.
Beyond this "A-to-B" routing it supports "snap to road",
Isochrone calculation, mobile navigation and
more. GraphHopper uses OpenStreetMap and GTFS data by default, along
with precise elevation data, and can also import other data sources.

 Community

We have an open community and welcome everyone. Let us know your problems, use cases or just say hello.
Please see our community guidelines.

 Questions

All questions go to our forum where we also have subsections specially for developers, mobile usage, and our map matching component.
You can also search Stackoverflow for answers.

 Contribute

Read through our contributing guide for information on topics
like finding and fixing bugs and improving our documentation or translations!
We also have good first issues
to get started with contribution.

 Get Started

To get started you can try GraphHopper Maps, read through our documentation and install GraphHopper including the Maps UI locally.

 11.x: documentation
  , web service jar
  , announcement
 unstable master: documentation

See the changelog file for Java API Changes.

Click to see older releases

 10.x: documentation
  , web service jar
  , announcement
 9.x: documentation
  , web service jar
  , announcement
 8.x: documentation
  , web service jar
  , announcement
 7.x: documentation
  , web service jar
  , announcement
 6.x: documentation
  , web service jar
  , announcement
 5.x: documentation
  , web service jar
  , announcement
 4.x: documentation
  , web service jar
  , announcement
 3.x: documentation
  , web service jar
  , announcement
 2.x: documentation
  , web service jar
  , announcement
 1.0: documentation
  , web service jar
  , Android APK
  , announcement
 0.13.0: documentation
  , web service jar
  , Android APK
  , announcement
 0.12.0: documentation
  , web service jar
  , Android APK
  , announcement
 0.11.0: documentation
  , web service jar
  , Android APK
  , announcement
 0.10.0: documentation
  , web service zip
  , Android APK
  , announcement
 0.9.0: documentation
  , web service zip
  , Android APK
  , announcement
 0.8.2: documentation
  , web service zip
  , Android APK
  , announcement
 0.7.0: documentation
  , web service zip
  , Android APK
  , announcement


 Installation

To install the GraphHopper Maps UI and the web service locally you need a JVM (= Java 25) and do:

bash
wget https://repo1.maven.org/maven2/com/graphhopper/graphhopper-web/11.1/graphhopper-web-11.1.jar \
  https://raw.githubusercontent.com/graphhopper/graphhopper/11.x/config-example.yml \
  http://download.geofabrik.de/europe/germany/berlin-latest.osm.pbf
java -D"dw.graphhopper.datareader.file=berlin-latest.osm.pbf" -jar graph

Snapshot: 2026-11-04T14:00:00Z · Data license Apache-2.0 · JSON