Tons River is a major perennial Himalayan river which flows through Garhwal division of Uttarakhand and touches Himachal Pradesh. It is the largest tributary of Yamuna River, having a length of 148 km. The source of this river is Bandarpuch Mountain. Tons River carries more water than Yamuna River and meets it below Kalsi, near the town of Dehradun in Uttarakhand. Tons River joins the Yamuna in the north-western part of Doon Valley, approximately 48 km away from Dehradun. The turbulent river offers a number of adventure activities such as white river rafting, kayaking, body surfing etc. to the adventure enthusiasts.
The source of Tons river is at the convergence of two streams-the Supin River, which rises from the northern part of the Tons catchment, near Himachal Pradesh and Uttar Pradesh border, and Rupin River which emerges from a glacier, at the head of Har-Ki-Dun Valley in north-north-eastern part of the Tons catchment. These two streams converge near a tiny hamlet called Naitwar. The channel downstream is referred to as Tons River, which flows along a V-shaped valley. The end point of Tons River is Dak Pathar in Dehradun. The settlements along Tons River are Sankri, Netwar, Mori, Hanol, Mahasu, Maindrath, Tiuni, Atal, Kuanu and Dakpathar.
The Pabbar River and Asan River are the major tributaries of Tons River. Prabahar River connects Tons to the west. The Asan river is a confluence of two small river systems, of which one flows to the south from the Himalayan range, running from Vikas Nagar towards Tehri, and the other streams flow in the northwest direction from the lower Shiwalik Hills, separating Dehradun and Saharanpur districts.