project-osrm/osrm-backend

Open Source Routing Machine - C++ backend

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 19 minutes ago
Added to GitGenius on September 8th, 2026
Created on September 22nd, 2011
Open Issues & Pull Requests: 357 (+0)
GitHub issues: Enabled
Number of forks: 3,967
Total Stargazers: 8,052 (+0)
Total Subscribers: 224 (+0)

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Issue API getrepoissuespagesummary failed: 429 Rate limit exceeded. Please try again later.

Detailed Description

OSRM Backend is a high-performance routing engine written in C++ that processes OpenStreetMap data to compute routes and related navigation services.

The tool solves the problem of efficiently finding optimal paths through road networks at scale. It works by preprocessing OpenStreetMap data using one of two algorithms—Contraction Hierarchies or Multi-Level Dijkstra—to create a queryable index, then serving routing requests through an HTTP API, C++ library interface, or Node.js wrapper. The available services include route finding, distance matrix computation, GPS trace snapping to roads, traveling salesman problem solving, nearest-point snapping, and vector tile generation with routing metadata.

Teams building navigation systems, logistics platforms, or map-based applications should consider this tool if they need fast, self-hosted routing on OpenStreetMap data. The project recommends Multi-Level Dijkstra as the default preprocessing pipeline for most use cases, with Contraction Hierarchies reserved for specific scenarios like very large distance matrices. Docker images are provided to simplify deployment, and the tool can be tried immediately using the hosted demo server.

The project maintains active community engagement through Discord and social channels, welcoming contributions in the form of patches, code reviews, and issue triage. Development is supported through both volunteer effort and optional financial sponsorship mechanisms.