The average train between Swansea and Edinburgh takes 8h 25m and the fastest train takes 7h 24m. The train service runs several times per day from Swansea to Edinburgh. The journey time may be longer on weekends and holidays; use the search form on this page to search for a specific travel date.
Trains run every 4 hours between Swansea and Edinburgh. The earliest departure is at 5:39 AM in the morning, and the last departure from Swansea is at 4:51 PM which arrives into Edinburgh at 3:47 AM. All services require a transfer, and take on average 8h 25m. The schedules shown below are for the next available departures.

8h 36m • 1 change

7h 24m • 1 change

7h 26m • 1 change

7h 30m • 1 change

8h 36m • 1 change

7h 24m • 1 change

7h 26m • 1 change

7h 30m • 1 change

8h 36m • 1 change

7h 24m • 1 change

7h 26m • 1 change

7h 30m • 1 change

8h 36m • 1 change

7h 24m • 1 change

7h 26m • 1 change

7h 30m • 1 change

8h 41m • 1 change

7h 24m • 1 change

7h 27m • 1 change

7h 27m • 1 change
Want to know about travelling from Swansea to Edinburgh? We have put together a list of the most frequently asked questions from our users such as: What is the cheapest mode of transport? What is the quickest option? How much do tickets usually cost? and many more.
No, there is no direct train from Swansea to Edinburgh. However, there are services departing from Swansea station and arriving at Edinburgh station via Crewe. The journey, including transfers, takes approximately 8h 25m.
Swansea to Edinburgh train services, operated by Transport for Wales, depart from Swansea station.
Swansea to Edinburgh train services, operated by Transport for Wales, arrive at Edinburgh Waverley station.
Book your Swansea to Edinburgh train tickets online with Transport for Wales, Caledonian Sleeper and Avanti West Coast.
The distance between Swansea and Edinburgh is 484.1 km. The road distance is 683 km.
You can take a train from Swansea to Edinburgh Waverley via Crewe in around 7h 47m.