Tagging of towpaths (jaagpaden), fietssnelwegen & RAVels

Out of ANYWAYS | Safe cycling to school we can see that the routing is avoiding an important section of the F20 fietssnelweg in favour of two roads, one on the other side of the canal and the other a few 100 m on the East. The latter supports a significant car traffic and busses. Something must have been wrong because the F20 is one of the best cycling infrastructure you could imagine.

After analysis, it became obvious that the tagging of the towpath as highway=service was the cause of the problem and that similar issues happen with many cycle routers.

2 solutions:

  • Get all the cycle routers to change their calculation rules for a Belgian specificity
  • Try to find out why jaagpaden are tagged as highway=service and find an alternative solution

This is the question I’m trying to answer in this document, starting from an analysis of the reality of towpath, then the relevant tags in OSM to finally propose a solution.

I’d be happy to have your position about this. Pls first identify consensus & then focus on potential conflicts. I am of course open to any suggestion.

Towpaths and greenways


Out of ANYWAYS | Safe cycling to school we can see that the routing is avoiding an important section of the F20 fietssnelweg in favour of two roads, one on the other side of the canal and the other a few 100 m on the East. The latter supports a significant car traffic and busses. Something must have been wrong because the F20 is one of the best cycling infrastructure you could imagine.

After analysis, it became obvious that the tagging of the towpath as highway=service was the cause of the problem and that similar issues happen with many cycle routers.

2 solutions:

  • Get all the cycle routers to change their calculation rules for a Belgian specificity
  • Try to find out why jaagpaden are tagged as highway=service and find an alternative solution

This is the question I’m trying to answer in this document, starting from an analysis of the reality of towpath, then the relevant tags in OSM to finally propose a solution.

The current reality of towpaths

Jaagpad - Wikipedia (Dutch version) gives a pretty interesting description of towpaths. Towpaths are a remnant of the activity of towing boats in the 19th century. It has left an important continuous network of paths along canals and rivers throughout Europa and elsewhere. Today, their usage is much more diversified with parts specifically for service, others left as hiking paths, converted into roads and more and more into greenways optimised for bicycles (and pedestrians). Residential access is allowed if applicable.

Usually, there is one towpath on each side of canals, it tends to be much less continuous along rivers. In the Netherlands, there are only a few paths remaining that are recognisable as towpaths. In a lot of places, either there has never been any, or they have been replaced by regular roads or cycleways or simple paths. The same has happened in other countries, to a lesser extent.

Ownership and operation

Except in Wallonia, where the paths are managed by the ‘Directions territoriales des Routes et des Voies hydrauliques’, towpaths are usually owned by the national waterways authorities. This is potentially a source of conflict as their mission is not to enhance bicycle or pedestrian use.

The national waterways authorities make agreements with the regions/provinces for the refurbishment of towpaths for other usages, mainly cycling today. These agreements may or may not include transfer or operations responsibility and/or “ownership”.

Unlike most other countries & Wallonia, Flanders use a specific sign to identify towpath jaagpad under C3 in Flanders, giving a hint that a specific ruling might apply. Germany does as well, but only to forbid access. FR, NL and Wallonia resort to standard panels from the road code. In Wallonia, the panel F99a (version without horse), valid for all greenways including towpaths and former railway tracks has the same requirements as the ones stated in the Belgian waterways code (30 km/h, access to residents & service). Note : By law, towpaths in Belgium are part of the road network and hence the road code applies. Only the Vlaamse Waterweg describes them as service roads.


The access used often to be limited, not so much for reasons of service usage than because they were not designed with the safety and comfort of pedestrians and cyclists in view (poor surface, risk of drowning, narrow sections under bridges, interruptions around industries…) and because they sometimes remain closed for long periods because of works.

The result is that in a lot of places, bicycles and pedestrians use them “at their own risk” and explains the wide usage of combinations of signalling based on the white circle with red outer line (C3 in Belgium, B0 in France…), and a lot of confusion because of unclear combinations (see pictures below). The tendency today is rather to use blue square panels stated who is allowed access (F99x in Belgium, see picture below for France). It conveys a more positive message.


