AmarnepalNepal Data
Infrastructure & transport

Nepal Highway Codes Explained: NH Numbers, Old H Codes and Chainage

Nepal renumbered its national highways in May 2021 (Jestha 2078 BS), replacing the old H-series and F-series codes with a single NH-series of 80 routes, NH01 to NH80. NH01 is the Mahendra (East–West) Highway, NH03 the Pushpalal Mid-Hill Highway and NH05 the Postal (Hulaki) Highway. This reference explains how the codes work, converts every major old H number to its new NH number, decodes kilometre chainage markers such as 125+400, and provides the full Nepal highway code list.

Current numbering schemeNH-series, NH01–NH80, introduced via Statistics of National Highway (SNH) 2020/21
Renumbering announcedMay 2021 (Jestha 2078 BS), Department of Roads
Number of national highways80 (up from 21 H-coded highways before 2021)
Network length11,178.92 km in service (SNH 2020/21); approx. 11,799 km by FY 2022/23
Old codesH-series national highways (H01–H20+) and F-series feeder roads
Longest highway in serviceNH01 Mahendra Highway, approx. 1,028 km
Longest planned corridorNH03 Pushpalal Mid-Hill Highway, approx. 1,787 km
Administering agencyDepartment of Roads (DoR), Ministry of Physical Infrastructure and Transport
Chainage formatkm + metres from route zero point, e.g. 125+400 = 125.4 km
In depth

From H-series to NH-series: why Nepal renumbered its highways

For decades, Nepali textbooks, maps and government documents referred to highways by 'H' numbers: H01 for the Mahendra Highway, H02 for the Tribhuvan Highway, H03 for the Araniko Highway. These codes were issued by the Department of Roads (DoR), the federal agency under the Ministry of Physical Infrastructure and Transport that manages the Strategic Road Network (SRN) — the collective name for Nepal's national highways and feeder roads. Under the old scheme, the SRN was a two-tier register: a short list of H-coded national highways (21 routes by 2020) sitting above a much longer list of F-coded feeder roads.

In May 2021 (Jestha 2078 BS), the DoR published the Statistics of National Highway (SNH) 2020/21, which scrapped the H/F structure and reorganised the entire federal network into 80 national highways numbered NH01 to NH80. Fifty-nine routes were added to the previous 21, most of them created by promoting former feeder roads and stitching shorter roads into longer named corridors. Feeder roads that did not become national highways were handed over to the newly formed provincial governments.

The reform was driven by federalism. The Constitution of Nepal 2072 BS (2015) divided road responsibilities among federal, provincial and local governments, so the DoR needed a clean register of purely federal routes. According to SNH 2020/21, the 80 national highways measured 11,178.92 km in service, a figure that grew to about 11,799 km by fiscal year 2079/80 (2022/23). Counting proposed extensions still to be built, the full planned network approaches 14,900 km.

How to read a Nepal road code: what NH, H and F numbers mean

A modern Nepali highway code has two parts: the prefix 'NH', which stands for National Highway, and a two-digit serial number from 01 to 80, always written with a leading zero for single digits (NH04, not NH4, in official statistics). The number itself does not encode a road's class, width or region by any formula. The sequence is broadly geographic: numbering begins in the far east — NH02 Mechi Highway and NH04 near the Mechi border — and generally moves westward, ending with far-western routes such as NH66 Mahakali Highway and NH67 Mahakali Corridor. Ring roads and some late additions (NH75 to NH80) sit at the end of the list regardless of location.

The three great east–west corridors were deliberately given the first odd slots: NH01 for the Mahendra Highway across the Tarai, NH03 for the Pushpalal Mid-Hill Highway through the middle hills, and NH05 for the Postal (Hulaki) Highway along the southern border belt. This makes the low odd numbers a quick mental shortcut for Nepal's three horizontal spines.

Under the pre-2021 scheme, 'H' marked a national highway and 'F' a feeder road — a road connecting district headquarters, markets or border points to a highway. The h number roads Nepal used were only ever 21 routes, whereas feeder codes started at F01 and, as the register grew through successive Statistics of Strategic Road Network (SSRN) editions, ran into three digits, with codes such as F130 and F208 appearing in DoR inventories. Because driving-licence exam books, older maps and many roadside kilometre stones still carry H and F codes, both systems remain in everyday circulation — the main source of confusion this page resolves.

