The average train between Barcelona and Locarno takes 19h 18m and the fastest train takes 15h 12m. The train service runs several times per day from Barcelona to Locarno. 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 twice daily between Barcelona and Locarno. The earliest departure is at 9:26 AM in the morning, and the last departure from Barcelona is at 4:24 PM which arrives into Locarno at 4:38 PM. All services require a transfer at Valence Tgv Rhone-Alpes Sud and take an average of 19h 18m. The schedules shown below are for the next available departures.
Arrives next day



15h 12m • 3 changes
Arrives next day



24h 14m • 3 changes
Arrives next day



15h 12m • 3 changes
Arrives next day



24h 14m • 3 changes
Arrives next day



15h 12m • 3 changes
Arrives next day



24h 14m • 3 changes
Arrives next day



15h 12m • 3 changes
Arrives next day



24h 14m • 3 changes
Want to know about travelling from Barcelona to Locarno? 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 Barcelona to Locarno. However, there are services departing from Barcelona station and arriving at Locarno station via Valence Tgv Rhone-Alpes Sud. The journey, including transfers, takes approximately 19h 18m.
Barcelona to Locarno train services, operated by TGV inOui, depart from Barcelona-Sants station.
Barcelona to Locarno train services, operated by TGV inOui, arrive at Locarno station.
Book your Barcelona to Locarno train tickets online with TGV inOui, Société Nationale des Chemins de fer Français (SNCF) and 2 other operators.
The distance between Barcelona and Locarno is 752 km. The road distance is 1,153 km.
You can take a train from Barcelona-Sants to Locarno via Valence Tgv Rhone-Alpes Sud, Chambery Challes Les Eaux, and Milano Centrale in around 13h 38m.