From OpenStreetMap Wiki
Jump to: navigation, search
Available languages
Public-images-osm logo.svg tunnel
A tunnel is an underground passage for a road or similar.
Group: Properties
Used on these elements
should not be used on nodes
may be used on ways
should not be used on areas
use on relations unspecified
Status: unspecified

tunnel=* is used for roads, railway line, canals etc that run underground (in tunnel).

For some grade separated crossings it may however be debatable if the lower way is in the tunnel or if the upper way is on a bridge=*. In general, if the lower way is long and surround by earth it is almost certainly a tunnel; and if the lower way is short and the upper way is supported on concrete, brick on metal pillars / beams then that is almost certainly a bridge. There are however situations where it is a matter of personal judgement, but it is preferred to either tag the lower way as tunnel or the upper way as a bridge but not both.

For covered passages which are open on one side, often found on mountain roads or ways underneath a building, use covered=* in place of tunnel=*.

Where the water from a smaller stream, drain or even cattle crossing passes under a way structure or a building consider using tunnel=culvert in place of the tunnel=yes used for larger tunnels for roads or railways or canals.

For a structure that carries water or another liquid some considerable distance then it may be more appropriate to tag it as a pipeline using man_made=pipeline.

How to map

Split the way in question at the points were the tunnel starts and ends and add the tunnel tag. It is best to avoid having a tunnel continue to a junction that is not in a tunnel by splitting the way prior to the junction. Must tunnels should be tagged with layer=-1 or another suitable value. For metros/subways it is often convenient to use layer=-2 to accommodate underground passages for pedestrians between the tunnel and the surface.

Where the approach to the tunnel is in a cutting this can be identified with cutting=yes. Note that a layer=* tag is not desired on a cutting or embankment unless there are several levels that need to be differentiated.

tunnel=building_passage should not normally have a layer assigned as there is no clear above/bellow relation to the building but a layer may be required when there are several layers of building passages.

It may also be useful to add maxheight=* and maxwidth=* if there are publicised restrictions and use access=* if there restrictions on use by certain classes of vehicle or user.

If the tunnel has a name this can be specified using tunnel:name=* although there is still some debate on the best method to include a name of the tunnel as discinct from the road/railway etc that goes through it. lit=* can be included to provide information about any lighting in the tunnel (or not).

Showing a tunnel that continues to the junction on the left (wrong) and that is terminated before the junction on the right (correct).



Ways that go through a building and have walls to all sides should be tagged with tunnel=building_passage. The building and the way share the same node at the entry and exit points of the building. The way is split at the entry and exit nodes and only the part covered by the building is tagged with tunnel=building_passage. The layer has to be the same as the building, with the above mentioned exception when several tunnels are passing on different levels. So if the building doesn't have a layer tag, the way doesn't need one either.

When building_passage should not be used: It is not meant to be used for indoor mapping. The walls at both sides (and the top) of the tunnel are considered outer walls of the building, which can have entrances that lead into it (This proposal doesn't cover entrances inside building passages). For indoor mapping indoor=yes can be used. It is also not meant for ways that go through something else than a building.


A variant of covered=arcade is tunnel=avalanche_protector and should be used is in case of tunnels alongside mountains. These constructions stand for themself and are not attached to a building. Their purpose is to protect the highway or railway from avalanches and landslides. Use avalanche_protector:left=open or avalanche_protector:right=open to define which side of the way is open ("open" in case of avalanche protectors means, that light and air can enter on that side).


Actually (June 2013) only tunnel=yes seems to be rendered


See also