Old vs new highway numbers in Nepal: H-to-NH conversion table

The table below converts every well-documented old H code to its new NH number. Note that the conversion is not always one-to-one: several old highways were merged into longer new corridors. The Ratna Highway (H12, Nepalgunj–Surkhet) and the Karnali Highway (H13, Surkhet–Jumla) were combined into a single NH58 Karnali corridor running from Jamunaha on the Indian border to Hilsa on the Chinese border, and the old Seti Highway (H15) was absorbed into the NH03 Pushpalal corridor. The remaining late entries on the 21-route pre-2021 register, including a short Mahendra Highway–Brahmadev link coded H19, were likewise folded into new NH routes.

  • H01 Mahendra Highway (East–West Highway) → NH01
  • H02 Tribhuvan Highway (Tribhuvan Rajpath) → NH41
  • H03 Araniko Highway (Kathmandu–Kodari) → NH34
  • H04 Prithvi Highway (Naubise–Pokhara) → NH17
  • H05 Narayanghat–Mugling road → NH44 (Madan Ashrit Highway)
  • H06 Dhulikhel–Sindhuli–Bardibas Highway → NH13 (B.P. Highway)
  • H07 Mechi Highway → NH02
  • H08 Koshi Highway → NH08 (number unchanged)
  • H09 Sagarmatha Highway → NH16
  • H10 Siddhartha Highway (Belahiya–Pokhara) → NH47
  • H11 Rapti Highway → NH55
  • H12 Ratna Highway (Nepalgunj–Surkhet) → merged into NH58
  • H13 Karnali Highway (Surkhet–Jumla) → merged into NH58
  • H14 Mahakali Highway → NH66
  • H15 Seti Highway (Syaule–Dipayal section) → merged into NH03
  • H16 Kathmandu Ring Road → NH39
  • H17 Postal (Hulaki) Highway → NH05
  • H18 Pushpalal (Mid-Hill) Highway → NH03
  • H20 Kathmandu–Terai Fast Track → NH33 (Kathmandu–Terai/Madhesh Expressway)

F-series feeder roads and where they went after federalism

Nepal's road classes trace back to the Public Roads Act 2031 BS (1974), which grouped public roads into national highways, feeder roads, district roads and urban roads, a hierarchy carried into the Nepal Road Standard 2070 BS (2013). Feeder roads were the F-coded second tier of the Strategic Road Network: routes linking district headquarters, industrial areas, border customs points and tourist centres to the nearest national highway. The DoR's early registers listed 51 feeder roads (F01–F51) alongside just a dozen or so highways; the SSRN 2004 edition, for example, recorded 12 national highways and 51 feeder roads.

The 2021 reform effectively retired the feeder-road category from the federal register. Every F-coded road was either upgraded — alone or merged with neighbours — into one of the 80 new national highways, or transferred to a provincial government as a provincial road. The NH05 Postal Highway is a good example of consolidation: it was assembled from the old H17 plus a string of Tarai feeder roads including F16, F44 and F46. Provinces are now building their own provincial highway registers, while rural municipal roads formerly overseen through the Department of Local Infrastructure (DoLIDAR) sit with local governments.

Practically, this means an F number on an older map, detailed project report or signboard is not wrong — it is simply a pre-2021 reference. To trace where a feeder road went, look up its corridor in the SNH 2020/21 tables or match its termini against the NH lookup table at the end of this page.

NH03 Mid-Hill and NH05 Postal: the two codes that confuse everyone

NH03 is the Pushpalal Highway, officially the Madhya Pahadi Lokmarg or Mid-Hill Highway, named after communist leader Pushpa Lal Shrestha. It is planned to run about 1,787 km entirely through the middle hills, from Chiyo Bhanjyang in Panchthar district on the eastern border to Jhulaghat in Baitadi on the far-western border. Under the old system this project was coded H18, and sections of the former H15 Seti Highway were merged into it. It is Nepal's longest planned highway corridor, though substantial stretches remain under construction or unpaved.

