Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Build status Join the chat at Visit our website Apache 2.0 licensed

  • Itinero: NuGet Badge
  • Itinero.Geo: NuGet Badge
  • Itinero.IO.Osm: NuGet Badge
  • Itinero.IO.Shape: NuGet Badge

Itinero is a routing project for .NET/Mono to calculate routes in a road network. By default the routing network is based on OpenStreetMap (OSM) but it's possible to load any road network. The most important features:

  • Calculating routes from A->B.
  • Calculating distance/time matrices between a set of locations.
  • Processing OSM-data into a routable network.
  • Generating turn-by-turn instructions.
  • Routing on mobile devices and lower-resource environments.

Documentation & Samples

Check the documentation website for documentation and sample code. Don't hesitate to ask questions using an issue or request more documentation on any topic you need.

Other projects

  • routing: The core routing project, used by all other projects.
  • geo: A collection of extensions to Itinero to work with NTS.
  • idp: The data processing project, a CLI tool to process data into routerdb's.
  • routing-api: A routing server that can load routerdb's and accept routing requests over HTTP.


Contributions are always appreciated, especially if they match what's on our roadmap or it fixes a bug. Also check the contribution guidelines before planning anything big. Thanks to past contributions by @Chaz6, @bertt, @jbelien, @pietervdvn, @ironromeo, @jerryfaust and @airbreather.

If you like routing, OpenStreetMap & Itinero get in touch, we may have a job for you!