Thailand/Roads
Highway classification
Thai highways are classified into 5 types:
- Motorway (ทางหลวงพิเศษ) maintained by the Department of Highway (DOH)
- National Highway (ทางหลวงแผ่นดิน) maintained by the Department of Highway (DOH)
- Rural Road (ทางหลวงชนบท) maintained by the Department of Rural Roads (DRR)
- Local Road (ทางหลวงท้องถิ่น) maintained by the local administrative organization
- Concession highway (ทางหลวงสัมปทาน) maintained by the Department of Highway (DOH)
There are also roads maintained by other agencies, such as the Expressway Authority of Thailand (EXAT)'s expressway and the State Railway of Thailand's local road.
See articles on Wikipedia: Thai highway network (in English) or ทางหลวงในประเทศไทย (in Thai) for more information.
Intercity
| OSM tag | Description, comments | Examples | Photo |
|---|---|---|---|
highway=motorway
|
highway=motorway
|
||
highway=motorway
|
|||
highway=trunk
|
highway=trunk
(West section) |
||
(Noted that a 1-2-digit national highway section* that is shorter than 5km and is a hanging end shall be downgraded to eliminate the hanging end or to secondary.) |
highway=trunk
|
||
| Any road section* that is more than 90% dual-carriageway with a physical median and shoulder, and is more than 100km long. (Length counting can be extended to different road ref.) | highway=trunk
(Section from Nakhon Phanom to Ubon Ratchathani) |
||
highway=primary
|
(Noted that a 3-digit national highway section* that is shorter than 5km and is a hanging end shall be downgraded to secondary.) |
highway=primary
|
|
| Any road section* that is more than 90% dual-carriageway, has a physical or painted median (wider than 1m, not just a double solid line) and shoulder, and is more than 25km long. (Length counting can be extended to different road ref.) | highway=primary
|
||
highway=secondary
|
(Noted that a 4-digit national highway section* that is shorter than 1km and is a hanging end shall be downgraded to tertiary.) |
highway=secondary
|
|
| A rural road or local road that is of equal or greater importance (in terms of performance/width/number of traffic lights/total length) as nearby secondary roads. | highway=secondary
|
||
highway=tertiary
|
Rural roads should be tagged with ref=pf.nnnn where pf is the provincial prefix in Thai characters, followed by a dot, followed by the numerical portion of the reference number. There should be no spaces in the ref tag value. |
highway=tertiary
|
|
| A local road that is of equal or greater importance (in terms of performance/width/number of traffic lights/total length) as nearby tertiary roads. (Usually a major registered local road.) | highway=tertiary
|
||
highway=unclassified
|
Typically unclassified roads in Thailand are the roads having no designated number. Unclassified roads have lower importance in the road network than tertiary roads, and are not residential streets or agricultural tracks. Local roads should be tagged with ref/unsigned_ref*=pf.ถnn-nnn with a hyphen at the correct position. There should be no spaces in the ref tag value. |
highway=unclassified
|
Urban and Local Road wide enough for motor cars
Always check the main wiki pages for a detailed description of the tags and some examples on how to use them along with other useful tags to add to them as well. The below table gives some hints on the tagging to cover the specific situation in Thailand.
| OSM tag | Description, comments | Photo |
|---|---|---|
highway=motorway
|
Expressway (ทางพิเศษ) with full access control. | |
highway=trunk
|
Not to use. | |
highway=primary
|
Top-level urban road across the city connecting trunk to trunk, or road of equal or greater importance than the primary intercity highway that runs through that city. | |
highway=secondary
|
Main urban road connecting primary to primary or higher, or road of equal or greater importance than the secondary intercity highway that runs through that city. | |
highway=tertiary
|
Roads that are more important than regular unclassified or residential roads, or roads that connect several unclassified or residential roads. | |
highway=unclassified
|
A significant thru-traffic road used to reach the next settlement or another road of equal or higher importance regardless of its physical conditions.
|
|
highway=residential
|
A road within a residential area that gives the public access to one or multiple residences. Also used for roads within a gated housing estate (add access=private). Residential roads are typically short in length and often named.
|
|
highway=service
|
A minor road that gives access to buildings/places outside a residential area such as an estate, religious site, attraction site, or a specific part of a large estate such as an industrial facility or university campus.
|
|
highway=service + service=driveway
|
A service road leading to a specific building, residence, property, or place of business. For example, each house's private road that branches off the residential road (add access=private).
|
|
highway=service + service=alley
|
A narrow service road usually located between the rear sides of buildings to provide access to utilities such as back gardens, rear entrances, fire exits, and storage areas.
|
|
highway=pedestrian
|
A road or area designated mainly or exclusively for pedestrians. | |
highway=track
|
A road whose only function is to provide access to the surrounding land (agricultural, forestry purposes). Most of the time unpaved.
|
|
highway=living_street
|
Not to use. There is currently no legislation in Thailand granting lower speed limits and pedestrians the right of way over other road users in residential areas. Use instead highway=residential.
|
|
highway=road
|
A road for which the classification cannot be identified without further ground information. | |
| Others | See highway=*
|
General notes and exceptions for roads
- If two nearby roads with the same or nearby origin and end have different ranks, and the road with the lower rank has better performance (travels faster between those two points) than the road with the higher rank, their ranks shall be swapped (not just downgrade or upgrade one of them). This is usually the case with bypass roads.
- A national highway or a rural road that passes through a city is frequently transferred to the Local Administrative Organization. These highways shall still be tagged according to their previous administrative classification.
- Hanging ends should be avoided if possible. For example, if two primary roads from outside arrive at opposite points in the same city, both ends shall be connected by upgrading the urban road between them to primary, even if it is not qualified in most cases.
- Frontage roads shall be one rank lower than main roads and not higher than secondary.
- The road section that has been rebuilt as a new route and the previous route ref has not yet been changed, hence the old route shall be downgraded 1 step.
- The top-level urban roads in each settlement shall not be tagged higher than any intercity roads that lead to that settlement.
- Road section with mostly
smoothness=badshall be not higher than tertiary, and road section with mostlysmoothness=very_bador worse shall not be higher than unclassified, regardless of their official classification. - Unless sign-posted, do not use legal access tags (
motor_vehicle=yes/no,motorcar=yes/no,4wd_only=yes/no) to document a road’s suitability for motor vehicles. Instead use the appropriate smoothness tag value (e.g.very_bad: high clearance only,horrible: 4WD only,very_horrible: specialized off-road only,impassable). - Unused/Abandoned roads that are only passable on foot/two-wheel vehicles may be tagged as
highway=path+disused:highway=*/abandoned:highway=*. - Concession highway (ทางหลวงสัมปทาน) is an administrative classification. The classification should follow the road's importance.
- Highway tag values that are not mentioned here shall adhere to OpenStreetMap's general guidelines.
- "Section" refers to the road distance between any (1) other same or higher rank road, (2) national border, (3) city/town, (4) start/end of the road ref., and any other (1) (2) (3) or (4). (doesn't have to be the nearest one)
- If the local road ref is not signposted as a Reassurance marker, it shall be tagged as
unsigned_ref=*rather thanref=*.
Urban and Local Road not wide enough for motor cars
| OSM tag | Description, comments | Photo |
|---|---|---|
highway=footway
|
Built pathways designed mainly or exclusively for pedestrian access. For example, designated footpaths in urban and attraction areas (hotels, parks, tourist sites…).
|
|
highway=path
|
Multi-purpose paths intended for all non-motorized vehicles with the exception of motorcycles.
|
|
highway=path + motorcycle=designated
|
Dedicated (signposted) pathways for motorcycles, typically found in urban areas. | |
| Others | See highway=*
|
Rough guidelines for minor highway tag decision-making (useful in most cases)
- is the road wide enough for motor cars?
yes: is the road used as through traffic to the next settlement or a road of equal or higher importance?yes:highway=unclassifiedno: is the road exclusively for pedestrians?yes:highway=pedestrianno: is the road within a residential area and provide access to one or multiple residenceyes: is the road within a gated housing community?yes:highway=residential+access=privateno:highway=residential
no: does the road lead or provide access to a specific building/place ?
no: is the pathway designed and built exclusively or mainly for pedestrians (e.g. sidewalk, golf course footpath, attraction walkway…) ?yes:highway=footwayno: is the pathway designed exclusively for motorcycles ?yes:highway=path+motorcycle=designatedno:highway=path
Note regarding highway route numbers
The first digit of national highway and motorway route numbers follows the region of Thailand the route primary links to: 1 and 5 for the North, 2 and 6 for the Northeast, 3 and 7 for the central region, 4 and 8 for the South, and 9 for the Bangkok ring road. (The motorway system currently only consists of routes 7 and 9, so route numbers beginning 5, 6 and 8 don't yet exist.) (See also the Thai highway network article on Wikipedia.)
Rural road numbers consist of a two-letter province abbreviation followed by four digits. The first digit indicates the level of highway the road connects to, while the remaining three digits are provincial index numbers. Therefore the first digit may be changed following changes to the connecting highway, while the last tree digits generally remain the same. The numbering system for the first digit is: 1 indicates a connection to 1-digit national highways, and likewise for 2, 3 and 4; 5 indicates a connection to other rural roads or local highways, and 6 indicates the road connects to places without forming part of a larger network.

Occasionally one may come across roads bearing reference numbers that include two-letter province abbreviations, but don't otherwise conform to the rural road numbering system or aren't found in the Department of Rural Road's index (see #Official sources below). These are usually outdated reference numbers belonging to the Public Works Department or the Office of Accelerated Rural Development, which were responsible for the roads before they were transferred to Department of Rural Roads in 2002. These outdated numbers may be qualified by the words โยธาธิการ (ยธ.) or เร่งรัดพัฒนาชนบท (รพช.), respectively.
Useful tag combinations with highways

While above highway classifications often give hints on how well suitable these ways are for routing, in many cases additional details help routing.
Please add surface=* tags to ways where the it is not obvious from the tagging. For roads intended for cars/motor vehicles this helps a lot. Especially unpaved roads greatly benefit from this additional detail as it prevents from being routed there with an unsuitable city car. If a way is very narrow and two cars can't pass, then add a lanes=* tag to indicate that it has only a single lane. If there are signs indicating a speed limit (maxspeed=*) or a weight limit (maxweight=*) then add it. Be aware that the sign for a weight limit might look like a speed limit if you are unable to read Thai. Notice the additional characters below the numbers to indicate tons.
Default Access Restrictions
Default access restrictions for Thailand based on the interpretation of the Road Traffic Act, 1979.
highway=*
|
access | motorcar | motorcycle | goods | hgv | psv | moped (1) | horse | bicycle | foot |
|---|---|---|---|---|---|---|---|---|---|---|
| motorway | yes | designated | no | designated | designated | designated | no | no | no | no |
| motorway_link
trunk trunk_link primary primary_link secondary secondary_link tertiary tertiary_link unclassified residential living_street (4) road |
yes | yes | yes | yes | yes | yes | yes | yes | yes (3) | yes (2) |
| pedestrian | no | no | no | no | no | no | no | no | yes | yes |
| path | no | no | yes | no | no | no | yes | yes | yes | yes |
| bridleway (5) | no | no | no | no | no | no | no | designated | yes | yes |
| cycleway | no | no | no | no | no | no | no | no | designated | yes |
| footway | no | no | no | no | no | no | no | no | dismount (6) | designated |
| steps | no | no | no | no | no | no | no | no | no | designated |
- Mopeds are treated the same as motorcycles.
- Pedestrians are allowed by default on any road that is not a motorway unless signed otherwise.
- There are no special laws on bicycles, but they can be assumed to follow the same rules as pedestrians.
- There is currently no legislation granting lower speed limits and pedestrians the right of way over other road users in residential areas.
- No laws exist for horse trails.
- Cyclists should not drive on the pavement without reasonable justification and are encouraged to dismount on other footways.