Freedom251 › Route Planning Software
OSRM

What OSRM is
OSRM is a free, open-source routing engine written in modern C++ for calculating shortest paths across road networks. It can import OpenStreetMap data and prepare transportation behavior through Lua profiles. Supplied profiles commonly cover car, bicycle, and walking travel, while profiles can be customized for other routing needs. The project says continental-sized networks can be handled within milliseconds. Its services include nearest-road lookup, route calculation, distance and duration tables, map matching, trip optimization, and vector tiles. Developers can access these capabilities through an HTTP API, a C++ library interface, or a Node.js wrapper. OSRM can run as an API service or be self-hosted on Linux, macOS, and Windows. The project recommends Docker images as the quickest way to establish a routing engine. Python binding wheels are distributed for Linux x86_64 and aarch64, macOS arm64, and Windows x86_64; other platforms may require compiling from source. The trip service approximates the Traveling Salesman Problem and requires every input coordinate to connect to the network. OSRM is licensed under the simplified 2-clause BSD license and is maintained by its community, with Discord and GitHub used for support and project activity.
Who it suits
OSRM suits developers building routing, mapping, logistics, or travel applications that need road-network calculations. It is also suitable for teams wanting OpenStreetMap imports, customizable travel profiles, API access, or a self-hosted engine across supported operating systems.
What it does well
- Free and open source under the simplified 2-clause BSD license
- Imports flexible OpenStreetMap data
- Supports car, bicycle, and walking profiles
- Provides routing, map matching, tables, and vector tiles
- Offers HTTP, C++, and Node.js interfaces
- Docker images provide a quick self-hosting route
What to know first
- Community demo allows no more than one request per second
- Demo has no uptime, latency, or data-update guarantees
- Some platforms may require building Python bindings from source
- Trip optimization requires all coordinates to be connected
Limits
The community demo is limited to reasonable non-commercial use at no more than one request per second, with no uptime, latency, or data-update guarantees. Trip optimization requires all input coordinates to be connected.
Getting started
- Open the OSRM website
- Choose API use or self-hosting on a supported platform
- Use a Docker image for the quickest self-hosted setup
- Import OpenStreetMap data and prepare it with a Lua profile
- Connect through the HTTP API, C++ library, or Node.js wrapper
Verdict
Choose OSRM when you need an open-source road-routing engine with OpenStreetMap imports, customizable profiles, and several developer interfaces. Look elsewhere if you need guaranteed demo-server service levels or cannot build software for an unsupported platform.
Questions
Is OSRM free?
Yes. OSRM is free and open source under the simplified 2-clause BSD license.
Which travel modes are available?
The supplied profiles typically include car, bicycle, and foot or walking modes. Lua profiles determine transportation behavior during data preparation.
What platforms does OSRM support?
It supports API use and self-hosting on Linux, macOS, and Windows. Python wheels target Linux x86_64 and aarch64, macOS arm64, and Windows x86_64.
How can developers access OSRM?
Services are available through an HTTP API, a C++ library interface, and a Node.js wrapper.
What does the trip service require?
It approximates the Traveling Salesman Problem and requires all input coordinates to be connected.
Facts from OSRM's own pages
- API services
- Its services include nearest-road lookup, route, distance or duration tables, map matching, trip optimization, and vector tiles. · github.com, 4 Oct 2026
- Demo restrictions
- The community demo server is limited to reasonable non-commercial use, at no more than one request per second, and provides no uptime, latency, or data update guarantees. · github.com, 4 Oct 2026
- Interfaces
- The services are available through an HTTP API, a C++ library interface, and a Node.js wrapper. · github.com, 4 Oct 2026
- License
- OSRM is free and open source under the simplified 2-clause BSD license. · project-osrm.org, 4 Oct 2026
- OpenStreetMap
- OSRM supports flexible import of OpenStreetMap data. · project-osrm.org, 4 Oct 2026
- Operating system support
- The project distributes Python binding wheels for Linux x86_64 and aarch64, macOS arm64, and Windows x86_64; other platforms may require building from source. · github.com, 4 Oct 2026
- Profiles
- Transportation mode is determined by a Lua profile used when preparing data, with supplied profiles typically including car, bike, and foot. · project-osrm.org, 4 Oct 2026
- Purpose
- OSRM is a modern C++ routing engine for finding shortest paths in road networks. · project-osrm.org, 4 Oct 2026
- Routing speed
- The project says it handles continental sized networks within milliseconds. · project-osrm.org, 4 Oct 2026
- Self-hosting
- The project recommends Docker images as the quickest way to set up a routing engine. · github.com, 4 Oct 2026
- Support
- The project describes itself as community maintained and points users to Discord and GitHub discussions, issue triage, and code reviews. · github.com, 4 Oct 2026
- Travel modes
- The project site lists car, bicycle, and walk modes, customizable through profiles. · project-osrm.org, 4 Oct 2026
- Trip optimization limit
- The trip service approximates the Traveling Salesman Problem and requires all input coordinates to be connected. · project-osrm.org, 4 Oct 2026
Where OSRM stands on Freedom251
- Route Planning Software#11 of 39
- Location Platform Software#9 of 25