Rainbow Beach is a coastal town in south-eastern Queensland, Australia, near Gympie. Rainbow Beach is located 75 km from the Bruce Highway town of Gympie, and 239 km from Brisbane. Rainbow Beach' name derives from the rainbow-coloured sand dunes surrounding the settlement.
Originally a sand-mining community and gazetted in 1969, the town's economy is now heavily influenced by tourism. Double Island Point, a popular destination amongst 4WD enthusiasts, is located east of Rainbow Beach town. Vehicular ferries for Fraser Island depart from Inskip Point, north of Rainbow Beach town.
The Cooloola Section of the Great Sandy National Park borders the town to the south. A number of walking tracks through the national park depart from the southern outskirts of Rainbow Beach. This includes the northern end point of the Cooloola Great Walk.