NH05 is the Postal Highway, the Hulaki Rajmarg, the historic mail route hugging the southern Tarai belt from Bhadrapur in Jhapa to Beldandi in Kanchanpur, with a planned length of roughly 1,016 km. It predates the Mahendra Highway as an east–west route and was previously coded H17, supplemented by several F-series feeder links. Both corridors are being upgraded in phases, so lengths quoted in DoR statistics include sections not yet built to standard.

Here lies the biggest old-versus-new trap: under the pre-2021 scheme, H03 meant the Araniko Highway to the Kodari border and H05 meant the Narayanghat–Mugling road — completely different roads from today's NH03 and NH05. Whenever you see a bare 'H03' or 'H05' in a document, check its date: if it predates 2021 (2078 BS), it uses the old register. This page's conversion table above resolves each case.

Road chainage markers in Nepal: how to read 125+400

Chainage is the engineering term for cumulative distance measured along a road's alignment from a defined zero point, normally the route's designated starting terminus as listed in DoR statistics. Nepal writes chainage in kilometres plus metres, separated by a plus sign: chainage 125+400 means a point 125 kilometres and 400 metres from the start of that highway. The format appears constantly in Nepali contract notices, bridge registers, road-condition surveys and news reports of accidents or landslides ('the blockage at chainage 27+500 of the Narayanghat–Mugling road').

On the ground, chainage is displayed on kilometre posts — the painted concrete stones on the roadside that show the distance travelled along the route and usually the name and remaining distance of the next major town. Because each highway has its own zero point, the number on a kilometre stone is meaningful only for that route; where two highways overlap, each maintains its own chainage. Bridges, culverts and road links in DoR inventories are all located by start and end chainage, which is why the same kilometre figures recur in tender documents year after year.

Physical signage has lagged the 2021 renumbering: many kilometre stones and route boards erected earlier still show old H or F references, and mapping platforms such as OpenStreetMap record the superseded code in a separate 'old reference' field. When navigating with older signs, convert the code using the table above rather than assuming the numbers match.

Nepal highway code list: full NH01–NH80 lookup table

