Pada zaman purba, kepulauan tanah air disebut dengan aneka nama. Dalam catatan bangsa Tionghoa kawasan kepulauan tanah air dinamai Nan-hai (Kepulauan Laut Selatan). Berbagai catatan kuno bangsa India menamai kepulauan ini Dwipantara (Kepulauan Tanah Seberang), nama yang diturunkan dari kata Sansekerta dwipa (pulau) dan antara (luar, seberang). Kisah Ramayana karya pujangga Valmiki menceritakan pencarian terhadap Sinta, istri Rama yang diculik Rahwana, sampai ke Suwarnadwipa (Pulau Emas, yaitu Sumatra sekarang) yang terletak di Kepulauan Dwipantara.
Bangsa Arab menyebut tanah air kita Jaza'ir al-Jawi (Kepulauan Jawa). Nama Latin untuk kemenyan adalah benzoe, berasal dari bahasa Arab luban jawi (kemenyan Jawa), sebab para pedagang Arab memperoleh kemenyan dari batang pohon Styrax sumatrana yang dahulu hanya tumbuh di Sumatra. Sampai hari ini jemaah haji kita masih sering dipanggil "Jawa" oleh orang Arab. Bahkan orang Indonesia luar Jawa sekalipun. Dalam bahasa Arab juga dikenal Samathrah (Sumatra), Sholibis (Sulawesi), Sundah (Sunda), semua pulau itu dikenal sebagai kulluh Jawi (semuanya Jawa).
Bangsa-bangsa Eropa yang pertama kali datang beranggapan bahwa Asia hanya terdiri dari Arab, Persia, India, dan Tiongkok. Bagi mereka, daerah yang terbentang luas antara Persia dan Tiongkok semuanya adalah "Hindia". Semenanjung Asia Selatan mereka sebut "Hindia Muka" dan daratan Asia Tenggara dinamai "Hindia Belakang". Sedangkan tanah air memperoleh nama "Kepulauan Hindia" (Indische Archipel, Indian Archipelago, l'Archipel Indien) atau "Hindia Timur" (Oost Indie, East Indies, Indes Orientales). Nama lain yang juga dipakai adalah "Kepulauan Melayu" (Maleische Archipel, Malay Archipelago, l'Archipel Malais).
Pada jaman penjajahan Belanda, nama resmi yang digunakan adalah Nederlandsch-Indie (Hindia Belanda), sedangkan pemerintah pendudukan Jepang 1942-1945 memakai istilah To-Indo (Hindia Timur).
Eduard Douwes Dekker (1820-1887), yang dikenal dengan nama samaran Multatuli, pernah mengusulkan nama yang spesifik untuk menyebutkan kepulauan tanah air kita, yaitu Insulinde, yang artinya juga "Kepulauan Hindia" (bahasa Latin insula berarti pulau). Nama Insulinde ini kurang populer.