Routino : Router for OpenStreetMap Data

Calculate Route (UK) Learn More Download Source Translate


Routino is an application for finding a route between two points using the dataset of topographical information collected by

This router uses a routing algorithm that takes OSM format data as its input and calculates either the shortest or quickest route between two points. To optimise the routing a custom database format is used. This allows the routing to be performed quickly after a modest one-off pre-processing stage.

A selection is possible for any of the major OSM transport types and for each of the main OSM highway types a preference can be provided and a speed limit. Restrictions on one-way streets, weight, height, width and length are also options. Further preferences about road properties (e.g. paved or not) can also be selected.

The processing of the input XML file is based on rules in a configuration file that transform the highway tags into tags that are understood by Routino. The generation of the output files (HTML and GPX) uses language fragments selected from another configuration file which allows multi-lingual output from the same database.

The router takes into account private/public/permissive restrictions on highways as well as tagged speed limits and barriers (gates, bollards). The simplest and most common turn restriction relations (those composed of a way, node and way) are also supported.


An online demonstration of Routino providing routing within the UK is available. Adding more data would allow routing over a larger area but resources on this website limit it.


22nd March 2014 - Online translation tool available
To simplify the creation of new translated versions of the router web pages and route instructions an online tool is available to simplify their creation. If you would like to improve Routino's support for your language please join in and translate something.
Translation tool.
22nd March 2014 - Version 2.7 of Routino released
Update web page HTML for touch screens. Allow choice of either Leaflet or OpenLayers Javascript map libraries. Simplify the creation of translated web pages. Add '--output-stdout', '--reverse' & '--loop' option to router. Allow bicycles both ways on certain oneway roads if tagging allows. Fix a few small bugs and improve parsing of limits.
Full release information.
26th January 2014 - Leaflet router preview
A Leaflet version of the web pages will be included in the next release. Previews of the new Leaflet version and OpenLayers version of the updated router are available for trial.
Please report any problems - use the e-mail address at the bottom of the page.
13th January 2014 - French translations added
A French translation of the router web page and route instructions will be included in the next release. The existing router has been updated already and the two changed files can be downloaded here and here.
More translations are always welcome - use the e-mail address at the bottom of the page.
6th July 2013 - Version 2.6 of Routino released
Much faster database generation and faster routing (especially for slim mode). Simpler compile-time configuration (Makefile.conf). Improved data visualiser with access to data parsing errors and the ability to see the details of any item displayed.
Full release information.
3rd June 2013 - Linux glibc v2.16 causes Routino slow-down
Since version 2.16 of glibc the GNU C library used on Linux some floating point operations have been changed to use software instead of the FPU hardware. This slows down the Routino router by ~50%; this can be recovered by adding the -ffast-math option to the CFLAGS variable in src/Makefile.
glibc bug report and discussion.
20th April 2013 - Version 2.5.1 of Routino released
Bug fixes for XML parsing (4-byte UTF-8), XML quoting (7-bit ASCII special chars), installation documentation and routing for some special case short routes.
Full release information.
9th February 2013 - Version 2.5 of Routino released
New XML parser and PBF and O5M/O5C parsing and reading of bzip2 or gzip compressed files. More complex tag parsing configuration file options and more tags processed.
Full release information.
9th February 2013 - 32-bit nodes
The highest node identifier in the OpenStreetMap database has just passed 2147483648 (2^31) but Routino uses unsigned 32-bit integers and will continue working unchanged.
Numerical limits information.

Older news (pre 2013)

News updates on this page are also available as an RSS FeedRSS feed.


This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.