This page provides guidelines for mapping transportation infrastructure in Thailand, including roads, railways, ferries, and public transit to ensure consistency and accuracy across the OpenStreetMap database. Where applicable, global tagging standards are followed, with Thailand-specific adaptations documented to address local nuances.
In Thailand, roads and streets are classified under two parallel systems depending on the context: urban street and intercity roads. These systems help determine which tags to use when mapping and ensure consistency in how different types of roads are represented.
Completely controlled-access, tolled, with no at-grade intersections. Access is only available at interchanges. Pedestrians, bikes, and motorcycles are prohibited.
Uncontrolled-access Motorway
All 1-2-digit national highways
Noted that A 1-2-digit national highway section shorter than 5km and a hanging end shall be downgraded secondary.
All 3-digit national highway
Noted that A 3-digit national highway section shorter than 5km and a hanging end shall be downgraded tertiary.
Any road section
over 90% dual carriageway, with a physical or painted median (wider than 1m, not just a double solid line), with shoulder, and over 25km long (length can be extended to different road references).
All 4-digit national highways
Road links to most other towns
Any rural/local road
of equal or greater importance than nearby secondary roads in terms of performance, width, number of traffic lights, or total length.
All rural roads
ref=pv.nnnn where pv is the provincial prefix in Thai characters followed by a dot and the reference number. Avoid spaces in the value.
Any local road
of equal or greater importance in terms of performance, width, number of traffic lights, or total length compared to nearby tertiary roads. (Usually, a major registered local road.)
All local road
unsigned_ref=pv.ถn-nnnn Avoid spaces in the value.
Completely controlled-access, tolled, with no at-grade intersections.
A major urban road that connects the city’s trunk roads, or a road of equal or greater importance than the primary intercity highway that passes through the city.
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.
Roads that are more important than regular unclassified or residential roads, or roads that connect several unclassified or residential roads.
A significant thru-traffic road used to reach the next settlement or another road of equal or higher importance regardless of its physical conditions. Or makor road that gives access to places outside a residential area such as an industrial estate, attraction site, or a specific part of a large estate such as university campus.
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.
A minor road that gives access to buildings/places outside a residential area such as religious site, attraction site, or a specific part of a large estate such as an industrial estate or university campus.
Note: highway=service alone or combined with any of its subtags does not imply private access, so access=* tag must be added when access is restricted.
Situations where other tags should be used:
minor roads giving access to residences within a residential area should be tagged as highway=residential.
minor roads that do not give particular access to any particular places/objects should be tagged as highway=track
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.
Situations where other tags should be used:
narrow residential roads that provide access to the front entrances of residences should be tagged as highway=residential[1]
pathways used by motorcycles but not wide enough for motor cars should be tagged as highway=path.
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).
A road or area that once or seem to be wide enought for motorcar but designated mainly or exclusively for pedestrians.
A road whose only function is to provide access to the surrounding land (agricultural, forestry purposes). Most of the time unpaved.
A road for which the classification cannot be identified without further ground information.
Multi-purpose paths intended for all non-motorized vehicles (with the exception of motorcycles.)
Use instead highway=footway if the path is sign-posted for exclusive or main pedestrian access.
Do not use legal access tags (foot=*, bicycle=*) to indicate the suitability of the path for a specific activity. Instead use the corresponding scale tags(sac_scale=* for hiking, mtb:scale=* for mountain biking, and dirtbike:scale=* for dirt biking).
If the path has a sign that motocycle are forbidden or allowed, add the corresponding access tags. e.g. highway=path + motorcycle=no or + motorcycle=yes respectively.
Small pathways designed mainly or exclusively for pedestrian access. For example, designated footpaths in urban and attraction areas (market, tourist sites, etc.), If other means are legally allowed, add the corresponding access tags e.g. highway=footway + bicycle=yes
Do not use for hiking trails, use instead highway=path with the appropriate sac_scale=* scale tag.
A road or area that once or seem to be wide enought for motorcar but designated mainly or exclusively for pedestrians.
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=bad shall be not higher than tertiary, and road section with mostly smoothness=very_bad or 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).
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)
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?
If you do not have enough information to identify which classification to use, tag the road as highway=road.
Highway route numbers
Highway route numbers can be mapped by using ref=* (or unsigned_ref=* for numbered local road}}
The first digit of national highway and motorway route numbers corresponds to the region of Thailand to which the route primarily links to: 1 and 5 for the Northern region, 2 and 6 for the Northeast region, 3 and 7 for the Central region, 4 and 8 for the South region, and 9 for the Bangkok ring road. (See Thai highway network)
Example of outdated road sign
Rural road numbers consist of a two-letter province abbreviation followed by four digits. The first digit indicates the level of highway to which the road is connected, while the remaining three digits represent provincial index numbers. Consequently, the first digit may undergo changes in response to changes to the connecting highway, while the final three digits generally remain unchanged. The numbering system for the first digit is as follows: 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, while 6 indicates that the road connects to locations that do not form part of a larger network.
Occasionally, one may come across roads bearing reference numbers that include two-letter province abbreviations, but do not otherwise conform to the rural road numbering system or are not found in the Department of Rural Road’s index (see #Official sources below). These are typically outdated reference numbers belonging to the Public Works Department or the Office of Accelerated Rural Development, which were responsible for the roads prior to their transfer to the Department of Rural Roads in 2002. These outdated numbers may be qualified by the words “โยธาธิการ” (ยธ.) or “เร่งรัดพัฒนาชนบท” (รพช.), respectively.
While highway classifications suggest suitability for routing, in many cases additional details help routing.
Adding surface=* tags to ways where it’s unclear from tagging. This is especially helpful for unpaved roads, preventing unsuitable vehicles from being routed there. If a way is narrow and two cars from different direction cannot pass, add lanes=* to indicate a single lane. If there are signs indicating a speed limit (maxspeed=*) or a weight limit (maxweight=*) then add it. Be aware that the weight limit sign might look like a speed limit sign, if you can’t read Thai. Note 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.
The inter-city railways form the mainlines of long-distance passenger and freight services across the country. This network is operated by the State Railway of Thailand (SRT) and comprises 4 principal lines radiating from Bangkok: the Northern Line, the Northeastern Line, the Eastern Line, and the Southern Line.
All inter-city railway lines in Thailand use the meter gauge (1000 mm), consistent with regional standards in Southeast Asia. Newly constructed double-track segments are equipped with ETCS Level 1 train protection signaling systems. However, as of 2025, none of the inter-city lines are electrified, and all services currently rely on diesel or battery traction. Hence, inter-city railways in Thailand should generally be tagged as follows:
railway=rail – for mainline railways used for long-distance travel.
Inter-city railway stations in Thailand are classified into seven categories, which reflect the relative importance of each station and determine the stopping patterns of train services. These categories are part of the national classification system administered by the State Railway of Thailand (SRT).
The seven station classes are:
Class 1 – Primary stations located within major cities or provincial capitals.
Class 2 – Secondary stations typically found in large towns or district centers. They are staffed and offer basic services but with fewer train stops than Class 1 stations.
Class 3 – Tertiary stations, often located in smaller towns or rural areas, with limited facilities and less frequent service.
Class 4 – Low-traffic stations with minimal infrastructure.
ที่หยุดรถ (Halt) – Unmanned stopping points with no station building. Trains stop here as part of the schedule, usually to serve small communities.
ป้ายหยุดรถ (Flag Halt) -Operationally similar to ที่หยุดรถ (Halt), these are halts where trains stop without full station status. While the distinction is subtle, official documents treat these as a separate category.
พิเศษ (Special) – Stations with unique or restricted roles, such as those used for ceremonial purposes, military access, or located near royal properties.
Noted that although ที่หยุดรถ (Halt) and ป้ายหยุดรถ (Flag Halt) serve nearly identical functions in practice, they are maintained as distinct categories in official railway records.
Use the following tags for inter-city railway station in Thailand:
railway=station – For all physical stations, halts, and stopping points.
railway:station_category=1/2/3/4/ที่หยุดรถ/ป้ายหยุดรถ/พิเศษ – Use the official classification value to reflect the station's importance and stopping behavior.
ref:station=**** – Four-digit numeric station code as defined by the State Railway of Thailand (e.g., ref:station=1080).
railway:ref=** – Two-character Thai-script code used for official reference and internal documentation (e.g., railway:ref=จก).
other related tags
Bangkok Metropolitan Region Railway
Map of current & future Bangkok Mass Rapid network as of June 2023
For list of metro/railway route relations, see Transits in Bangkok Metropolitan Region
The Bangkok Metropolitan Region Metro refers to the urban and suburban rapid transit systems serving the Bangkok metropolitan area. These systems include various modes such as elevated metro, underground metro, and commuter rail, operated by multiple agencies including the Mass Rapid Transit Authority of Thailand (MRTA), Bangkok Expressway and Metro Public Company Limited (BEM), BTS Group, and the State Railway of Thailand (SRT) for suburban commuter lines. Most metro lines use standard gauge (1435 mm) and are electrified, while commuter rail services like the SRT Red Lines operate on meter gauge but are also electrified with overhead lines.
Track Tagging Guidelines
Mode
Tags
Image
Commuter rail SRT dark red line SRT light red line
railway=rail - Full sized passenger railway gauge=1000 - Operate on meter guage railway:etcs=1 electrified=contact_line - As the tracks use overhead wire system railway:voltage=25000 frequency=50 - Operate on 50 Hz AC current. and other related tags
Airport Rail Link
railway=rail - Full sized passenger railway gauge=1435 - Operate on standart guage railway:etcs=1 electrified=contact_line - As the tracks use overhead wire system railway:voltage=25000 frequency=50 - Operate on 50 Hz AC current. and other related tags
Metro BTS Sukhumvit Line BTS Silom Line MRT Blue Line MRT Purple Line MRT Orange Line
railway=subway - subway/metro train system gauge=1435 - Operate on standart guage electrified=rail - As the tracks use third rail system railway:voltage=750 frequency=0 - Operate on DC current. and other related tags
Monorail/People Mover MRT Yellow Line MRT Pink Line BTS Gold Line
Thailand is currently developing a new high-speed railway network. As of 2025, 2 high-speed railway lines are under construction. These high-speed railways are designed and built with standard gauge (1435 mm) with full electrification via overhead catenary systems. They are entirely grade-separated and are not shared with the existing metre-gauge inter-city railways.
Use the following tags for high-speed railway tracks in Thailand:
usage=main – To indicate that the line is a primary trunk route.
other related tags
↑On April 21st, 2024, the local community reached a strong consensus, with 89% of the votes, to tag narrow residential roads as highway=residential and include additional tags such as lanes=1, width=* and narrow=yes, rather than using service=alley.