France to Spain by train and bike
It's fun and easy to travel from France to Spain by train — and even more fun (and flexible) if you take a folding bike with you.
There are four main rail routes between France and Spain, although only one of them currently sees proper through trains.
The high-speed route: Paris to Barcelona
The Basque Country route: Hendaye to Irun
The Catalan-Pyrenees route: Latour de Carol Enveitg to Puigcerdà
The Catalan-coastal route: Cerbère to Portbou
The quickest route: Paris to Barcelona by TGV
At the moment, the Paris - Barcelona high-speed route is served by a measly two TGV trains daily, run by the French railway operator SNCF.
Trains leave from the Gare de Lyon station in Paris as follows:
Morning train (journey time 6h 52min)
Paris Gare de Lyon depart: 09:42
Barcelona Sants arrive: 16:34
Afternoon train (journey time 6h 29min)
Paris Gare de Lyon depart: 14:56
Barcelona Sants arrive: 21:25
In the other direction, from Spain to France, trains leave as follows:
Morning train (journey time 6h 45min)
Barcelona Sants depart: 10:33
Paris Gare de Lyon arrive: 17:18
Afternoon train (journey time 6h 46min)
Barcelona Sants depart: 14:32
Paris Gare de Lyon arrive: 21:18
These TGV trains are reservation-only. Ticket prices vary depending on how early you book.
Interrail passes are accepted, but you'll still need to make (and pay for) a reservation.
The Spanish rail operator RENFE plans to introduce its own high-speed AVE trains on the Paris - Barcelona route from 2024. If this happens it will introduce some welcome competition on a route where SNCF currently has a monopoly.
The Basque Country Route: From France to Spain via Hendaye and Irun
In the good old days, international sleeper trains ran from Paris through to Madrid via the Basque Country.
But the high-speed rail connection from Paris to Barcelona killed off that route, so that today no trains (except for a local metro service) cross the border at Hendaye / Irun.
However, the good news is that Hendaye and Irun are easily connected by bicycle, local Euskotren light-rail services, or even on foot — the two stations are only 3 km apart, easily done on foot in 40 minutes or so, so long as you're not lugging heavy luggage.
Trains to Hendaye from elsewhere in France
Hendaye is served by regular trains from Bordeaux, Paris and Toulouse.
Trains to Irún from elsewhere in Spain
Irún has two principal passenger stations:
Irún Ficoba, which is served by regional Euskotren (Basque Railways) trains to Donostia/San Sebastián.
Irún main station (Estación de Irún), from where long-distance trains depart to Salamanca and Madrid.
The 33rides route
We caught an early-morning TER (regional) train from Bordeaux St Jean to Hendaye (d. Bordeaux 05:10, a. Hendaye 07:58), cycled swiftly across the border just in time to catch the 08:45 Alvia train from Irun to Madrid (arriving Madrid-Chamartin at 13:56).
By bike from Hendaye station to Irun station
It's an easy 10 - 15 minute bike ride across the border from Hendaye to Irun, allowing you to make connections between trains in France (which terminate at Hendaye) and in Spain (which start and end at Irun).
On the way you'll cross a bridge over the Bidasoa river, which forms the border between France and Spain.
The Catalan-Pyrenees route: France to Spain via Latour de Carol Enveitg and Puigcerdà
Combining two of the most scenic railways in France and Spain, this is one of our favourite rail routes, with an opportunity for a gentle (or not so gentle, depending on how adventurous you're feeling) bike ride to connect the two sections.
(If it's getting late or the weather is lousy, you can also make this a train-only connection, linking Paris to Barcelona with a single change of trains at Latour de Carol Enveitg. (Let's just call it Latour de Carol from here on, Latour de Carol Enveitg is a bit of a mouthful for a a station serving a tiny Pyrenean village, no matter its importance in the history of European railways.)
In fact we love this route so much that we've written a dedicated page with all the details.
But here's a quick summary.
From Toulouse to Latour de Carol
On the French side, 5 trains daily climb from Toulouse-Matabiau station up into the Pyrenees, reaching Latour de Carol around 2h 45mins later. These are local "TER" services, so no seat reservations are required: just buy your ticket at the station and hop on.
Current timings are as follows.
d. Toulouse Matabiau 07:47, a. Latour de Carol 10:28
d. Toulouse Matabiau 10:47, a. Latour de Carol 13:29
d. Toulouse Matabiau 13:47, a. Latour de Carol 16:35
d. Toulouse Matabiau 15:47, a. Latour de Carol 18:36
d. Toulouse Matabiau 17:47, a. Latour de Carol 20:32
From Latour de Carol to Barcelona
On the Spanish side, 5 local "Rodalies de Catalunya" trains make the journey down from Latour de Carol to Barcelona Sants (the main railway station in Barcelona).
Current timings are as follows:
d. Latour de Carol 08:25, a. Barcelona Sants 11:45
d. Latour de Carol 10:25, a. Barcelona Sants 13:45
d. Latour de Carol 13:25, a. Barcelona Sants 16:45
d. Latour de Carol 16:25, a. Barcelona Sants 19:45
d. Latour de Carol 18:25, a. Barcelona Sants 22:45
(Note: these local trains don't show up on the main European or even Spanish Renfre timetables. They're hidden away on the Rodalies de Catalunya website. And to find "Latour de Carol", you'll need to search for the Catalan version of its name, "La Tor de Querol-Enveig".)
You'll notice that these two sets of timings couldn't be worse coordinated. It's almost as if the two railway companies in question (SNCF on the French side and RENFE on the Spanish side) don't like each other.
The early-morning train from Toulouse arrives at Latour de Carol at 10:28, just missing the 10:25 departure for Barcelona. So you have to wait three hours.
The mid-morning train from Toulouse arrives at Latour de Carol at 13:29, just missing the 13:25 departure for Barcelona. So you have to wait three hours.
The early-afternoon train from Toulouse arrives at Latour de Carol at 16:35, just missing the 16:25 departure for Barcelona. So you have to wait two hours.
The late-afternoon train from Toulouse arrives at Latour de Carol at 18:36, just missing the final departure of the day for Barcelona at 18:25. So you have to stay overnight.
Whichever way you look at it, you will have at least a couple of hours to kill between arriving in Latour de Carol, and departing for Barcelona.
Fortunately, this is no bad thing, because there's enough to explore in Latour de Carol, and its sister-village on the Spanish side, Puigcerdà, to keep you entertained. See the Latour de Carol page for details.
The sleeper train option: overnight from Paris to Latour de Carol
Twice a week, and more often in high season, a direct sleeper train leaves Paris around 22:00, arriving around 09:00 the next morning. It's a hard-to-beat way to arrive in the heart of the Pyrenees. If you're in a hurry, you can connect with the 10:25 train from Latour de Carol to Barcelona, arriving in the Catalan capital at 13:45, in time for a late lunch.
If you book well in advance, you can get 2nd-class couchettes on this Paris-to-the-Pyrenees train from as little as €29. While prices do rise towards €100 as the travel date approaches, even that is not bad value for a ticket all the way across France, with a bed for the night thrown in.
The French side: Toulouse to Latour de Carol
The Spanish side: Latour de Carol to Barcelona
The Catalan-Coastal route: France to Spain via Cerbère and Portbou
This is another of our favourite routes, and works well with the overnight Intercité de Nuit sleeper train from Paris.
From Paris to Cerbère
You leave Paris Gare d'Austerlitz around 21:41 (times vary a bit, so check latest timetables), and reach the little Mediterranean port-town of Cerbère around 10:21 the next morning, sleeping along the way in comfortable, air-conditioned 6-berth (2nd class) or 4-berth (1st-class) couchettes.
This sleeper train service runs three times a week out-of-season (generally on Friday, Saturday and Sundays nights); more frequently during the summer peak season.
From Cerbère to Portbou
It's only 1.9 km by rail from Cerbère in France to Portbou in Spanish Catalonia, most of it in the railway tunnel that runs under the Col de Belitres.
Until around 2020, the sleeper train from Paris went all the way through the tunnel and terminated on the Spanish side, at Portbou.
But, alas, that no longer happens; the train terminates at Cerbère, leaving Barcelona- or Catalonia-bound travellers with three options.
Option 1: Walk 2.7 km over the old mule-track to Portbou.
It's a steep-ish climb but it's not far and it's hard to get lost.
Option 2: Cycle 7.7 km over the Col de Belitres to Portbou.
It's the easternmost of the Pyrenean passes, and, at 165 m, one of the easiest!
Option 3: Wait for a connecting train.
Up to 14 trains daily (8 French SNCF trains and 6 Spanish/Catalan Rodalies de Catalunya trains) make the four-minute run from Cerbère to Portbou, the earliest leaving Cerbère at 08:43 and the last at 19:43.
The fare is €1.20, and no advance reservations are needed.
You can take your bike (even non-folding ones!) free of charge.
From Portbou onwards to Girona, Blanes or Barcelona
From Portbou, trains run roughly hourly (though on an irregular schedule — check latest timetables!) direct to Barcelona Sants, with the earliest train leaving Portbou at 07:05, and the last train leaving at 20:24.
Regional ("R") trains take between 2 hours 30 mins and 3 hours to make the journey. The fare is €13.50, no advance booking necessary or possible. Buy your ticket from the machine or the ticket office in Portbou station, and remember to validate it at the little orange machine before boarding the train.
A handful of so-called "Medium-distance" trains ("MD", for media distancia) run the same route daily in slightly quicker time — 2 hours 16 minutes — and for a slightly higher fare (€18.10).
All Barcelona-bound trains call at Figueres and Girona en route.
If you're heading to Blanes or one of the coastal towns between Blanes and Barcelona, you'll normally have to change at Maçanet-Massanes.
The small orange machine on the right is the ticket-validation machine. Make sure you validate your ticket before boarding the train.