OpenSource-Hub
G

GraphHopper Routing Engine

6.4k stars·Developer Tools·SHA-256 checksum verified

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)

Troubleshooting
Why 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.

GitHub Issue #3023

Tags

routingopenstreetmapnavigationjavamap-matchingisochronegraphhopper

Getting Started

1

Download installer

Click the button above to download the installer for your system

2

Install the software

Double-click the downloaded installer and follow the prompts

3

Download the latest release JAR from GitHub Releases or Maven Central

4

Start the server: `java -jar graphhopper-web-*.jar` (requires OSM data configuration)

5

Call the API: `http://localhost:8989/route?point=lat1,lon1&point=lat2,lon2` to get a route

Install Guide
  1. Download the latest release JAR from GitHub Releases or Maven Central
  2. Start the server: `java -jar graphhopper-web-*.jar` (requires OSM data configuration)
  3. Call the API: `http://localhost:8989/route?point=lat1,lon1&point=lat2,lon2` to get a route
File Integrity

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 Source
Environment Guide

Uninstall 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.

Project Info
LicenseApache-2.0
Last Updated2026-06-27 11:35:16
GitHub RepositoryOfficial Website

Having issues? Check the FAQ below

1 FAQ

Similar Projects