Rivers of India
India's rivers fall into two families. Himalayan rivers are fed by glaciers and snowmelt, so they flow throughout the year. Peninsular rivers depend on monsoon rain, so their flow changes with the seasons. Together they irrigate farmland, generate electricity, and support hundreds of millions of people — and they appear again and again in SSC, UPSC, and state exam papers.
Ganga
Himalayan rivers- Origin
- Gangotri glacier, Uttarakhand
- Length
- 2,525 km
- Flows into
- Bay of Bengal
- Flows through
- Uttarakhand, Uttar Pradesh, Bihar, Jharkhand, West Bengal
Tap a river on the map or choose one from the list.
Himalayan rivers
Peninsular rivers
Quick facts for exams
Longest river in India: Ganga — 2,525 km from Gangotri to the Bay of Bengal.
Longest peninsular river: Godavari (1,465 km), often called the Dakshin Ganga.
West-flowing exceptions: Narmada and Tapi drain into the Arabian Sea, unlike most peninsular rivers.
The Brahmaputra is called Yarlung Tsangpo in Tibet and Jamuna in Bangladesh.
Himalayan rivers
The three great Himalayan systems are the Indus, the Ganga, and the Brahmaputra. The Indus rises near Lake Mansarovar in Tibet and flows through Ladakh before entering Pakistan; its major tributaries include the Sutlej, Beas, Ravi, Chenab, and Jhelum. The Ganga begins at the Gangotri glacier and collects the Yamuna, Ghaghara, Gandak, and Kosi on its way to the Bay of Bengal. The Brahmaputra enters India in Arunachal Pradesh as the Siang and runs the length of Assam before turning south into Bangladesh.
Peninsular rivers
Most peninsular rivers rise in the Western Ghats and flow east across the Deccan plateau into the Bay of Bengal — the Mahanadi, Godavari, Krishna, and Kaveri all follow this pattern. The two big exceptions are the Narmada and the Tapi, which flow west through rift valleys into the Arabian Sea. Because these rivers depend on the monsoon, many are dammed for irrigation and hydropower — Hirakud on the Mahanadi and Nagarjuna Sagar on the Krishna are frequent exam questions.
Major rivers at a glance
| River | System | Origin | Length | Flows into | Flows through |
|---|---|---|---|---|---|
| Indus | Himalayan | Near Lake Mansarovar, Tibet | 3,180 km1,114 km in India | Arabian Sea (through Pakistan) | Ladakh, Jammu & Kashmir |
| Jhelum | Himalayan | Verinag spring, Anantnag, Jammu & Kashmir | 725 kmabout 400 km in India | Joins the Chenab in Pakistan | Jammu & Kashmir |
| Sutlej | Himalayan | Lake Rakshastal, Tibet | 1,450 km | Joins the Indus in Pakistan | Himachal Pradesh, Punjab |
| Beas | Himalayan | Beas Kund near Rohtang Pass, Himachal Pradesh | 470 km | Joins the Sutlej at Harike Pattan, Punjab | Himachal Pradesh, Punjab |
| Ganga | Himalayan | Gangotri glacier, Uttarakhand | 2,525 km | Bay of Bengal | Uttarakhand, Uttar Pradesh, Bihar, Jharkhand, West Bengal |
| Yamuna | Himalayan | Yamunotri glacier, Uttarakhand | 1,376 km | Joins the Ganga at Prayagraj | Uttarakhand, Himachal Pradesh, Haryana, Delhi, Uttar Pradesh |
| Chambal | Himalayan | Janapav hills near Mhow, Madhya Pradesh | 965 km | Joins the Yamuna near Etawah | Madhya Pradesh, Rajasthan, Uttar Pradesh |
| Ghaghra (Saryu) | Himalayan | Mapchachungo glacier near Mansarovar, Tibet (enters India as Karnali) | 1,080 kmabout 600 km in India | Joins the Ganga near Chhapra, Bihar | Uttarakhand, Uttar Pradesh, Bihar |
| Kosi | Himalayan | Tributaries rise in Tibet and Nepal; enters India at Bhimnagar barrage, Bihar | 720 kmabout 260 km in India | Joins the Ganga at Kursela, Bihar | Nepal, Bihar |
| Brahmaputra | Himalayan | Chemayungdung glacier, Tibet (as Yarlung Tsangpo) | 2,900 km916 km in India | Bay of Bengal (through Bangladesh) | Arunachal Pradesh, Assam |
| Narmada | Peninsular | Amarkantak plateau, Madhya Pradesh | 1,312 km | Arabian Sea (Gulf of Khambhat) | Madhya Pradesh, Maharashtra, Gujarat |
| Tapi (Tapti) | Peninsular | Multai, Betul district, Madhya Pradesh | 724 km | Arabian Sea (Gulf of Khambhat) | Madhya Pradesh, Maharashtra, Gujarat |
| Sabarmati | Peninsular | Aravalli hills, Udaipur district, Rajasthan | 371 km | Arabian Sea via Gulf of Khambhat | Rajasthan, Gujarat |
| Mahi | Peninsular | Vindhya Range, Dhar district, Madhya Pradesh | 583 km | Arabian Sea via Gulf of Khambhat | Madhya Pradesh, Rajasthan, Gujarat |
| Son | Peninsular | Amarkantak plateau, Anuppur, Madhya Pradesh — same plateau as the Narmada, but flowing the opposite way | 784 km | Joins the Ganga near Arrah, Bihar | Madhya Pradesh, Chhattisgarh, Jharkhand, Bihar |
| Betwa | Peninsular | Vindhya Range, Raisen district, Madhya Pradesh | 590 km | Joins the Yamuna at Hamirpur, Uttar Pradesh | Madhya Pradesh, Uttar Pradesh |
| Mahanadi | Peninsular | Sihawa hills, Dhamtari, Chhattisgarh | 851 km | Bay of Bengal | Chhattisgarh, Odisha |
| Damodar | Peninsular | Chota Nagpur Plateau, Latehar district, Jharkhand | 592 km | Joins the Hooghly near Shyampur, West Bengal | Jharkhand, West Bengal |
| Godavari | Peninsular | Trimbakeshwar, Nashik, Maharashtra | 1,465 km | Bay of Bengal | Maharashtra, Telangana, Andhra Pradesh |
| Krishna | Peninsular | Mahabaleshwar, Maharashtra | 1,400 km | Bay of Bengal | Maharashtra, Karnataka, Telangana, Andhra Pradesh |
| Kaveri | Peninsular | Talakaveri, Kodagu, Karnataka | 800 km | Bay of Bengal | Karnataka, Tamil Nadu |
| Tungabhadra | Peninsular | Confluence of Tunga and Bhadra rivers at Kudali, Shivamogga, Karnataka | 531 km | Joins the Krishna in Kurnool district, Andhra Pradesh | Karnataka, Andhra Pradesh |
| Pennar | Peninsular | Nandi hills, Chikkaballapur, Karnataka | 597 km | Bay of Bengal near Nellore, Andhra Pradesh | Karnataka, Andhra Pradesh |
| Periyar | Peninsular | Sivagiri hills, Idukki, Kerala (Western Ghats) | 244 km | Arabian Sea via Vembanad Lake, Kerala | Kerala |
The map above is a simplified schematic drawn for study purposes. River courses and boundaries are approximate and not to scale. Figures are rounded, and lengths of cross-border rivers are totals unless noted.