Rainbow is a town in the Shire of Hindmarsh in northwest Victoria, Australia, 400 kilometres (250 mi) from Melbourne. The nearest large towns are Warracknabeal, Dimboola and Nhill, all to the south. At the 2016 census, Rainbow had a population of 683.