Deprecate Key:cyclestreet?

Hey there, I did some extensive research last weekend on the actual legislation of “bicycle boulevards” a.k.a “cyclestreets”, “bicycle roads”, “neighbourhood greenways” etc. and documented it here:

Part of the research was how bicycle_road and cyclestreet are used in the wild.

And basically, except for maybe Belgium, Netherlands, Luxembourg where usage of cyclestreet dominates (because it was initially documented by a Belgian mapper) and Germany, maybe Austria where usage of bicycle_road dominates because it was documented by Germans, usage is pretty topsy-turvy everywhere else.

I.e. both tags are used and the documented clear divide between countries with a more restrictive legislation (bicycle_road: only bikes allowed by default) and a less restrictive legislation, if any (cyclestreet: “car drivers, be careful, okay??”) does not really exist outside of the mentioned countries.

Plus, I found out that Luxembourg initially belonged to the “restrictive” club together with Germany and Austria but changed legislation in 2020 to have similar legislation as in Belgium, yet, this wasn’t reflected in a change of tagging.
This kind of leads me to believe that the whole rationale written foremost in the cyclestreet wiki page about why this tag exists at all is just a post-rationalization rather than a useful distinction. Data consumers will want to look at the concrete access tags anyway for concrete access restrictions.
It also shows that having two tags for basically the same thing does not make so much sense, as the legislation on what restrictions apply exactly can always change.

So, why not deprecate bicycle_road then? You know it is really not so important either way, but there are a few points that speak for that tag:

  • that tag was in-use 2010 and was documented in English as early as 2013. cyclestreet was only documented 5 years later. I.e. bicycle_road existed much longer
  • bicycle_road is a JOSM preset (since I don’t know) while cyclestreet is not

What do you guys think?

Also, if you have anything to contribute to the table in the wiki page, please do! I am sure I did not cover all the countries and states that actually do have bicycle roads yet.


Tag parsing isn’t just about binary access restrictions, but can also be about routing weightings, of course. gives a weighting boost to anything with a cyclestreet/bicycle_road-type tag and I’m sure it’s not the only routing engine to do so.


A few points:

  1. Please share this in the communities of countries where these tags are common, e.g. Nederland (Netherlands) - OpenStreetMap Community.
  2. Make a Wiki page with the content of this proposal.
  3. The fact that the concept only exists in a few countries isn’t a good reason for deprecation. Usage is actually spreading, as I’ve found a cyclestreet in Padua, Italy this August. What will deprecation of the cyclestreet tag achieve?
  4. The tag may be useless to you, but it is verifiable information and may be very valuable for others. Please consider that more carefully.

Oh sorry, in case that wasn’t clear: I am not asking to just deprecate cyclestreet without replacement but basically merge the two tags into one tag. As @Richard mentioned, any data consumer will (have to) treat these two tags as synonymous already now anyway.


How will a data user interpret the remaining tag then? I can drive a car on a Dutch cyclestreet, but not on a German bicycle road. This is currently very clear with the cyclestreet vs bicycle_road tags, but you’re proposing to use bicycle_road for both, while they are different concepts. That seems counterproductive to me.

Instead I suggest that documentation of both keys is checked and added if necessary on OSM tags for routing/Access restrictions - OpenStreetMap Wiki.

Currently, bicycle_roads in Germany are “always” tagged together with access restrictions because data consumers usually don’t know about them. This is also encouraged in the wiki (a bit less clearly since westnordost’s edits, but still).

1 Like

As written on the bicycle_road wiki page also before I added all the information, a data user looking for access restrictions should look primarily at the access restrictions tag. For better precision, it could fall back to whatever defaults the legislation for bicycle roads in the country the road is situated in are specified, as stated in the table on the wiki page.

As stated in the original post, usage of bicycle_road and cyclestreet is pretty topsy-turvy except in the mentioned countries. In other words, the assumption that all bicycle_road=yes implies a vehicle=no is not realistic when looking at the actual usage of the tags in the world. (Let overpass show you all roads tagged with bicycle_road=yes in the world to you see what I mean.)

Also, as written in the wiki article, the legislation on what exactly this sign restricts may change, as it did for Luxembourg in 2020.

To draw a comparison, the exact restrictions for highway=pedestrian and probably even more so for highway=living_street

