project-osrm/osrm-backend

Open Source Routing Machine - C++ backend

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

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

Repository Insights (GitGenius)

Median issue/PR response: 26.9 hours
Mean response time: 166.3 days
90th percentile: 234.2 days
Tracked items: 363

How this project is maintained

69% of open issues come from outside the core team, a mix of external reports and the maintainers' own roadmap. Work labelled "Profile" is answered fastest, typically in about 5 hours, while "Starter Task" waits about 9 months. Three people close 73% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 83
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 1,616 days
Stale 30+ days: 78
Stale 90+ days: 57

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • Bug Report (151)
  • Feature Request (66)
  • Stale (48)
  • question (21)
  • Starter Task (14)
  • Profile (12)
  • Refactor (8)
  • Discussion (6)

Most active issues this week

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.