The average train between Harlech and Swansea takes 8h 40m and the fastest train takes 6h 13m. The train service runs several times per day from Harlech to Swansea. 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 Harlech and Swansea. The earliest departure is at 7:17 AM in the morning, and the last departure from Harlech is at 9:20 PM which arrives into Swansea at 2:01 PM. All services require a transfer at Machynlleth and take an average of 8h 40m. The schedules shown below are for the next available departures.
Arrives next day


13h 44m • 2 changes
Arrives next day


14h 20m • 2 changes


6h 21m • 2 changes


7h 17m • 2 changes


7h 9m • 2 changes


7h 8m • 2 changes


6h 21m • 2 changes


7h 17m • 2 changes


7h 9m • 2 changes


7h 7m • 2 changes


6h 22m • 2 changes


7h 18m • 2 changes


7h 5m • 2 changes


7h 10m • 2 changes


7h 21m • 2 changes


6h 28m • 2 changes


6h 26m • 2 changes


6h 16m • 2 changes


6h 21m • 2 changes


7h 17m • 2 changes


7h 11m • 2 changes


7h 10m • 2 changes


6h 21m • 2 changes


7h 17m • 2 changes


7h 11m • 2 changes


7h 10m • 2 changes
Want to know about travelling from Harlech to Swansea? 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 Harlech to Swansea. However, there are services departing from Harlech station and arriving at Swansea station via Machynlleth. The journey, including transfers, takes approximately 8h 40m.
Harlech to Swansea train services, operated by Transport for Wales, depart from Harlech station.
Harlech to Swansea train services, operated by Transport for Wales, arrive at Swansea station.
Book your Harlech to Swansea train tickets online with Transport for Wales.
The distance between Harlech and Swansea is 138.1 km. The road distance is 349 km.
You can take a train from Harlech to Swansea via Machynlleth and Shrewsbury in around 8h 44m.