---
title: "How to reach McLeodganj, Himachal Pradesh"
description: "McLeodganj is 6 km above Dharamshala and about 500 km from Delhi — overnight buses run all the way up (11–14 hours), Kangra Airport is 18 km below, and the Pathankot railhead 90 km out."
canonical: https://onthehills.in/guides/how-to-reach-mcleodganj
town: "McLeodganj"
author: "Ankur"
published: 2026-09-03
updated: 2026-09-15
---

# How to reach McLeodganj, Himachal Pradesh

You are heading for McLeodganj and want the version of the journey that ends at the village, not at a bus stand 6 km below it at six in the morning. This guide covers every way in and says which one to take.

The short answer is the overnight bus from Delhi, and specifically one that terminates at McLeodganj. Several do, and you step off at the village entrance rather than transferring in Dharamshala with your bags.

McLeodganj is 6 km and about 25 minutes above [Dharamshala](/dharamshala), on the same Dhauladhar hillside in Kangra district. Because it sits above the main town, most routes take you through Dharamshala first and you cover the last stretch by local bus or taxi. The overnight bus is the exception, which is why it is the recommendation.

## McLeodganj at a glance

- **Distance from Dharamshala:** 6 km, about 25 minutes up the hill.
- **Distance from Delhi:** about 500 km — 11–14 hours by overnight bus (several run all the way up), 10–12 hours driving, 1.5 hours by air plus the transfer.
- **Nearest airport:** [Kangra Airport at Gaggal](https://www.google.com/maps/search/?api=1&query=Kangra+Airport+Gaggal) (DHM), about 18 km, around 45 minutes by taxi.
- **Nearest railway station:** [Pathankot](https://www.google.com/maps/search/?api=1&query=Pathankot+Junction+railway+station), about 90 km and 3–4 hours by road.
- **Elevation:** about 2,080 m.
- **Distance from Dharamkot:** 2 km, a 20–45 minute walk uphill.

## Fly or bus?

Flying is 1.5 hours in the air plus about 45 minutes by taxi up the hill, at several times the bus fare. The bus is 11–14 hours you would have spent asleep anyway, and the right one ends at the village.

Fog decides it. Gaggal cancels flights when cloud sits in the valley, so take the bus if your dates are fixed, and fly if you have a spare day to lose and would rather lose it here.

## By air: Delhi or Chandigarh to Kangra Airport

[Kangra Airport at Gaggal](https://www.google.com/maps/search/?api=1&query=Kangra+Airport+Gaggal) (code DHM) is the nearest airport, 13 km from Dharamshala, so around 45 minutes to McLeodganj by taxi once you factor in the climb. IndiGo and SpiceJet operate here from **Delhi**, roughly 1.5 hours in the air, and from **Chandigarh**. Those two are the only origins to plan around.

Both are no-frills carriers. The frills you are missing are a hot meal and legroom, neither of which you need for ninety minutes.

Gaggal flies under visual rules on a short valley runway, meaning pilots need to see the ground, so fog and low cloud cancel or divert flights fairly often, particularly in winter and the monsoon. Book a morning departure, because those have the best odds of going and a cancelled morning flight still leaves you the day to reach a bus. Never put a tight onward connection behind a Gaggal arrival.

If the flight schedule does not work, **[Amritsar](https://www.google.com/maps/search/?api=1&query=Sri+Guru+Ram+Dass+Jee+International+Airport+Amritsar)** at roughly 200 km (4–5 hours by road) is the better alternate for this cluster: more airlines, more frequency, and an easy drive in. **[Chandigarh](https://www.google.com/maps/search/?api=1&query=Chandigarh+International+Airport)** at roughly 250 km (5–6 hours) also works and is better placed if you are continuing to [Bir](/bir).

## By train: Delhi to Pathankot, then 3–4 hours by road

No line reaches McLeodganj. **[Pathankot](https://www.google.com/maps/search/?api=1&query=Pathankot+Junction+railway+station)** is the practical railhead, about 90 km out and 3–4 hours by road. Several overnight trains run from Delhi and fill up in season, so book ahead. Tickets are booked on [IRCTC](https://www.irctc.co.in/), Indian Railways' official site (visitors from abroad can register with an overseas mobile number; carry your passport as ID on board), or with less friction through a third-party service such as [MakeMyTrip](https://www.makemytrip.com/railways/). From Pathankot you can pick up a bus or taxi onward; buses take 4–5 hours to Dharamshala.

The **Kangra Valley narrow-gauge railway** came back into service in June 2026, four years after the Chakki bridge collapse in 2022 took it out. It is a lovely ride and costs less than the chai you will drink waiting for it, but it consumes most of a day, sells tickets only at the station, and usually suspends through the monsoon. Do it as a scenic day trip from the region once you have arrived, because a day is the price. The Palampur and [Bir](/bir) stretches are the good ones. Check it is running before committing a day to it.

## By bus: overnight from Delhi, all the way up

This is the route most people take and the one worth taking. HRTC, Himachal's state bus corporation, and private operators run overnight Volvos and sleepers from **[ISBT Kashmere Gate](https://www.google.com/maps/search/?api=1&query=ISBT+Kashmere+Gate+Delhi)** and **[Majnu ka Tilla](https://www.google.com/maps/search/?api=1&query=Majnu+Ka+Tilla+Delhi)** in Delhi, departing roughly between 19:00 and 22:00, with a journey of 11–14 hours. "Volvo" here means any air-conditioned coach; some of them were even built by Volvo. A sleeper has bunks instead of seats, which is better for sleeping and worse for everything else.

Ordinary services start around ₹700; Volvo and sleeper fares sit in the low thousands. Confirm the fare when booking. Seats are booked online — [redBus](https://www.redbus.in/) is the app most people in India use, and [FlixBus](https://www.flixbus.in/) runs the route too; both issue an e-ticket you show on your phone, so there is no counter to find.

Look specifically for services terminating at McLeodganj rather than Dharamshala. The difference is 6 km, 25 minutes, and whether your first act in the hills is a taxi negotiation. [McLeodganj's bus stand](https://www.google.com/maps/search/?api=1&query=McLeod+Ganj+Bus+Stand) is right at the village entrance near the main square, so you arrive within walking distance of most of the town. If your bus ends at Dharamshala instead, local buses and taxis run up the hill continuously through the day.

Buses also connect from **Amritsar** (about 5 hours), **Chandigarh** (about 5.5 hours) and **Pathankot** (4–5 hours), generally into Dharamshala with the last 6 km to cover.

## By road: driving from Delhi

Delhi to McLeodganj is roughly 500 km, realistically 10–12 hours with breaks. NH44 gets you to Ambala and Chandigarh over about 250 km of expressway-grade road; after that it narrows and climbs through Kiratpur, Una, Amb and Kangra. The final ascent from Dharamshala is steep, tight and busy with buses, so take it slowly.

Fill up around Chandigarh, because fuel stations become sparse in the hills.

Parking in McLeodganj is genuinely difficult in season. The town was laid out before cars and has not fully come round to them, so if you are staying more than a night or two, ask your accommodation about parking before you drive up.

## From the other towns

**Dharamshala** is 6 km down, about 25 minutes, with frequent local buses and taxis at the stand.

**Dharamkot** is 2 km away and genuinely walkable, 20 to 45 minutes uphill depending on your pace and load, or 10–15 minutes by taxi for around ₹150. Read [How to reach Dharamkot](/guides/how-to-reach-dharamkot) first if you have heavy luggage, because the road runs out before the village does.

**Bir** is 65–70 km east, 2.5–3 hours via Palampur and Baijnath. There is no direct bus from McLeodganj; go down to Dharamshala or out to Palampur and connect there. A direct taxi runs roughly ₹2,000–2,300.

## Good to know

**Monsoon runs from late June to mid-September.** Landslides and road closures are normal, every journey takes longer than planned, and the narrow-gauge line usually stops. Leave slack.

**No Ola or Uber operates anywhere in this corridor.** Local taxi unions run all hired transport — settle the fare before you board, because quotes for the same trip vary two- or three-fold.

**Money: carry cash, because UPI mostly won't work for you.** India runs on UPI — the QR-code payment system on every café counter and taxi dashboard — but it needs an Indian bank account, so a foreign card or phone gets nowhere with it. (NPCI's "UPI One World" prepaid wallet for tourists can be set up at Delhi airport on arrival with passport and visa; the rollout is patchy, so treat it as a bonus rather than a plan.) Cards work at larger hotels and some cafés; most homestays, taxis and small eateries want cash. McLeodganj has several ATMs, though they run short on weekends in season; Dharamkot above has none.

**Phone: buy a SIM in the Delhi airport arrivals hall.** Airtel and Jio both have counters there; a tourist SIM needs your passport, visa and a photo, and activation can take a few hours, so do it before you leave the airport. Both networks cover the corridor's towns. Signal is solid around the bazaar and thins in upper Dharamkot. An international eSIM gives you data but no Indian number, which some bookings and one-time passcodes ask for.

**Taxis at Kangra Airport work to union rates.** Cars wait outside arrivals at Gaggal; expect roughly ₹800 to Rakkar, ₹1,200–1,400 to Dharamshala, ₹1,800–2,000 to McLeodganj and around ₹3,000–3,600 to Bir — confirm the fare before the bags go in. There is no ride-hailing here. Pre-arranging a pickup through your stay is normal and usually costs the same.

**Getting from Delhi airport to the bus.** Uber and Ola work in Delhi (they stop at the hills) and there is a prepaid taxi counter in arrivals. By metro, the Airport Express line runs from Terminal 3 to New Delhi station; change to the Yellow line for Kashmere Gate (ISBT is at the station) or Vidhan Sabha (a short auto-rickshaw ride to Majnu ka Tilla). Allow 1.5–2 hours across the city in the evening.

**Overnight buses arrive early in the morning**, usually before check-in time. Book your first night ahead and tell the property you are coming in early.

**Winters are cold and occasionally icy.** The roads stay open, but expect ice and some snow around McLeodganj and Dharamkot in January and February — worth knowing if you plan to drive the last climb yourself.

## The short version

- Overnight bus from Delhi that terminates at McLeodganj: 11–14 hours, from about ₹700, and you wake up at the village.
- Fly to Gaggal only if a cancelled flight would not wreck the plan; it is 45 minutes by taxi from there.
- Train means Pathankot plus 3–4 hours by road, then the last 6 km up from Dharamshala.
- Driving is 10–12 hours, and parking at the top is the hard part.

Once you are here, see [what's on in McLeodganj this week](/mcleodganj), or carry on to [Dharamkot](/guides/how-to-reach-dharamkot), [Dharamshala](/guides/how-to-reach-dharamshala) or [Bir](/guides/how-to-reach-bir).

---

Source: https://onthehills.in/guides/how-to-reach-mcleodganj — On The Hills, a curated guide to events and workshops in India's hill towns.
