GraphHopper Routing Engine
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 distance, time, turn-by-turn instructions and many road attributes for a route between two or more points.
Smart Download
Visit Project Homepage
No installer available yet — head to the source repository
Fast open-source routing engine for OpenStreetMap, supporting A-to-B, map matching, isochrones, and more.
Core Features
- A-to-B and multi-point routing with distance, time, and turn-by-turn instructions
- Map matching (snap GPS points to road network)
- Isochrone calculation (reachable area within time)
- Mobile navigation support for Android
- Uses OpenStreetMap and GTFS data by default
What It Can't Do
- •Initial setup requires downloading OSM data and preprocessing, which can be time-consuming,Memory usage scales with map size; 8GB+ RAM recommended for country/world maps,Default config.yml may need tuning for port, cache, and other settings,Compared to commercial APIs like Google Maps, road data updates rely on OSM community; real-time traffic requires additional integration
Use Cases
- Self-hosted navigation service for privacy or offline use
- Logistics route optimization and distance calculation
- Accessibility analysis with isochrones
- GPS trace cleaning and map matching
- Route planning for bike, walk, car in travel apps
Detailed Introduction
GraphHopper is a high-performance routing engine released under Apache License 2.0. It can be used as a Java library or as a standalone web server to compute routes between two or more points, including distance, time, turn-by-turn instructions, and many road attributes. Beyond A-to-B routing, it supports snap-to-road (map matching), isochrone calculation, mobile navigation, and more. It uses OpenStreetMap and GTFS data by default but can import other data sources. The engine is designed to be memory-efficient and fast, making it suitable for both small applications and large-scale deployments.
Troubleshooting & FAQ (1)
TroubleshootingWhy does Graphhopper map matching create dead-end edges and unnecessary backtracking?
This is a known bug in Graphhopper's map matching algorithm that caused dead-end edges and backtracking in results. It has been fixed in commit 25494d28. Update to the latest Graphhopper version (or any release containing this commit) to resolve the issue. Rebuild your graph and re-run map matching after updating.
Tags
Getting Started
Download installer
Click the button above to download the installer for your system
Install the software
Double-click the downloaded installer and follow the prompts
Download the latest release JAR from GitHub Releases or Maven Central
Start the server: `java -jar graphhopper-web-*.jar` (requires OSM data configuration)
Call the API: `http://localhost:8989/route?point=lat1,lon1&point=lat2,lon2` to get a route
- Download the latest release JAR from GitHub Releases or Maven Central
- Start the server: `java -jar graphhopper-web-*.jar` (requires OSM data configuration)
- Call the API: `http://localhost:8989/route?point=lat1,lon1&point=lat2,lon2` to get a route
Checksum not available
This project has not published a SHA-256 checksum on its GitHub Release page
SHA256 Checksum
No checksum available
Download directly from GitHub Releases and verify file integrity yourself
All SHA-256 checksums on this platform are extracted from the project's official GitHub Release page, without any modification. You can independently verify them on the GitHub Releases page.
Open Source Transparency
View GitHub SourceUninstall Info
Delete the downloaded JAR file and generated graph cache folder. If used as Maven dependency, remove the dependency from pom.xml.
No Extra Dependencies
Ready to use after download. No additional runtime required.
Having issues? Check the FAQ below
1 FAQ
Similar Projects
Visual Studio Code (Code - OSS)
A free, open-source code editor by Microsoft with rich extensions, debugging, and Git integration. The most popular developer tool worldwide.
scrcpy
Display and control your Android device from your computer via USB or TCP/IP. No root required, high performance, low latency, supports audio and video mirroring.
godot
Godot Engine is a free, open-source, cross-platform 2D and 3D game engine with a unified editor. Unlike Unity or Unreal, it's entirely MIT-licensed and community-driven, offering a lightweight yet powerful node-based workflow that runs on a single executable.