Deprecate Key:cyclestreet?

The large majority of it is signed as exclusive bicycle road:

I can’t speak about Dutch cycleways, but the bicycle road part of Veloroute 10 has some features that are not to be found at the German cycleways that I know:

  1. About four meters wide
  2. High-quality asphalt surface
  3. Motorway-style links to enter and exit the bicycle road
  4. Total separation from motor vehicle traffic apart from a few intersections

One other reason might be that, as far as I know, it is not possible in German law to have a cycleway allowed for pedestrians without making it a shared bicycle and footway. The difference is, that on the bicycle road, pedestrians must use sidewalks where present and otherwise keep at the side of the road.

This has been an interesting conversation so far and a few unexpected things came up that made me understand better why two tags exist at all. At this point, I just want to recap the conversation so far:

History of the two tags


…was documented in 2010 in German and translated in 2013 to English and wasn’t changed much since then. From the very start, it made clear that

  • no traffic other than bicycles are allowed unless explicitly specified but also admitting that it only describes the situation in Germany so far
  • in any case, the actual access restrictions should be added, too
  • if it looks like a cycleway, the highway tag can be cycleway, too

Also in 2013, it was added as a preset in JOSM. This might explain the widespread and dispersed usage of this tag as shown in the screenshot of overpass-turbo in a post above even outside the borders of Germany, in turn, watering down the actual definition centered on German legislation of this key.


…was documented in 2018 and was made to differentiate itself from the above by saying that it is “designed as a bicycle route, but on which cars are also allowed”. It started out with describing the situation in Belgium and Netherlands. Throughout the next years, some more countries were added.

Whether it makes sense to have two tags


  1. The differentiation at the default access restriction makes sense because no other traffic than bicycles is a very different kind of traffic situation than mixed traffic with a designation to cyclists. The former is rather alike a highway=cycleway while the latter is rather alike a traffic-calmed residential street. These are two very different things.

  2. If both these very different kind of roads should be marked with the same key, there must be comprehensive documentation which restrictions these imply in the different countries if it touches on such important restrictions as basically access=no. Not only that, data consumers actually need to parse this data, which appears so much more complicated than just using two different tags depending on the default access restriction.


  1. (Re 1,2:) What’s documented to be the differentiation between these two tags (the default access restriction) does not coincide with reality. bicycle_road is used well outside countries with a default vehicle=no access restriction in reality and hence in areas, where the restriction about no other traffic than bicycles being allowed can’t be true.
    Conversely, data consumers can already now not trust specifically the claim about the supposed access restriction of bicycle_road but must look at access tags.

  2. (Re 2:) The bicycle_road wiki page recommends to always also tag the correct access tags. So in cases where a bicycle road is actually bicycle-only, one can expect that this is made clear via the access tag, no looking and interpreting the bicycle_road is necessary.

  3. Concepts such as cycle streets, pedestrian zones and living streets each all differ in legislation in different countries. Still, we use the same tags all over the world because in OSM we do not directly map legislation but as what kind of traffic zone a road has been declared as. Connecting the declaration of such traffic zones too closely to the actual law (as has been done in the bicycle_road page) doesn’t work well, because laws changes (see Luxembourg example in the thread).

Why does bicycle_road exist at all?

If bicycle_road implies an access restriction of no other vehicles than bicycles, why not use simply highway=cycleway?

This was asked by various Dutch people in this thread, because obviously, in the Netherlands, there are cycleways that are as broad as streets, look like streets, but are designated as cycleways. And they are simply tagged as cycleways (with sidewalks etc.)

Answers (from Germans):

  1. bicycle_road is just the designation of the road (via a sign). Actually, highway=cycleway can be tagged additionally and it has been documented that way from the start

  2. Some/most roads designated as bicycle_roads actually allow other traffic on the road (such as residents, or even just any motor vehicle)

  3. The designation of a road as a bicycle_road differs from that of a normal cycleway in that it can be non-segregated from pedestrian traffic while allowing cyclists to retain the same rights as cars have towards pedestrians walking on the street (pedestrians may not impede traffic, pedestrians must use sidewalk if present)


To add my opinion to the hopefully neutral summarizing post above:

That the implied strict restriction for bicycle_road has been watered down so much is probably the fault of it being included as a JOSM preset so early without ever attempting to describe the situation (and implied) restrictions in other countries as well (since now).
So, technically, it is the bicycle_road tag that is de-facto synonymous to the cyclestreet tag and not the other way round.

What I find interesting is that in Netherlands, roads that are designated exclusively for cyclists are just tagged as highway=cycleway, regardless of their width. Err, kind of makes sense, to be honest. After all, the width can be tagged with width, whether it is two-way with oneway=no etc.

