From OpenStreetMap Wiki
Jump to navigation Jump to search
Public-images-osm logo.svg fee
Osm element key.svg
Yes or no, to indicate if money is charged to use this facility. Edit or translate this description.
Group: Properties
Used on these elements
may be used on nodesmay be used on waysmay be used on areasmay be used on relations
Useful combination
Status: de facto


The fee tag is for specifying whether a fee is usually charged for a service, or for access.

Examples include car parking (amenity=parking) or toilets (amenity=toilets) or tourist attractions and historic buildings (e.g., historic=castle).


The value of this tag is usually either yes or no:

Common values
Value Meaning
yes A fee is (usually) charged.
no No fee is charged.

However, other values are sometimes used:

Other less often used values
Value Meaning
unknown It is not known whether a fee is charged. (Mappers are encouraged to find out whether a fee is applicable or not.)
donation A voluntary donation is asked, but not required.

For more advanced rules about to whom or when the fee applies, one may use fee:conditional=* using conditional restrictions syntax. For example:

  • fee=yes + fee:conditional=no @ customer - to mark that fee is waived for customers
  • fee=no + fee:conditional=yes @ (08:00-08:20) - to mark something as free, except between 8:00 and 8:20
  • fee=no + fee:conditional=yes @ (stay > 2 hours) - parking with stay up to two hours free[1]
  • fee=yes + fee:conditional=no @ (stay < 2 hours) - also, parking with stay up to two hours free (difference is what will be a default value, used by data consumers not supporting conditional restrictions)
  • fee=yes + fee:conditional=no @ (age < 12) - to mark something as free for children under the age of 12.

Whether a fee applies for handicapped users as well can be indicated using fee:disabled=*, in case this differs from fee=*. This is usually used for occasions where there is a fee, but it is waived for handicapped users.

Common tagging mistakes

Times when a fee is charged as a value of fee=*

Example: fee=Mo-Fr 08:00-17:00

Using opening_hours=*-style date/time ranges as a value of fee=* to specify when a fee is applicable is a somewhat common mistake. When a fee is only applicable some of the time, use fee:conditional=*, as noted above.

When you encounter a value like fee=Mo-Fr 08:00-17:00 and wish to use the correct syntax, one strategy is to replace it with fee=no and fee:conditional=yes @ (Mo-Fr 08:00-17:00).

Having the actual fee as a value of fee=*

Example: fee=$10

Don't use fee=* for the actual fee charged. Instead, use fee=yes along with charge=* (in this example, that would be charge=10.00 USD).

Similar tags

  • payment=* to indicate the precise method of payment.
  • toll=* to indicate that a road, bridge, ferry, or other way is tolled - that you must pay to use it. This key is used instead of fee=*.
  • charge=* to indicate which fee is charged (other undocumented keys for the same purpose are fee:amount=* and fee:price=*)