Definition : Greenways are path specifically adapted for bicycle (and pedestrians), with specific signalling, directions and marked road crossings. They are usually tagged highway=bicycle + foot=designated if applicable. Fall in this category the fietssnelwegen, RAVels, voies vertes, radschnellwege etc…

Note : In most cases (BE, NL …), pedestrians are authorised on cycling infrastructure provided that there is no alternative.

Towpath in OpenStreetMap

Highway= tag*

As one can imagine, several different tags are used for towpaths in function of the circumstances:

  • Highway=track : this implies that the width is sufficient for a motorised vehicle
  • Highway=path
  • Highway=cycleway à most frequent overall, at least when part of cycle routes
  • Highway=residential, combined with destination tag. Very seldom because there are very few buildings/properties requiring access via towpaths
  • Highway=unclassified, not very precise hence to be avoided
  • Highway=footway, when applicable
  • Highway=service,
    • Flanders, about half of all towpaths, the remaining mostly tagged as cycleway
    • France in presence of a C3 sign without exception, greenways tagged as cycleways + foot=designated
    • Others : Only when specific access to locks, storage places / dead ends

! Very often, highway=service is generating penalties in the cycle route calculators. Example: on Grasshoper, the speed is 14 km/h on service roads against 18 km/h on most other types with asphalt surface. With Alltrails, an itinerary between Hal and Brussels intended to follow F20 generates 3 double crossings of the canal to take any kind of road on the other side etc…


This is a key indicator of the quality of the road and should be filled systematically in order to facilitate routing. Pls note that smoothness=* and grade=* (for tracks) are also used for the same purpose.


Tag sometimes used to describe a towpath. Not frequent.

Vehicle= vs. motor_vehicule=**

Vehicle means any kind of vehicle, motor_vehicle is more precise. A bicycle is a vehicle…

Access and cycle routing

OSM tags for routing/Access restrictions - OpenStreetMap Wiki gives a comprehensive view of default accesses in function of the highway=* type.

It shows that most countries don’t propose provisions for usage of cycleways and footways by emergency services and maintenance. In fact, I’d be surprised if any countries would not allow these usages, provided that it is physically possible. Signage might be present or not and the legislation might be more or less strict of course. In Belgium, they are allowed and sometimes also indicated but not always.

Even though we should not map in function of the requirements of the renderers, it is essential that mapping is easily comprehensible by them so that they can take the right decisions and hence to use the same tags for similar things between countries.

Access restrictions for motor_vehicule use a variety of tags : no, private, permit, permissive, destination etc… The most frequent on towpaths is vehicle=no. For bicycle and footway, the most frequent is yes or designated.

For vehicles, the most relevant tag in Flanders could be vehicle=private as this corresponds to ‘only those with individual permission’ or motor_vehicle=destination whenever there is an access to a building/property in the section. Only problem, we have to choose between the two.

General recommendations from OSM

Duck tagging - OpenStreetMap Wiki : “If it looks like a duck, tag it as a duck (then refine if needed) à if it looks like a highway=cycleway, tag it as such”

Key:highway - OpenStreetMap Wiki : Note that “highway= distinguishes roads by* function and importance rather by their physical characteristic and legal classification. Usually these things are highly correlated, but OSM is not obligated to copy official road classifications

Tag:highway=cycleway - OpenStreetMap Wiki & Tag:bicycle=designated - OpenStreetMap Wiki : Propose to the following combinations for greenways and assimilated :

  • highway=cycleway (typically fietssnelwegen)
  • highway=cycleway + foot=designated (preset in OSM as ‘Cycle and foot path’) typically RAVel)
  • highway=path + bicycle=designated and/or foot=designated + surface=*

Note: there is some unclarity about when to use options 2 and 3 above.

Tag:highway=service - OpenStreetMap Wiki
“The highway=service tag denotes roads used for vehicle access to a building, service station, industrial estate, business park, beach, campsite, etc. It is also used for access to parking, driveways, and alleys. Service roads are not parts of the public road network, and may not always be accessible to the general public, which can be explicitly specified by an additional access= tag.*

Implicitly, they do not support through traffic, and access rights are expected to be linked to the access rights of the destination