The list below is the complete Nepal highway code list under the current numbering, compiled from the Department of Roads' Statistics of National Highway 2020/21 as tabulated by Wikipedia and OpenStreetMap. Where a route has an official or popular name it is given; routes without names are identified by their termini. Lengths are approximate corridor totals from SNH 2020/21 and often include proposed extensions, so they can exceed the length actually built today. Old H codes are noted where a direct predecessor exists.

  • NH01 — Mahendra Highway (East–West Highway): Kakarbhitta–Gaddachauki, approx. 1,028 km (old H01)
  • NH02 — Mechi Highway: Kechana–Olangchungola, approx. 352 km (old H07)
  • NH03 — Pushpalal (Mid-Hill) Highway: Chiyo Bhanjyang–Jhulaghat, approx. 1,787 km planned (old H18)
  • NH04 — Birtamod–Mechi Bridge link, approx. 15 km
  • NH05 — Postal (Hulaki) Highway: Bhadrapur–Beldandi, approx. 1,016 km planned (old H17)
  • NH06 — Tamor Corridor: Chatara–Ganesh Chowk, approx. 135 km
  • NH07 — Chatara–Kanchanrup route, approx. 66 km
  • NH08 — Koshi Highway: Rani–Kimathanka, approx. 320 km (old H08)
  • NH09 — Madan Bhandari Highway: Bahundangi–Rupal, approx. 1,200 km planned
  • NH10 — Deurali–Bohoratar route, approx. 92 km
  • NH11 — Phikkal–Chaubise route, approx. 19 km
  • NH12 — Sunkoshi Corridor: Ghurmi–Chatara, approx. 163 km
  • NH13 — B.P. Highway: Bardibas–Dhulikhel, approx. 160 km (old H06)
  • NH14 — Kunauli–Basaha route, approx. 100 km
  • NH15 — Gwarko–Dahaltar route, approx. 128 km
  • NH16 — Sagarmatha Highway: Thadi–Solu, approx. 144 km (old H09)
  • NH17 — Prithvi Highway: Naubise–Pokhara, approx. 173 km (old H04)
  • NH18 — Pasang Lhamu Highway: Balaju–Syabrubesi, approx. 65 km
  • NH19 — Ridi–Pyuthan route, approx. 220 km
  • NH20 — Siddhicharan Highway: Madar–Salleri, approx. 193 km
  • NH21 — Sitapaila–Dharke route, approx. 24 km
  • NH22 — Jatahi–Dhalkebar route, approx. 48 km
  • NH23 — Diktel–Khadichaur route, approx. 291 km
  • NH24 — Lalgadh–Bahunmara route, approx. 29 km
  • NH25 — Bhanubhakta Acharya Highway: Dumre–Chame, approx. 108 km
  • NH26 — Jamunibas–Janakpur route, approx. 19 km
  • NH27 — Sitalpata–Sangrahi route, approx. 40 km
  • NH28 — Tamakoshi Corridor: Bhittamod–Lyapche, approx. 281 km
  • NH29 — unnamed connector (Kanchanban area), approx. 30 km
  • NH30 — Janakpur–Pushpalpur route, approx. 36 km
  • NH31 — Dolalghat–Chautara route, approx. 25 km
  • NH32 — Nawalpur–Sonbarsha route, approx. 30 km
  • NH33 — Kathmandu–Terai/Madhesh Expressway (Fast Track): Kathmandu–Nijgadh, approx. 76 km (old H20)
  • NH34 — Araniko Highway: Kathmandu (Maitighar)–Kodari, approx. 112 km (old H03)
  • NH35 — unnamed connector (Kapilvastu area), approx. 25 km
  • NH36 — Birendra Highway: Chandranigahapur–Gaur, approx. 45 km
  • NH37 — Kanti Highway (Kanti Lokpath): Hetauda–Ekantakuna, approx. 86 km
  • NH38 — Kathmandu Outer Ring Road (planned), approx. 68 km
  • NH39 — Kathmandu Ring Road, approx. 27 km (old H16)
  • NH40 — Samakhusi–Bidur route, approx. 26 km
  • NH41 — Tribhuvan Highway: Kathmandu (Tripureshwar)–Birgunj ICP, approx. 155 km (old H02)
  • NH42 — Trishuli Corridor: to Rasuwagadhi border, approx. 197 km
  • NH43 — Kalu Pandey Highway: Malekhu–Salyantar, approx. 57 km
  • NH44 — Madan Ashrit Highway corridor: Thori–Roila, approx. 300 km (absorbs old H05 Narayanghat–Mugling)
  • NH45 — Khairenitar–Kawasoti route, approx. 106 km
  • NH46 — Bhumahi–Parasi route, approx. 9 km
  • NH47 — Siddhartha Highway: Belahiya–Pokhara, approx. 184 km (old H10)
  • NH48 — Kaligandaki Corridor: Tansen area–Korala, approx. 254 km
  • NH49 — Badigad Corridor: Bartung–Kharbang, approx. 98 km
  • NH50 — Jitpur–Khunuwa route, approx. 30 km
  • NH51 — Taulihawa–Sandhikharka route, approx. 83 km
  • NH52 — Lumbini Highway: Kakrahwa–Dhorpatan, approx. 222 km
  • NH53 — Swargadwari Highway: Bhalubang–Darbot, approx. 130 km
  • NH54 — Shahid Highway (Shahid Marg): Koilabas–Lukum, approx. 211 km
  • NH55 — Rapti Highway: Ameliya–Musikot, approx. 169 km (old H11)
  • NH56 — Rara Highway: Tharmare–Rara, approx. 263 km
  • NH57 — Bheri Corridor, approx. 317 km
  • NH58 — Karnali Highway/Corridor: Jamunaha–Hilsa, approx. 538 km (absorbs old H12 Ratna and H13 Karnali)
  • NH59 — Murtiya–Nagma route, approx. 154 km
  • NH60 — Panchkoshi Highway (from Surkhet), approx. 302 km
  • NH61 — Surkhet–Manma route, approx. 168 km
  • NH62 — South Seti Highway: Khakraula–Chainpur, approx. 228 km
  • NH63 — Sanphebagar–Kolti route, approx. 111 km
  • NH64 — Jaya Prithvi Bahadur Singh Highway: Khodpe–Chainpur (Bajhang), approx. 108 km
  • NH65 — Seti Corridor, approx. 296 km
  • NH66 — Mahakali Highway: Dhangadhi–Darchula (planned to Tinkar), approx. 350 km (old H14)
  • NH67 — Mahakali Corridor: Chandani–Jhulaghat, approx. 201 km
  • NH68 — Bhimkali Highway: Bhimad–Arung Khola, approx. 80 km
  • NH69 — Jagat Bhanjyang–Chapakot route, approx. 42 km
  • NH70 — unnamed route (Gandaki region), approx. 46 km
  • NH71 — Bhalubang–Kharbang route, approx. 170 km
  • NH72 — Dumkibas–Triveni route, approx. 23 km
  • NH73 — Surunga–Lasunganj route, approx. 25 km
  • NH74 — Ilam–Sandakpur route, approx. 50 km
  • NH75 — Sworna Sagarmatha Ring Road: Okhaldhunga–Diktel loop, approx. 135 km
  • NH76 — Falgunanda Highway: Damak–Rabi, approx. 44 km
  • NH77 — Bharatpur Ring Road, approx. 105 km
  • NH78 — Damak Ring Road, approx. 100 km
  • NH79 — Godar–Sindhuli route, approx. 20 km
  • NH80 — Bastipur Chowk–Belsot route, approx. 30 km

