Nama India dan Bharat telah ada selama lebih dari dua ribu tahun. Beberapa pendukung nama Bharat berpendapat bahwa "India" adalah pemberian kolonial Inggris, sementara sejarawan berpendapat bahwa nama "India" telah digunakan sejak sebelum pemerintahan kolonial.
Asal-usul kata "India" berasal dari nama sungai Indus, yang dalam bahasa Sansekerta disebut Sindhu. Para wisatawan Yunani bahkan mengidentifikasi wilayah tenggara Sungai Indus sebagai "India" sebelum kampanye Alexander Agung di sana pada abad ke-3 SM.
Sementara itu, nama Bharat ditemukan dalam kitab suci kuno India, meskipun beberapa ahli berpendapat bahwa itu lebih mengacu pada identitas sosial dan budaya daripada geografi.