Access key

  • motor_vehicle=private for cases where only narrow group can drive vehicles (“residents only”, “with permission of owner only”, etc.)
  • motor_vehicle=permit where anyone may drive there but needs permit that is in general given to anyone requesting it.
  • motor_vehicle=destination : “uitgezonderd plaatselijk verkeer” / “Excepté circulation locale”
  • Bicycle=designated : Use if signalled on street OR road specifically designed for bicycles

Note: There seems to be an open discussion about this.

Local references :

DE:Bicycle/Radverkehrsanlagen kartieren - OpenStreetMap Wiki : pretty detailed info

Waterways in the United Kingdom - OpenStreetMap Wiki. Towpaths to be mapped as footway or cycleway + towpath=yes

NL:Jaagpad - OpenStreetMap Wiki. Gives a good view on the relevant taggings for towpaths in Flanders today. The table ‘Type van highway’ is not in line with the global OSM documentation

WikiProject Belgium/Conventions/Cycleways - OpenStreetMap Wiki :

User:Eimai/Belgian Roads - OpenStreetMap Wiki

Conclusion and proposal

Tagging of highway=* must be as close as possible to what it looks like for most people, and in most cases, that would be path, track or cycleway.

The tag highway=service for towpath is not predominant and hence is to be avoided because of the implicit expectation that it is private and does not allow trough traffic. Neither of these affirmations is true in most cases. Anyway, the access for service/police can be considered as implicit on any kind of highway.

Renderers and bicycle route calculators tend to downgrade service roads against others.

The Vlaamse Waterweg is calling them ‘service roads’ because they want to emphasize their property and the access limitations on the towpaths. These claims can better be described by using the following tags or some variants of them:

  • Motor_vehicle=private or even motor_vehicle=no if F99a
  • Horse=no
  • Foot=designated if mentioned (F99a for instance)
  • Bicycle=designated if mentioned (D7, F99a…) OR if refurbished with asphalt, protected crossings, cycle route signalling etc… (RAVel/fietssnelwegen). Not necessary if highway=cycleway
  • Speed_pedelec=yes/no
  • Max_speed=30
  • Identification (only when there is a ‘jaagpad’ sign) :
    • Towpath=yes
    • Owner=VlaamseWaterweg
    • (Operator=VlaamseWaterweg)


I know there is an open discussion about this. Acc. To the OSM documentation, this seems the most appropriate solution, knowing that it implicitly allows traffic with specific authorisation of the owner + residents (see above). Obviously a road allowing no traffic at all makes no sense…

Highway=cycleway vs highway=path+bicycle=designated

Depending on the source, greenways (RAVels, voies vertes…), open to both bicycles and pedestrians are marked as highway=cycleway or highway=path+bicycle=designated.

Even though formally the second option should be more logical, the consensus seems to be for the first option. I tend to agree with that provided that the design is effectively optimised for bicycles (profile, curves, crossings, length, signalling…) and bicycles are the most frequent on these paths.

OSM Wiki

If you agree, we could align the different wiki documentations around this line and combine the three Belgian pages referenced above (jaagpad, cycleways & EMAI)

A few examples

Can you tell what the right picture means ? :blush:. Source : Beleidsvisie Vlaamse Waterweg. It seems that they are thinking about a solution to improve this. I hope with F99x signs or D7/D9.

Haarweg, Arkel, NL. Mapped as highway=undefined + motor_vehicle = destination on one side highway=cycleway on the other.
Jaagpad NL1
Jaagpad NL2

Don, France : Access forbidden, except authorised vehicles, just before cycle directions (EuroVelo 5) !
mapped as highway=service + bicycle=designated & footway=designated.
Mapping is result of an incoherence in the signalling.
Halage FR1

Chateauneuf du Rhône, F. mapped as highway=cycleway + footway=designated
Halage FR - Via Rhôna1
Halage FR - Via Rhôna2

Eltville, DE : Access forbidden + bicycle & pedestrians at own risks. Mapped as highway=path + bicycle=no
Towpath DE

Pretty much all of the towpaths on the 2000+ miles of waterways in the UK are tagged with towpath=yes and have been since the early days of OSM.

With my cycle.travel hat on, I’d recommend using towpath=yes, bicycle=yes, surface tags, route relations where appropriate, and of course a relevant highway tag (ideally not =path). Anything else is a nice-to-have.

