The name India is derived from Indus, which originates from the Old Persian word Hindu. The latter term stems from the Sanskrit word Sindhu, which was the historical local appellation for the Indus River. The ancient Greeks referred to the Indians as Indoi, which translates as "The people of the Indus".

The geographical term Bharat, which is recognised by the Constitution of India as an official name for the country, is used by many Indian languages in its variations. It is a modernisation of the historical name Bharatavarsha, which traditionally referred to the Indian subcontinent and gained increasing currency from the mid-19th century as a native name for India. Scholars believe it to be named after the Vedic tribe of Bhāratas in the second millennium B.C.E. It is also traditionally associated with the rule of the legendary emperor Bharata. Gaṇarājya (literally, people's State) is the Sanskrit/Hindi term for "republic" dating back to the ancient times.

Hindustan is a Persian name for India dating back to the 3rd century B.C.E. It was introduced into India by the Mughals and widely used since then. Its meaning varied, referring to a region that encompassed northern India and Pakistan or India in its entirety. Currently, the name may refer to either the northern part of India or the entire country.