The railway reached the town in 1877. From 1883 the line was extended to reach as far as Port Fairy, in the south west of the state. The Irrewarra-Cressy line to Ballarat also ran from Colac between 1889 and 1953. There was also a branch line to Alvie opened in 1923 and closed in 1954. A narrow gauge railway line began in Colac going south to the small towns of Beech Forest and Crowes. This line opened in 1902 and closed in 1962.