Bike map | Cycle route planner | cycle.travel :wink:

1 Like

Sorry, I didn’t look at UK… towpath=yes is a very good solution anyway but I expect some other reactions about the ownership of these towpaths and the impact it may have on access rights, so I left that ‘open’.

Hi Bruno,

I’m Pietervdvn, the person who picks the weights for the Anyways-routeplanner. As such, I can tell you all the ins and outs of why our route planner chooses a specific road.

In the case that you linked, the towpath is avoided mainly because most if it is mapped as highway=path. Now, paths are a bit problematic as they are used for a wide array of “things you can travel over”. Richard did write a nice parody about this once.

For our routeplanner, we consider ‘highway=path’ to be a desire path (i.e. unpaved, small, …) and thus give it a big penalty with respect to speed and safety. A service road often has a low amount of cars, and is thus considered better.

Second, I had a look with Mapillary to your specific stretch; especially these segments:

I have to admit that they have very peculiar traffic signs: C3 + except bicycles (incl. cat A, P)

This means that these are not towpaths, at least not according to the Flemish road code.
Neither are they cycleways, according to the same laws!

From a very strict logic, these roads would become highway=unclassified,motor_vehicle=no, bicycle=yes.

(One can still argue about historic=towpath though)

On towpaths: service road is fitting; as those roads are closed to general (car) traffic.


Furhtermore, some general remarks: many people here don’t have a lot of time. A huge wall of text to spit through will be a bigger hurdle to answer. Most people here know about tags like surface, access tags and general mapping principles, there is no need to repeat them.

Furthermore, the wiki is not coherent, neither are editors or mapping practices between countries.
For example, the wiki might say A en B and describe that does it like C (even though they do D in practice). One editing program might do E and the other might do F (which is the opposite)…

OSM is a big mess with a lot of legacy which is dealt with and updated step by step. It takes some time in this community to see the direction we are going, to learn the culture and local practices. So, don’t start right away with proposing big, sweeping changes.

Hi Pieter,
Indeed the first two stretches north of Halle are tagged as highway=path. This is why my second proposal is to extend the definition of highway=cycleway in the Belgian OSM Wiki to accept this kind of roads. I guess you are ok with that ?
About the peculiar traffic signs, they are there because that part of the towpath is not owned by the Vlaamse Waterweg (it used to be a road for cars) and this confirms the idea that, for theVlaamse Waterweg, the indications ‘jaagpad’ are there as much to limit traffic as to claim property over the towpath. In this particular case, it only shows that there is a conflict of usage between the Vlaamse Waterweg and the province and we are unknowingly reproducing it on OSM.
For the towpath F20 between Halle and Brussels, do you think the province who spent millions of our money to facilitate bicycle traffic and the thousands of cyclists using it each day will agree with you that all this is meant mainly for service ? Pls remember that it is one of the best cycling infrastructure we have in Belgium today…

Sometimes it is useful nevertheless to put things in perspective, and it takes some writing.

We are all trying to make OSM better and this implies trying to make it more and more coherent day by day. The best way to achieve that is to follow the majority or the hierarchy and try to stick to it as much a possible. If not, we need to convince the majority to change.
I’m ready to send some time to remove these incoherences, provided that we agree before, of course.

I’m proposing two changes here :

  • Use highway=service only when a stretch of road is used only for access to something, not through traffic even only for pedestrians or bicycles
  • Extend the definition of cycleway to accomodate infrastructures that looks very much like it even if they are not preceded by the D7 sign.
    Pls remember that the definition of the law and the definition of OSM can be different because their purpose is different. It doesn’t make any of the two ‘wrong’.

Two questions for you:

  • Why should they be unclassified? Just because they are wide?
  • I understand that “path” is hard to deal with. But “path” is exactly what we tag the very many “cyclepaths” marked with a C3 + “except cyclists” as. Seems very weird to exclude those! It also feels weird to me to use the highway type with such weight and not overrule that with tags like surface, smoothness of width. We do add all that data for it to be used :slight_smile:

My tip: practice writing more succinctly.

