// the find
Project-OSRM/osrm-frontend
The OSRM frontend
The official map UI for Project-OSRM, the open-source routing engine. It wraps Leaflet Routing Machine with OSRM-specific patches, multi-profile mode switching, geocoding via Nominatim, and shareable route URLs. If you're self-hosting OSRM and need a working map interface out of the box, this is it.
Docker-first setup with the `OSRM_MODES` env var lets you wire up car/bike/foot backends at runtime without touching source. Test coverage is unusually good for a map frontend — dedicated test files for geocoder caching, URL state, router patches, and Docker entrypoint behavior. The i18n directory covers 14 languages with proper locale files. Active CI with weekly dependency updates and PR title checks suggests the project is still being maintained despite its niche audience.
Deeply coupled to Leaflet Routing Machine, which is itself unmaintained — any upstream LRM bugs are yours to patch locally (see `src/router_patches.js` and `src/geocoder_patches.js`). The source-level backend configuration story (`src/leaflet_options.js`) is clunky for anything beyond Docker: you're editing JS files rather than passing config. No TypeScript, no module bundler output targeting modern ES — the Vite config exists but the codebase looks like it predates that migration. At 367 stars it's reference code, not a community ecosystem; if your routing needs diverge from OSRM's default behavior you're forking, not extending.