Open Source Routing Machine

Demo site as of 2014

Original author(s)| Dennis Luxen, Christian Vetter
Stable release|

6.0.0[1] / 21 April 2025; 3 months ago (21 April 2025)

Repository|

* github.com/Project-OSRM/osrm-backend

Written in| C++
Operating system| Linux, FreeBSD, OS X, Windows
Type| Route planning software
License| Simplified BSD License[2]
Website| project-osrm.org

This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.
Find sources: "Open Source Routing Machine" – news · newspapers · books · scholar · JSTOR (May 2021) (Learn how and when to remove this message)

|

The Open Source Routing Machine (abbreviated OSRM) is an open-source route planning library and network service. Written in high-performance C++, OSRM runs on the Linux, FreeBSD, Windows, and macOS platforms. It is designed for compatibility with OpenStreetMap's road network data. FOSSGIS operates a free-to-use server that powers walking, cycling, and driving directions on OSM's homepage.

## History

[edit]

OSRM powered Mapbox's navigation offerings during the 2010s.[3] OSRM participated in the 2011 Google Summer of Code.[4] In February 2015, OSRM was integrated into OpenStreetMap's homepage alongside two other routing engines, GraphHopper and Valhalla.[5][6] In 2025, a team at Roskilde University and the University of Waterloo used OSRM to solve the travelling salesman problem for a dataset of 81,998 bars from South Korea's National Police Agency, breaking a record set in 2021.[7]

## Architecture

[edit]

OSRM implements multilevel Dijkstra's algorithm (MLD) as well as another routing algorithm, contraction hierarchies (CH), which is better suited for very large distance matrices. Shortest path computation on a continental sized network can take up to several seconds if it is done without a so-called speedup-technique. Via the CH preprocessing pipeline, OSRM can compute and output a shortest path between any origin and destination within a few milliseconds, whereby the pure route computation takes much less time. Most effort is spent in annotating the route and transmitting the geometry over the network. This high performance facilitates use cases such as user-interactive route manipulation.

In addition to solving the shortest path problem for road networks, OSRM also includes a map matching service and a travelling salesman problem solver for generating distance matrices.

## References

[edit]

1. ^ "Release 6.0.0". 21 April 2025. Retrieved 27 April 2025.
2. ^ "osrm-backend/LICENSE.TXT at master · Project-OSRM/osrm-backend · GitHub". GitHub. 26 April 2020.
3. ^ Luxen, Dennis (30 January 2014). "Smart Directions Powered by OSRM's Enhanced Graph Model". maps for developers. Washington, D.C.: Mapbox. Retrieved 3 May 2025.
4. ^ "Improvements to the Open Source Routing Machine (OSRM)". Archived from the original on 2013-12-19.
5. ^ Filney, Klint (11 November 2013). "Out in the Open: How to Get Google Maps Directions Without Google". Wired. Archived from the original on 11 November 2013. Retrieved 11 November 2013.
6. ^ "Routing on OpenStreetMap.org". OpenStreetMap Blog. Cambridge: OpenStreetMap Foundation. Archived from the original on 1 March 2015. Retrieved 28 April 2015.
7. ^ "korea81998". Traveling Salesman Problem. Waterloo, Ontario: University of Waterloo. 9 April 2025. Retrieved 3 May 2025.

As of 18 May 2012, this article is derived in whole or in part from Open Source Routing Machine. The copyright holder has licensed the content in a manner that permits reuse under CC BY-SA 3.0 and GFDL. All relevant terms must be followed.

## Further reading

[edit]

* Vetter, Christian; Luxen, Dennis (2011). "MoNav & OSRM: 1 Jahr später" (PDF). Legato.net (in German). pp. 42–43\. Archived from the original (PDF) on October 5, 2014. Retrieved May 16, 2012.
* Hubel, Andreas (November 15, 2011). "Webbrowserbasierte Indoor-Navigation für mobile Endgeräte auf Basis der OpenStreetMap" (PDF). Andreas-hubel.de (in German). pp. 7–8\. Archived from the original (PDF) on December 22, 2015. Retrieved May 16, 2012.
* Vetter, Christian; Luxen, Dennis (November 6, 2011). "Real-time routing with OpenStreetMap data". Proceedings of the 19th ACM SIGSPATIAL International Conference on Advances in Geographic Information Systems. Association for Computing Machinery. pp. 513–516\. doi:10.1145/2093973.2094062. ISBN 9781450310314. S2CID 7289832. Retrieved February 5, 2013.

## External links

[edit]

* Project homepage
* Demonstration from the project's homepage
* Project-OSRM on GitHub
* Open Source Routing Machine on Twitter

* v
* t
* e

OpenStreetMap

Organisations|

* Geochicas‎
* Humanitarian OpenStreetMap Team
* Mapbox
* MapTiler
* Mapzen
* Missing Maps
* OpenStreetMap Foundation
* Ramani Huria
* Wikimedia Italia

Software|

| Editing|

* iD
* JOSM
* KartaView
* Mapillary
* OpenDroneMap
* Potlatch
* StreetComplete

|

Visualisation|

* Leaflet
* Mapnik
* Marble
* OpenLayers
* OpenRailwayMap
* OpenSeaMap

Navigation|

* CoMaps
* GNOME Maps
* GraphHopper
* Karta GPS
* Komoot
* Locus Map
* Maps.me
* Navit
* Neshan
* Open Source Routing Machine
* Organic Maps
* OsmAnd
* Wheelmap.org

Derivations|

* FOSM
* OpenGeofiction
* OpenHistoricalMap
* Overture Maps

People|

* Steve Coast
* Allan Mustard

This free and open-source software article is a stub. You can help Wikipedia by expanding it.

|

* v
* t
* e

*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template