The Karnali river is a perennial, torrential, turbulent and undisturbed river of the Himalayas, which is one of the three major rivers of Nepal, the other two being Gandaki or Narayani River and Sapta koshi River. It originates from Mansarover and Rakes lake and receives many snow fed rivers such as Mugu Karnali and Humla Karnali at Himalayan belt. The Karnali basin lies between the mountain ranges of Dhaulagiri and Nanda Devi, in the western part of Nepal. In the north, it lies in the rain shadow of the Himalayas. The Karnali river has its origin in the perpetually snow covered Himalayan mountains.
The Karnali river is the longest river in Nepal, 507 Km in length, forms several gorges with its swift currents. A 202 Km long, Seti River, its feeder stream, drains the western part of the catchment, and joins the Karnali River in Doti north of Dundras hill. Another feeder stream, 264 Km long Bheri river, drains the eastern part of the Catchment and meets the Karnali River near Kuineghat in Surkhet.
It makes a spectacular gorge near Chisapani which contains diverse kinds of trans -Himalayan and sub-Himalayan fish species.
The bottom of the Karnali River is mostly boulder-strewn at its upper reaches and sandy at its lower reaches and the river water is clean except in rainy season. Its depth ranges from 3-10 m but in deep gorges varies from 50 m-100m. Karnali fans divides into two main channels, first Geruwa on the left and Kauralia on the right near downstream Chisapani.