But to tag roads that have effectively been built as roads as highway=cycleway, even if closed to other traffic than bicycles, is of course uncommon, so are sidewalk tags on a cycleway. There are probably some issues with data consumer compatibiltiy with this approach.

But anyway, I think it is not necessarily uncommon or nonsensical to tag it like that (outside of Netherlands), it’s just that outside of Netherlands, this is extremely rare.

So, I wonder if the best solution would be, in a nutshell:

  • merge bicycle_road and cyclestreet into one tag (which one, I don’t care much, but the former has been around for much longer). This tag is only used to mark the designation of the road, i.e. that this kind of “dedicated for cyclists” sign can be seen there. There is no expectation that data consumers should infer access restrictions from this tag depending on the country it is in.

  • (such) bicycle roads that are really exclusively for bicycles only actually get tagged highway=cycleway, such is common practice in the Netherlands (etc.)

  • bicycle roads on which (conditionally certain) cars may drive, are tagged as normal roads with the appropriate signed access restrictions (and bicycle=designated)

1 Like

As highway=cycleway implies foot=no in Germany, while bicycle_road=yes implies foot=yes, I don’t find this a good solution.

Well, then why not add foot=yes in that case?

(FYI: bicycle_road=yes does not imply foot=yes. It only makes a statement about vehicle access. And as I wrote, my suggestion above is to make bicycle_road=yes not imply anything other than designated bicycle access)

By the way, the whole discussion is related to my work on the cycleway overlay:

Ultimately, the work on the cycleway overlay made me research into the topic of cycle streets in the first place (even though the outcome of this discussion is not relevant for the implementation).

Another thing that came up in the discussion around adding this overlay was whether tagging a path/cycleway as "exclusive cycleway with sidewalk " should be selectable at all in the app, given that highway=cycleway + sidewalk=* is not common and not clear if this tagging is something that should be endorsed.

On the other hand, it is used and describes a real albeit rare situation. I bring this up here because this is somewhat related to the whole bicycle road discussion.

1 Like

though maybe a separate thread for that would make sense?

Thanks for the summary! In response to your nutshell:

  • It indeed seems that bicycle_road=yes and cyclestreet=yes can be merged into one tag, simplifying tagging without sacrificing any data quality.
  • I have no problem with this tag being used in combination with highway=cycleway, if that makes sense in the local context (e.g. Germany, apparently).
  • If desired, country-specific default access restrictions for the tag can ultimately be specified on OSM tags for routing/Access restrictions - OpenStreetMap Wiki (similar to motorroad=yes currently), even though this is not necessary with current usage.
  • In the rare case of the Netherlands where two distinct types of cyclestreets exist in the same country, other tags can be used to differentiate between them (the Netherlands also has three distinct types of highway=cycleway).

As to which name to choose: bicycle_road=* is more similar to motorroad=* and priority_road=*, so that might be the most intuitive name.

1 Like

Huh? What are those 3 types?

A Dutch cycleway is tagged as cycleway when a cycleway sign (G11, G12a or G13) is present. Then it’s legally a cycleway, regardless of the width and whether it has a sidewalk.

Sidewalks are very common along Dutch cycleways. The design from the photo is a normal design for a Dutch two-way cycleway. It’s not “effectively been built as road”.

1 Like

one for only cyclists+peds marked with G13
one for cyclists+slow mopeds marked with G11
one for cyclists+all mopeds marked with G12a speed limit(40kmh)
and some of the G11 have an extera sign alowing for speed pedelecs

Whats the difference between pedelecs and slow mopeds? I’d have thought both would be mofa

The slow scooters go 25kmh and have a blue plate. the e-bikes also go 25kmh.
The fast scooters go 45kmh and have a yellow plate. just like the speed pedelecs

Sidewalks are very common along Dutch cycleways. The design from the photo is a normal design for a Dutch two-way cycleway. It’s not “effectively been built as road”.

indeed this looks like a cycleway more than like a street, also to my (foreign) eyes

and for me it looks looks a road (single lane local access road, probably highway=service - at least until spotting lane markings)

It seems to me like all a global data consumer can really assume from either of these tags is that the way is designated for bicycles in some sense. This is essentially the same meaning as bicycle=designated so maybe both tags should be deprecated in favor of explicit access tags. :grinning: /ducks

1 Like

But don’t forget to map the signs! :grin:

As alluded upthread, this sort of thing is exactly why we have the designation= tag in widespread use in the UK: it provides an easy method to record the legal designation of a way, without supplanting the highway= or access tags. I would commend it to our friends in Germany.

1 Like