GraphHopper vs openrouteservice

A side-by-side comparison of two self-hosted maps & gis options — licensing, setup difficulty, resource needs, and what each one replaces.

Not the right match-up?
FeatureGraphHopperopenrouteservice
Deploy effortUnder-an-hour setupUnder-an-hour setup
Health score83 · Excellent85 · Excellent
CategoryMaps & GISMaps & GIS
LicenseApache-2.0GPL-3.0
LanguageJavaJava
Setup difficultyMediumHard
Min. RAM4,096 MB8,192 MB
Deploymentdocker, bare-metal, binarydocker, bare-metal
GitHub stars★ 6,701★ 1,976
First released20122017
ReplacesGoogle Directions APIGoogle Directions API

What are GraphHopper and openrouteservice?

GraphHopper

GraphHopper is an open-source routing engine that calculates routes for cars, bikes, and pedestrians using OpenStreetMap data. It supports turn-by-turn navigation, isochrones, and route optimization.

  • Multi-profile routing
  • Turn-by-turn navigation
  • Isochrones
  • Route optimization

openrouteservice

openrouteservice provides routing, isochrones, distance matrices, and more as a self-hostable API. It supports many travel modes and is built on the GraphHopper engine with OpenStreetMap data.

  • Routing and isochrones
  • Distance matrices
  • Many travel profiles
  • Self-hostable API

GraphHopper vs openrouteservice: key differences

Both projects are written in Java. Licensing differs — Apache-2.0 for GraphHopper versus GPL-3.0 for openrouteservice. GraphHopper is the lighter option, starting around 4,096 MB of RAM against 8,192 MB for openrouteservice. GraphHopper is the more established project (first released 2012), while openrouteservice arrived in 2017. GraphHopper has the considerably larger community, at 6,701 GitHub stars versus 1,976.

Why pick each one

Choose GraphHopper if…

  • Released under the Apache-2.0 license
  • First-class Docker support for quick deployment
  • Mature project with 6.7k GitHub stars
  • Written in Java
GraphHopper details

Choose openrouteservice if…

  • Released under the GPL-3.0 license
  • First-class Docker support for quick deployment
  • Active community (2k GitHub stars)
  • Written in Java
openrouteservice details

Frequently asked questions

Is GraphHopper or openrouteservice better?

GraphHopper is the stronger all-round pick: it has both the larger community and the simpler medium setup. Consider openrouteservice if its specific feature set fits your needs better.

Are GraphHopper and openrouteservice free and open-source?

Yes. GraphHopper is licensed under Apache-2.0 and openrouteservice under GPL-3.0. Both can be self-hosted at no software cost.

Can I run GraphHopper and openrouteservice with Docker?

GraphHopper: yes. openrouteservice: yes.

Which is lighter on resources, GraphHopper or openrouteservice?

GraphHopper has the smaller minimum footprint at 4,096 MB of RAM, compared to about 8,192 MB for openrouteservice. Real-world usage depends on library size, user count, and enabled features.

Related comparisons