From OpenStreetMap Wiki
Jump to navigation Jump to search
Public-images-osm logo.svg interval
Key Interval icon.svg
Indicates the arrival frequency of a public transport route. Use "HH:MM:SS", "HH:MM", "MM", or "M" format. Show/edit corresponding data item.
Group: public transport
Used on these elements
should not be used on nodesmay be used on waysshould not be used on areasmay be used on relations
Status: approvedPage for proposal

The key interval=* indicates the "interval", or "time between departures at any given stop" of a public transport route, also known as headway. This can be used on ferries, buses, trains, light rail, and any other public transport route relation relation.


The interval should either be in one of the following formats.

("H" = Hour, "M" = Minute, & "S" = Second)

This means that a bus route with departures arriving every 1.5 hours at any given stop would be given the tag interval=01:30 (or alternatively interval=90 or interval=01:30:00). A bus route operating every six minutes should have the tag interval=6 (or alternatively interval=00:06 or interval=00:06:00).

This value of interval does not need to be exact. It represents a rough estimate of how often public transport services run, and does not provide full schedule information.


This tag is used on public transport routes (type=route relation), and not on bus stops or platforms. Adding the tag to route master relations (type=route_master relation) is possible as well, but only if all variants (directions) of the route have the exact same interval tag, which is rare.


Situation Tagging Explaination of tagging
A bus route that operates Mo-Fr 08:00 to 18:00 with an interval of ...
  • Every 10 minutes in the mornings & evenings.
  • Every 20 minutes in the middle of the day.

interval:conditional=00:20 @ (Mo-Fr 10:00-16:00),

opening_hours=Mo-Fr 08:00-18:00

The main interval is 00:10 minutes, with reduced service from 10:00-16:00. The normal opening hours are expressed with the existing tag opening_hours=*. Note that the conditional tag overwrites the interval tag.
A subway route that operates 24/7 with an interval of ...
  • Every 5 minutes during rush hour (Mo-Fr)
  • Every 15 minutes during the day
  • Every 30 minutes at night.

interval:conditional=00:05 @ (Mo-Fr 07:00-10:00); 00:05 @ (Mo-Fr 16:30-19:00); 00:30 @ (Mo-Su 22:00-05:00),


The main interval is 15 minutes, with exceptions for both rush hours and the night.
A ferry route that operates every hour from 07:00 to 19:00 each day. interval=01:00,

opening_hours=Mo-Su 07:00-19:00

The interval is 01:00 during the day with opening hours of 07:00-19:00.
A railway route that operates:
  • Monday to Friday:
    • Every 6 minutes from 6:00 to 23:00
  • Saturday and Sunday:
    • Every 10 minutes from 06:00 to 22:00

interval:conditional=00:10 @ (Sa-Su 06:00-22:00),

opening_hours=Mo-Fr 06:00-23:00; Sa-Su 06:00-22:00

The main interval is 6 minutes, with an exception of 10 minutes during the weekend.

Ferry routes

Ferry routes mapped as ways

Many ferry routes are mapped as single ways connecting both ports served by the ferry. In this case, the tags interval:forward=*, interval:backward=*, interval:forward:conditional=*, and interval:backward:conditional=* should be used to describe the intervals of forward and backward directions of the route. interval=* and interval:conditional=* can be used only if both directions have the same rough interval.

opening_hours=* (or alternatively opening_hours:forward=* + opening_hours:backward=*) can also be used on the ferry way.

Ferry routes mapped as relations.

These can be treated the same way as normal bus or train routes, since they only represent one direction of the route. Tags to add include interval=*, interval:conditional=*, and opening_hours=*.



Busy Hours (source) is a web editor for public transport hours. It allows to set the operating hours, the peak and off-peak hours and frequencies at these times.

Parsing lib

Quality Assurance

Osmose has checks about the syntax and the consistency of the interval and interval:conditional tags: Osmose-marker-l-3250.png Invalid Conditional Intervals (list, map, stats)