Comparison
OSRM (C++) and GraphHopper (Java) are both mature OSM-based routing engines. OSRM wins on raw query speed for car routing. GraphHopper is easier to customize in Java, has a friendly hosted offering, and supports more vehicle profiles out of the box.
| OSRM | GraphHopper | |
|---|---|---|
| Type | Web App | Web App |
| Pricing | open-source | open-source |
| Open source | Yes | Yes |
| License | BSD-2-Clause | Apache-2.0 |
| GitHub stars | 8.1k | 6.7k |
| Last commit | 1 weeks ago | today |
| Categories | routing | routing |
| Platforms | — | — |
| Languages | — | — |
| API style | — | — |
Choose OSRM if…
Raw car-routing throughput matters most, or you're already running C++/Node infrastructure.
Full OSRM profileChoose GraphHopper if…
Your stack is JVM-based, you want easier customization, or you prefer a managed hosted option from the same team.
Full GraphHopper profile