tool · draft

OSRM (Open Source Routing Machine)

Open-source C++ routing engine that finds fastest routes, travel-time tables and map-matched GPS traces on road networks built from OpenStreetMap, for car, bicycle and walking.

Movement & logistics

What is reusable: open sourceopen dataAPIopen participation BSD-2-ClauseFree public servers exist (the project's demo server and FOSSGIS's routing.openstreetmap.de), each with a usage policy that rules out heavy use; heavier work runs its own instance.

OSRM, the Open Source Routing Machine, is a routing engine written in C++ that finds shortest paths in road networks built from OpenStreetMap data.1,2 Profiles for car, bicycle and walking come with it and can be customised.1 Routes across a continent-sized network take milliseconds, by the project's account.1 It is free and open source under the two-clause BSD licence and is maintained by its community.1,2 The paper to cite is Luxen and Vetter, "Real-time routing with OpenStreetMap data", from the 2011 ACM SIGSPATIAL conference.2 Version 26.10.0 was released on 1 October 2026.3

Six services are reached through an HTTP API, a C++ library, and Node.js and Python bindings.2 Nearest snaps a point to the street network, route finds the fastest route between points, and table gives travel times or distances between every pair of a set of points.2 Match fits a noisy GPS trace to the roads, trip solves the travelling salesman problem with a greedy heuristic, and tile serves vector tiles carrying routing data.2 To run your own, you download an OpenStreetMap extract, for example from Geofabrik, prepare it with a profile and serve it with osrm-routed; Docker images are provided.2 Preparation can be slow: a 550.7 MB extract of Mexico took about 30 minutes to extract.2

Two kinds of public server are available for light use. The project's demo server has its own usage policy.2 FOSSGIS e.V. runs routing.openstreetmap.de on OSRM v5.27.1, with worldwide car, bike and foot routing on its own profiles.4 Its data is refreshed roughly every two days.4 Its usage policy asks for the OpenStreetMap attribution and a link to "fix the map", a user agent that identifies the application and a referrer where possible, no more than one request per second, and no scraping or heavy use.4,5 Commercial use is allowed only where the service is not a substantial part of an online offering, high-traffic websites are generally not permitted, each service runs on a single server with no guarantee of availability, and permission can be revoked at any time.5 The policy points those who need more to the guide for installing OSRM themselves.5

For a model of a place, the table service gives travel times by road, bike or on foot between, say, every home in a district and its nearest clinics or schools, and match places recorded GPS traces on the streets they followed.2

form
open-source routing engine
group
Transport and crowds
homepage
https://project-osrm.org/
licence
BSD-2-Clause
cost
free

uses this engine, platform or technique

  • OpenStreetMap datasource draft

    Volunteer-built open map database of the world, covering roads, buildings, land use and places, and the base layer for most models of places.

    open dataopen participation

needed by

  • God's Eye View tool draft

    Open-source browser globe by Bilawal Sidhu and Sameh Khamis that puts live public feeds on Google's photorealistic 3D tiles: aircraft, ships, satellites, earthquakes, fires, weather, public cameras.

    open sourcepartly open dataopen participation

Tags: routing, travel time, OpenStreetMap, map matching, C++, open source

staging: drafts and proposals shown