Terrace is located on the Northwest Corridor and railway line Prince Rupert - (Prince George) - Edmonton. It is end of CN Bulkley Subdivision (mile 131.9) from Endako, and start of Skeena Subdivision (mile 0.0) to Prince Rupert. Branchline to Kitimat, Kitimat Subdivision (mile 0.0), starts in Terrace.
Passenger service is maintained by VIA Rail Canada and fright by CN (Canadian National Railway). Most trains only stops in Terrace for a short pause.