A general remark: you start from the fact that a single routing planner makes a weird choice to propose to change All The Things. This is similar to what we call “tagging for the renderer”, or “tagging for the router” if you will. But if you look at the three cycle routing planners in OSM.org and the many profiles on brouter, or indeed cycle.travel, you’ll see that most of them do NOT avoid the cycle highway. Honestly, I’m a little surprised that Anyways here prefers a long stretch of cobblestones over a wide path of perfect asphalt. In their Bike to Work route planner, they do not make this choice.

I started indeed with one, but it doesn’t mean others do it right and it doesn’t mean either that we shouldn’t make their life easier if we can.
I’m using AllTrails and checked Anyways, Grasshopper and another one, and they all give bad results that could be avoided by changing the tag to highway=cycleway.
The more I look at Brouter, the more I like them. They solve the problem by using cycle routes in their calculations which is a great idea. But back to my question: Even Brouter has issues distinguishing between the actual towpath and the fietssnelweg that has been created 10 m away. Both of them are tagged as highway=service today because the ‘jaagpad’ sign is covering them both.

Routers use complex scoring functions and thinking about them is not that easy. Up above in this thread, you made a bad interpretation of how the Anyways router works already. Why are you so confident that you know how to fix everything?

Because the more obvious mapping is for a maximum of users and the more it is aligned with global practices and recommendations, the more anyone including routers will make the right interpretations of a given situation.
I’m wondering why none up to now is commenting on the fact that it is justified or not to consider that the jaagpaden in Flanders are so different from all the towpaths in the other countries that they justify such a specific treatment ? And why you consider that we have to treat differently stretches of the same road who have exactly the same characteristics (profile, construction, access, service) except the panel ‘jaagpad’ ? And why you seem to think that all ‘jaagpaden’ should be treated the same way, wether they are simple pedestrian paths, poor tracks, industrial roads or perfect fietssnelwegen ?

Alles overboeken naar cycleway is mijn inziens fout.
Een fietspad bij wet (BE andere landen?) is enkel en alleen voor behouden voor tweewielers (soms gemotoriseerd in sommige gevallen)
Wanneer je een fietsroute met gelijk welke planner uitstippelt dan moet dit duidelijk zichtbaar blijven dat er geen gemend verkeer mogelijk is door de symbolische aanduiding van de te volgen weg. (meestal blauwe stippellijn in standaard openstreetmap)
Online vertaling translation…
Transferring everything to cycleway is wrong in my opinion.
A cycleway by law (BE other countries?) is only for preserved for two-wheeled vehicles (sometimes motorised in some cases)
When plotting a cycle route with any planner, it should remain clearly visible that no mixed traffic is possible by the symbolic indication of the road to be followed. (usually blue dotted line in standard openstreetmap)

!!! fietspad (Belgische wet) <> cycleway !!!

  • cycleway (OSM) : The highway=cycleway tag indicates a separate way for the use of cyclists (fietssnelweg als zelfstandige weg, RAVel…).
  • fietspad (Belgische wetgeving) = deel van de straat gereserveerd aan fietsen <> RAVel, jaagpad, etc…
    In the usual language, cycleways are also called fietspaden in BE en NL.

Dan lees ik dit hier volledig verkeerd ?

2.7. “Fietspad” : het deel van de openbare weg dat voor het verkeer van fietsen en tweewielige bromfietsen klasse A is voorbehouden door de verkeersborden D7, D9 of door de wegmarkeringen bedoeld in artikel 74.
Het fietspad maakt geen deel uit van de rijbaan.
osm lees ik:
Add the cycleway=* tag to a highway=* to map cycling infrastructure that is an inherent part of the road. This specifically applies to cycle lanes which are always a part of the road, and often also applies to separated cycle tracks if they are running parallel and next to the road.

U leest perfect goed. Enkel bestaat er ook nog een andere categorie fietsinfrastructuur, onafhankelijk van een openbare weg, die in België beschreven is met de panelen F99a of C3+ uitgez. fietsers en hun variantes. Die stemt overeen met de tag highway=cycleway. Voor deze is echter geen definitieve uitspraak vandaag wanneer highway=cycleway zou moeten gebruikt worden en wanneer highway=path + bicycle= yes/designated of nig iets anders. Dat zou ik precies willen verduidelijken voor België in functie van de huidige praktijk en de OSM wiki.