How to cite and use the codes correctly

For anything written after 2021, use the NH code, ideally with the highway name on first mention: 'NH01 (Mahendra Highway)'. When quoting an older document, keep its original H or F code but add the current equivalent in brackets so readers are not misled. For locations along a route, pair the code with chainage — 'NH34, chainage 82+300' — which is how the DoR itself references bridges, landslide zones and contract sections.

Be careful with lengths. Because SNH 2020/21 records planned corridor totals, a highway's official length can differ from what is drivable: NH03 is listed near 1,787 km although long hill sections remain earthen or under construction, and NH58's 538 km includes high-Himalayan stretches toward Hilsa that are still being opened. When accuracy matters — for logistics, tenders or research — cross-check against the latest DoR annual statistics, which are updated each fiscal year, rather than relying on the founding 2020/21 figures.

Questions

Nepal Highway Codes Explained: NH Numbers, Old H Codes and Chainage — FAQ

What does NH01 mean in Nepal?+

NH01 is the code of the Mahendra Highway, Nepal's East–West Highway running about 1,028 km from Kakarbhitta on the eastern border to Gaddachauki in the far west. 'NH' stands for National Highway and 01 is its serial number in the 80-route register introduced by the Department of Roads in 2021. Under the old system the same road was coded H01.

What is the difference between old H numbers and new NH numbers on Nepal's roads?+

H numbers belong to the pre-2021 register of 21 national highways, while NH numbers belong to the current register of 80 highways published in the Statistics of National Highway 2020/21. The numerals rarely match: old H02 (Tribhuvan Highway) is now NH41, old H03 (Araniko Highway) is now NH34, and old H10 (Siddhartha Highway) is now NH47. Always check a document's date before trusting a bare H code.

How many national highways does Nepal have and how long are they?+

Nepal has 80 national highways, coded NH01 to NH80, administered by the Department of Roads. Per SNH 2020/21 they totalled 11,178.92 km in service, rising to roughly 11,799 km by fiscal year 2022/23, with the full planned network near 14,900 km including proposed extensions.

What happened to Nepal's F-series feeder roads?+

The 2021 reform dissolved the federal feeder-road category. Every F-coded road was either upgraded into one of the 80 new national highways — the NH05 Postal Highway, for instance, absorbed feeders F16, F44 and F46 along with old H17 — or transferred to a provincial government as a provincial road. F codes on older maps and signs therefore refer to the pre-2021 register.

What does a road chainage marker like 125+400 mean in Nepal?+

Chainage is the distance measured along the road from its designated starting point, written as kilometres plus metres. So 125+400 marks a spot 125 km and 400 m from the highway's zero point. Nepal's Department of Roads locates bridges, contract sections and accident or landslide sites by chainage, and roadside kilometre stones display the same running distance.

Which highway codes are the Mid-Hill Highway and the Postal Highway?+

The Pushpalal Mid-Hill Highway is NH03 (formerly H18) and the Postal or Hulaki Highway is NH05 (formerly H17). Confusingly, in the old system H03 meant the Araniko Highway and H05 the Narayanghat–Mugling road, so the same numerals point to different roads depending on whether a source predates the 2021 renumbering.

Related topics

← All topics