Study maps

Rivers of India

India's rivers include Himalayan systems supported by glacier melt and rainfall, and peninsular systems whose flow is strongly shaped by the monsoon. Their courses cross state and national boundaries, join through tributaries, and drain to the Arabian Sea, Bay of Bengal, or inland basins.

Loading map

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

The Mahanadi, Godavari, Krishna, and Kaveri drain east to the Bay of Bengal. The Narmada and Tapi are major west-flowing rivers that drain to the Arabian Sea. Important dam relationships include Hirakud on the Mahanadi and Nagarjuna Sagar on the Krishna.

Major rivers at a glance

RiverSystemOriginLengthFlows intoFlows through
IndusHimalayanNear Lake Mansarovar, Tibet3,180 km1,114 km in IndiaArabian Sea (through Pakistan)Ladakh, Jammu & Kashmir
JhelumHimalayanVerinag spring, Anantnag, Jammu & Kashmir725 kmabout 400 km in IndiaJoins the Chenab in PakistanJammu & Kashmir
SutlejHimalayanLake Rakshastal, Tibet1,450 kmJoins the Indus in PakistanHimachal Pradesh, Punjab
BeasHimalayanBeas Kund near Rohtang Pass, Himachal Pradesh470 kmJoins the Sutlej at Harike Pattan, PunjabHimachal Pradesh, Punjab
GangaHimalayanGangotri glacier, Uttarakhand2,525 kmBay of BengalUttarakhand, Uttar Pradesh, Bihar, Jharkhand, West Bengal
YamunaHimalayanYamunotri glacier, Uttarakhand1,376 kmJoins the Ganga at PrayagrajUttarakhand, Himachal Pradesh, Haryana, Delhi, Uttar Pradesh
ChambalHimalayanJanapav hills near Mhow, Madhya Pradesh965 kmJoins the Yamuna near EtawahMadhya Pradesh, Rajasthan, Uttar Pradesh
Ghaghra (Saryu)HimalayanMapchachungo glacier near Mansarovar, Tibet (enters India as Karnali)1,080 kmabout 600 km in IndiaJoins the Ganga near Chhapra, BiharUttarakhand, Uttar Pradesh, Bihar
KosiHimalayanTributaries rise in Tibet and Nepal; enters India at Bhimnagar barrage, Bihar720 kmabout 260 km in IndiaJoins the Ganga at Kursela, BiharNepal, Bihar
BrahmaputraHimalayanChemayungdung glacier, Tibet (as Yarlung Tsangpo)2,900 km916 km in IndiaBay of Bengal (through Bangladesh)Arunachal Pradesh, Assam
NarmadaPeninsularAmarkantak plateau, Madhya Pradesh1,312 kmArabian Sea (Gulf of Khambhat)Madhya Pradesh, Maharashtra, Gujarat
Tapi (Tapti)PeninsularMultai, Betul district, Madhya Pradesh724 kmArabian Sea (Gulf of Khambhat)Madhya Pradesh, Maharashtra, Gujarat
SabarmatiPeninsularAravalli hills, Udaipur district, Rajasthan371 kmArabian Sea via Gulf of KhambhatRajasthan, Gujarat
MahiPeninsularVindhya Range, Dhar district, Madhya Pradesh583 kmArabian Sea via Gulf of KhambhatMadhya Pradesh, Rajasthan, Gujarat
SonPeninsularAmarkantak plateau, Anuppur, Madhya Pradesh — same plateau as the Narmada, but flowing the opposite way784 kmJoins the Ganga near Arrah, BiharMadhya Pradesh, Chhattisgarh, Jharkhand, Bihar
BetwaPeninsularVindhya Range, Raisen district, Madhya Pradesh590 kmJoins the Yamuna at Hamirpur, Uttar PradeshMadhya Pradesh, Uttar Pradesh
MahanadiPeninsularSihawa hills, Dhamtari, Chhattisgarh851 kmBay of BengalChhattisgarh, Odisha
DamodarPeninsularChota Nagpur Plateau, Latehar district, Jharkhand592 kmJoins the Hooghly near Shyampur, West BengalJharkhand, West Bengal
GodavariPeninsularTrimbakeshwar, Nashik, Maharashtra1,465 kmBay of BengalMaharashtra, Telangana, Andhra Pradesh
KrishnaPeninsularMahabaleshwar, Maharashtra1,400 kmBay of BengalMaharashtra, Karnataka, Telangana, Andhra Pradesh
KaveriPeninsularTalakaveri, Kodagu, Karnataka800 kmBay of BengalKarnataka, Tamil Nadu
TungabhadraPeninsularConfluence of Tunga and Bhadra rivers at Kudali, Shivamogga, Karnataka531 kmJoins the Krishna in Kurnool district, Andhra PradeshKarnataka, Andhra Pradesh
PennarPeninsularNandi hills, Chikkaballapur, Karnataka597 kmBay of Bengal near Nellore, Andhra PradeshKarnataka, Andhra Pradesh
PeriyarPeninsularSivagiri hills, Idukki, Kerala (Western Ghats)244 kmArabian Sea via Vembanad Lake, KeralaKerala
Sources and accuracy

River courses shown on the main map are generalized Natural Earth centre-lines. Rivers without registered geographic source geometry are not drawn; their stored paths remain schematic. Length figures are learning references; cross-border totals are separated from India-only lengths where known.

Geometry: Natural Earth, 1:10m Rivers + Lake Centerlines v5.0.0 (public domain), WGS84 longitude/latitude; selected named major courses simplified with an approximately 0.035° Douglas–Peucker tolerance. Retrieved 14 October 2026. Natural Earth source and terms. This map is not for navigation.