Machhiyal (also written Machhial or Macchial) is not a big, dramatic mountain lake. It is a small, quiet pool in the low hills of Mandi district, fed by streams of the Joginder Nagar valley — and it is one of the most unusual places near Bir, because here the fish are sacred.
Why the fish are sacred
The lake is dedicated to Machhendru Devta, worshipped locally as a fish (matsya) form of Lord Vishnu, and it is also associated with the name of Machhinder Nath. Pilgrims come to pray and to feed the fish, which crowd the water near the steps. Fishing in the lake is strictly prohibited, and the fish have been protected by this faith for generations.
Older visitors and naturalists remember large mahseer in the lake, some said to wear gold rings in their noses offered by devotees. That tradition has largely faded, but the lake is still a place of devotion — and an example of how local religion has protected wildlife in the hills.
What to expect
- A small lake (roughly 200 m long) with a temple on its bank and steps down to the water.
- Thousands of fish, which gather as soon as anyone approaches with food.
- Local families and pilgrims, especially on weekends and on Tuesdays and Saturdays, which are considered auspicious for feeding the fish.
- A calm, green setting — at about 850 m it is warmer than Bir, and pleasant even in winter.
Etiquette
- Never try to catch, touch or harm the fish.
- Feed the fish only with what is sold or offered locally (usually atta or puffed rice) — not bread or packaged snacks.
- Remove your shoes where indicated near the temple, and dress modestly.
- Carry your rubbish away with you.
How to get there from Bir
Drive down from Bir to NH 154 and head east towards Joginder Nagar. The lake is about 7–8 km from Joginder Nagar town, a total of roughly 20 km from Bir, or 40–50 minutes by taxi. Joginder Nagar is also the terminus of the narrow-gauge Kangra Valley Railway, so you can combine the trip with a short train ride from Ahju near Bir.
Combine it with Joginder Nagar’s hydro history

Joginder Nagar is home to the Shanan power house, one of India’s earliest large hydro-electric projects, built in the 1930s. To carry equipment up to Barot, engineers built a steep haulage way — a cable-hauled rail line that climbs straight up the mountain. Parts of it are still visible from the town, and it is a good stop on the way to or from the lake.
Best time to visit
The lake can be visited all year. October to March is the most comfortable; summers are warm at this altitude, and the monsoon (July–August) makes the roads slippery.
A half-day plan from Bir
- Leave Bir after breakfast and drive down to NH 154 towards Joginder Nagar (about 40–50 minutes in total to the lake).
- Spend 45 minutes to an hour at Machhiyal: walk around the lake, visit the temple and watch the fish.
- Drive into Joginder Nagar to see the Shanan power house area and the old haulage line on the hillside.
- Have lunch in Joginder Nagar, or come back to Bir and stop in Khopu for Siddu.
Ride the Kangra Valley toy train
Joginder Nagar is the terminus of the narrow-gauge Kangra Valley Railway, which winds through the hills from Pathankot. For a slow and memorable trip, take the train between Ahju (near Bir) and Joginder Nagar in one direction and a taxi in the other. Timetables change, so check the current schedule at the station.
Facilities
- There are small shops near the lake selling offerings and snacks; carry cash.
- Toilets and parking are basic.
- The area is gentle and flat around the lake, so it is suitable for older visitors and children — keep little ones away from the water’s edge.
Photography tips
- Morning light is softest; midday sun creates strong reflections on the water.
- The best shots of the fish are from the steps, looking straight down into the water.
- Ask before photographing people at prayer, and do not use flash near the shrine.
Going further
From Joginder Nagar, a winding road climbs to Barot in the Uhl valley — famous for trout, river walks and as the far end of the Rajgundha trek. It makes a good full-day trip when combined with Machhiyal.
Timings for the temple and local customs vary — ask at the lake, and please follow what the priests and locals tell you.
Frequently asked questions
Where is Machhiyal Lake?
Machhiyal Lake is near Joginder Nagar in Mandi district, Himachal Pradesh, about 7–8 km from Joginder Nagar town and roughly 20 km from Bir.
Can you fish in Machhiyal Lake?
No. The fish are considered sacred to Machhendru Devta and fishing is strictly prohibited.
Which days are best to visit Machhiyal Lake?
The lake is open every day. Tuesdays and Saturdays are considered especially auspicious for feeding the fish, and weekends are the busiest.