also differ from country to country. In some countries, cyclists may ride through pedestrian zones (as “guests”), in others not. Yet in others, cars are also allowed, with varying restrictions.
We do not want several different tags for these either only because the legislative restrictions differ because in any one country, there is only one type of living street, not two. Even though, … I do not want to shoot myself in the foot with this example, but… how are “shared zones” tagged again? They are pretty much watered down living streets / pedestrian zones after all.

IMO all of that should be documented in OSM tags for routing/Access restrictions - OpenStreetMap Wiki and explicit restrictions like motor_vehicle=no on highway=pedestrian or on bicycle roads can be added as a consideration for routers that don’t look at the finer tagging details, but I would not deprecate the cyclestreet tag because bicycle road means something similar.

But why? What is the advantage?

The advantage is that cyclestreets are tagged as such, and different from German bicycle roads, because they are different. The alternative would be more documentation on that long access restrictions page, with a proposal that is at least documented on Wiki page, as I previously mentioned.

If you cannot drive a car on a bicycle_road=yes, isn’t it simply a highway=cycleway? If so, then having cars prohibited by default on bicycle_road=yes (without also highway=cycleway) makes little sense.

In the Netherlands, we have cyclestreets with Belgium-like sign which have no legal status (common), as well as cyclestreets with an official cycleway traffic sign with “other vehicles permitted as guests” (uncommon). Currently, it would make most sense to tag the former as cyclestreet=yes and the latter as bicycle_road=yes, but in current practice both types currently use cyclestreet=yes only.

Note that we could also use the value of cyclestreet=* to distinguish between the different types. This is probably easier for data consumers than separate keys.

No, at least in Germany. It is a road, legally and by design (mostly more than 3 meters wide, allowed for pedestrians [on edge or sidewalk], right before left at intersections etc.). This is not the case for cycleways.


In that case, one could also set bicycle_road=yes on highway=cycleway (with the access restrictions coming from highway=cycleway). Or perhaps we could introduce a new highway value highway=cyclestreet (to differentiate from highway=cycleway) similar to highway=pedestrian (to differentiate form highway=footway)?

Oh? That’s new to me. How do the signs look? Do you know where to look for that in the legislation?

1 Like

Interesting! Do you know how it is defined legally to be “allowed as a guest”? (For example, are you allowed to overtake if the space allows it? E.g. in Belgium, you may not on bicycle streets.) Does the sign as a whole really not have an own identifier?

“As a guest” has no particular legal definition in the Netherlands. The sign as a whole also has no official identifier (remember, there is no legal concept of a cyclestreet). The G11 sign is legally defined (compulsory cycleway) and everything below that needs to be interpreted in accordance with article 67 RVV 1990.

Hm well, if “as a guest” is somewhat up for interpretation and “fietstraat” carries no meaning in legislation, it sounds like this sign as a whole is also not quite defined in legislation.

But anyway, this is probably then tagged as something like


and because of the title “fietsstraat” on the sign, probably also cyclestreet=yes. I see why you could see bicycle_road=yes to be used for this variant of the fietstraat: Because the default access restriction for fietspaden also includes vehicle=no.

On the other hand, to record the information from the sign accurately, we’d want to add vehicle=no in any case.

No, at least in Germany. It is a road, legally and by design (mostly more than 3 meters wide, allowed for pedestrians [on edge or sidewalk], right before left at intersections etc.). This is not the case for cycleways.

cars might have the right to use a German bicycle road

Unfortunately, I’m unfamiliar with the various laws or on-the-ground conditions that you’ve all described above. But I think I speak for many in the U.S. in observing that the coexistence of bicycle_road and cyclestreet is very confusing, even if it is justified by legal or practical distinctions. It must be even worse when translating these not-originally-English words back into other languages, because “bicycle” and “cycle-” are synonymous, while “road” and “street” are effectively synonyms as well. No wonder Americans have occasionally looked at both keys, flipped a coin, and applied one of them to a bike boulevard that has as much legal force as a neighborhood welcome sign.

Don’t even get me started about motorroad versus motorway versus expressway. :sweat_smile:

As messy as the list of values of designation has become, maybe its proponents had the right idea: a flexible statement of local intent, to be interpreted differently from the country to country, without claiming to supplant any access tags or other secondary tags that global data consumers depend on.