International Rail Routes in Europe: Part 2
The international rail routes from and to Britain, Hungary, Italy, Netherlands, Norway, Poland, Portugal, Slovakia, Slovenia, Spain, Sweden and Switzerland
Table of Contents
Share
When planning an international rail journey in Europe what may not be obvious is that only a tiny percentage of European trains cross borders.
There are also significant variations in the levels of service per route, from comparatively frequent high-speed trains, to night trains, to local trains - and some routes only have one train per day.
Hence the summaries you'll find below.
Every place that the trains call at hasn't been included on the route guides, the intention is to feature the locations which tourists are most likely to head to.
↔ = border crossing
There's usually no need to pay particular attention how the trains cross frontiers, many express trains won't even call at the stations in the towns on either side of a border.
Though the scenarios can vary, hence the notes towards the foot of the guide.
The reservation notes are for the international journeys; different terms can apply for taking these trains for domestic trips.
Ticket purchasers will have mandatory reservations included with their purchase, but Eurail and InterRail users will need to take steps to reserve these trains.
On the night train routes the included locations have departure times before 00:30 and arrival times after 05:30.
From and to Great Britain
Express trains with mandatory reservations year round:
- London ↔ Paris; by Eurostar; 14 to 17 x trains per day
- London ↔ Lille - Bruxelles; by Eurostar; up to 6 x trains per day
- London ↔ Lille - Bruxelles ↔ Rotterdam - Amsterdam Centraal; by Eurostar; up to 4 x trains per day
- London ↔ Bruxelles ↔ Rotterdam - Amsterdam Centraal; by Eurostar; 1 x train per day
Express trains with optional reservations:
no services
From and to Hungary
Express trains with optional reservations year round:
- Budapest - Vac ↔ Bratislava ↔ Breclav - Brno - Pardubice - Praha/Prague; by EC train every other hour
- Budapest - Vac ↔ Bratislava ↔ Breclav - Brno - Ostrava - Bohumin; by EC train, 1 x train per day
- Budapest ↔ Kosice; by IC train, every other hour
- Budapest - Szolnok ↔ Oradea - Cluj Napoca - Brasov ; 1 x IC train per day named the 'Hargitha'
- Gyor - Budapest - Szolnok ↔ Oradea - Cluj Napoca; 1 x IC train per day named the ' Transilvania'
- Budapest - Szolnok ↔ Oradea - Bekescsaba - Curtici - Arad - Timisoara - Craiova - Bucuresti/Bucharest; 1 x IC train per day named the 'Traianus'
- Budapest - Szolnok ↔ Oradea - Bekescsaba - Curtici - Arad - Brasov; 1 x IC train per day
- Budapest - Szolnok ↔ Oradea - Bekescsaba - Curtici - Arad - Timisoara; 1 x IC train per day
- Budapest - Szolnok ↔ Oradea - Bekescsaba - Curtici - Arad; 2 x IC trains per day
- Budapest - Gyor ↔ Wien/Vienna - Linz - Salzburg ↔ Munchen/Munich; by Railjet every other hour;
- Budapest - Gyor ↔ Wien/Vienna - Linz - Salzburg - Innsbruck - Feldkirch ↔ Buchs - Sargans - Zurich; by Railjet, 1 x train per day
- Budapest - Gyor ↔ Wien/Vienna; by IC train, every other hour
Express trains with optional reservations Sept to May; mandatory reservations June to August:
- Budapest - Vac ↔ Bratislava ↔ Breclav - Brno - Pardubice - Praha/Prague ↔ Decin - Bad Schandau - Dresden - Berlin - Hamburg ; by Comfort Jet train, 1 x train per day. Reservations only mandatory for travel to/from Germany in June to August
Express trains with mandatory reservations year round:
- Budapest - Vac ↔ Bratislava ↔ Breclav - Brno - Ostrava - Bohumin train divides to/from ↔ Katowice - Warszawa and to/from ↔ Krakow - Rzeszow - Przemysl; by EC train, 1 x train per day. Reservations only mandatory for travel to/from Poland
- Budapest - Szolnok - Zahony ↔ Chop - Mukachevo; 1 x IC train per day
- Budapest - Siofok - Fonyod ↔ Zagreb; 1 x EC train per day
- Budapest ↔ Ljubljana; 1 x EC train per day
- Budapest - Gyor - Szombathely ↔ Graz ↔ Maribor - Ljubljana; 1 x EC train per day
- Budapest - Gyor ↔ Wien/Vienna ↔ Breclav - Brno - Pardubice - Praha/Prague; 3 x Regiojet trains per day
Night trains:
- Budapest - Vac ↔ Pardubice - Praha/Prague; 1 x Euronight train per night
- Budapest - Vac ↔ Warszawa; 1 x Euronight train per night
- Budapest - Vac ↔ Krakow - Przemyśl; 1 x Euronight train per nigh
- Buduapest ↔ Lviv - Kyiv; 1 x train per night
- Gyor - Budapest ↔ Brasov - Bucuresti/Bucharest; 1 x Euronight train per night, named the 'Dacia'
- Budapest - Szolnok ↔ Craiova - Bucuresti/Bucharest; 1 x Euronight train per night, named the 'Muntenia'
- Budapest - Szolnok ↔ Brasov - Bucuresti/Bucharest; 1 x Euronight train per night, named the 'Ister'
- Budapest ↔ Munchen-Ost - Augbsurg - Stuttgart; 1 x Euronight train per night,
- Budapest - Gyor ↔ Feldkirch ↔ Buchs - Sargans - Zurich; 1 x Euronight train per night
Local/Regional trains with connections:
- Sopron ↔ Wien/Vienna ↔ Bratislava; Hourly
- Sopron ↔ Wiener Neustadt; Hourly
- Szentgotthard ↔ Graz; 1 x train in most hours
From and to Italy
Express trains with mandatory reservations year round:
- Paris - Chambery - Modane ↔ Torino/Turin - Milano Porta Garibaldi; by TGV France-Italy; 3 x trains per day
- Paris - Lyon - Chambery - Modane ↔ Torino/Turin - Milano Centrale; by Frecce, 2 x trains per day
- Geneve - Lausanne - Montreux - Sion - Brig ↔ Domodossola - (Stresa) - Milano Centrale; by EC Astoro; 3 x trains per day
- Geneve - Lausanne - Montreux - Sion - Brig ↔ Domodossola - Milano Centrale - Brescia - Peschiera del Garda - Verona - Vicenza - Padova/Padua - Venezia/Venice; by EC Astoro, 1 x train per day
- Basel - Olten - Bern - Thun - Spiez - Visp - Brig ↔ Domodossola - (Stresa) - Milano Centrale; by EC Astoro; 3 or 4 x trains per day
- Zurich - Zug - Arth-Goldau - Bellinzona - Lugano - Chiasso ↔ Como - Milano Centrale; by EC Giruno; 9 x trains per day
- Zurich - Zug - Arth-Goldau - Bellinzona - Lugano - Chiasso ↔ Como - Milano Centrale - Brescia - Peschiera del Garda - Verona - Vicenza - Padova/Padua - Venezia/Venice; by EC Giruno; 1 x train per day
- Zurich - Zug - Arth-Goldau - Bellinzona - Lugano - Chiasso ↔ Como - Milano Lambrate - Milano Rogoredo - Piacenza - Parma - Modena - Bologna - Firenze; by EC Giruno; 1 x train per day
- Zurich - Zug - Arth-Goldau - Bellinzona - Lugano - Chiasso ↔ Como - Milano Lambrate - Milano Rogoredo - Genova - La Spezia - Pisa; by EC Giruno; 1 x train per day from mid April to mid October
- Frankfurt (Main) - Mannheim - Karlsruhe - Freiburg (am Breisgau) ↔ Basel - Zurich - Zug - Arth-Goldau - Bellinzona - Lugano - Chiasso ↔ Como - Milano Centrale; by EC Giruno; 1 x train per day
- Chur ↔ Tirano; by Bernina Express if you ride in the observations cars; 1 or 2 x trains per day
- Munchen/Munich ↔ Kufstein - Innsbruck ↔ Brennero - Bolzano - Trento - Verona - Bologna; by Railjet New Generation; 2 or 3 x trains per day. - 1 x train per day continues to/from Rimini - Ancona from mid April to early October - 1 x train per day terminates in Verona from mid April to early October
- Munchen/Munich ↔ Kufstein - Innsbruck ↔ Brennero - Bolzano - Trento - Verona - Vicenza - Padova/Padua - Venezia/Venice; by Railjet New Generation or EC train; 2 x trains per day
- Wien/Vienna - Graz - Klagenfurt - Villach ↔ Udine - Venezia/Venice; 2 x Railjet trains per day from Dec 14th 2025
- Wien/Vienna - Graz - Klagenfurt - Villach ↔ Udine - Trieste; 1 x Railjet train per day
Express trains with optional reservations:
Chur / St Moritz ↔ Tirano; by Bernina Express if you don't ride in the observations cars; 1 or 2 x trains per day
Night trains:
- Munchen Hbf/Munich ↔ Bologna - Firenze/Florence - Roma/Rome; 1 x Nightjet New Generation train per night
- Stuttgart - Ulm - Augsburg - Munchen Ost ↔ Udine - Venezia/Venice; 1 x Euronight train per night
- Wien/Vienna - Klagenfurt ↔ Bologna - Firenze/Florence - Roma/Rome; 1 x Nightjet New Generation train per night
- Wien/Vienna - Linz ↔ Udine - Venezia/Venice; 1 x Nightjet train per night
Local/Regional trains with connections
- (Grasse) - Cannes - Antibes - Nice - Monaco-MonteCarlo - Menton ↔ Ventimiglia; 1 or 2 x trains per hour
- Bern - Thun - Spiez - Kandersteg - Visp - Brig ↔ Domodossola; 7 or 8 x trains per day
- Locarno ↔ Domodossola by Centovali Express; 9 or 10 x trains per day
- Locarno - Lugano - Chiasso ↔ Como - Milano Centrale; hourly
- Biasca - Bellinzona - Lugano - Chiasso ↔ Como; hourly
- Bellinzona - Lugano ↔ Gallarate - Malpensa Airport; hourly
- Cadenazzo ↔ Luino - Galalrate; 6 to 8 x trains per day
- St Moritz ↔ Tirano; 1 x train in most hours
- Innsbruck ↔ Brennero; 2 x trains per hour
- Lienz ↔ San Candido - Fortezza - Bressanone; hourly
- Villa Opicina ↔ Ljubljana; 2 x trains per day, which have connections from/to Trieste.
From and to The Netherlands
Express trains on which reservations are not available:
- Bruxelles-Midi - Antwerpen ↔ Rotterdam - Amsterdam Zuid; by ECD train hourly
- Bruxelles-Midi - Bruxelles-Central - Bruxelles-Nord - Bruxelles Airport - Mechelen - Antwerpen ↔ Breda - Rotterdam; by EC train hourly
Express trains with optional reservations Sept to May; mandatory reservations June to August:
- Berlin - Hannover - Osnabruck - Rheine ↔ Hengelo - Deventer - Amersfoort - Amsterdam; by ICE train every other hour
- Frankfurt (Main) - Frankfurt Airport - Koln/Cologne - Dusseldorf ↔ Arnhem - Utrecht - Amsterdam; by ICE train every other hour
- Munchen/Munich - Augsburg - Ulm - Stuttgart - Mannheim - Frankfurt Airport - Koln/Cologne - Dusseldorf ↔ Arnhem - Utrecht - Amsterdam; 1 x ICE train per day
Express trains with mandatory reservations year round:
- London ↔ (Lille) - Bruxelles ↔ Rotterdam - Amsterdam Centraal; 4 or 5 x Eurostar trains per day
- Paris ↔ Bruxelles - Antwerpen ↔ Rotterdam - Schiphol - Amsterdam Centraal; up to 13 x Eurostar trains per day
Night trains:
- Wien/Vienna - Linz ↔ Deventer - Amersfoort - Amsterdam; 1 x Nightjet New Generation train per night
- Innsbruck - Kufstein ↔ Deventer - Amersfoort - Amsterdam; 1 x Nightjet New Generation train per night
- Zurich - Basel - Freiburg (am Breisgau) ↔ Utrecht - Amsterdam; 1 x Nightjet New Generation train per night
- Rotterdam - Den Haag HS/ The Hague - Amsterdam - Amersfoort - Deventer ↔ Berlin - Dresden - Bad Schandau ↔ Decin - Praha/Prague; by 3 x European Sleeper trains per week
Local/Regional trains with connections
- Leer ↔ Groningen; buses replace trains; rail tickets and passes are valid
- Bielefeld - Osnabruck - Rheine ↔ Hengelo; hourly
- Dusseldorf - Duisburg - Emmerich ↔ Arnhem; hourly
- Hamm - Wuppertal - Dusseldorf - Monchengladbach ↔ Venlo; hourly
- Liege ↔ Maastricht; hourly
- Antwerpen ↔ Roosendaal; hourly
From and to Norway
Express trains with mandatory reservations:
- Stockholm - Hallsberg - Karlstad - Charlottenburg ↔ Kongsvinger - Oslo; 4 or 5 Snabtaag / IC trains per day
Express trains with optional reservations:
- Goteborg / Gothenburg ↔ Halden - Moss - Oslo; 6 to 8 x Regiontog trains per day
Night trains:
- Stockholm - Uppsala - Galve - Sundsvall ↔ Narvik; by Vy Nattag train; nightly
Local/Regional trains with connections
- Trondheim ↔ Storlien; 2 x trains per day
From and to Poland
Express trains with mandatory reservations year round:
- Berlin - Frankfurt (Oder) ↔ Pozan - Warszawa; 6 or 7 x EC trains per day
- Berlin ↔ Wroclaw - Katowice - Krakow (two trains continue to/from Rzeszow - Przemysl); 3 x EC trains per day
- Berlin - Frankfurt (Oder) ↔ Gdasnsk - Sopron - Gydnia; 1 x EC train per day
- Praha/Prague - Pardubice - Olomuc - Ostrava - Bohumin ↔ Katowice - Warszawa; 3 x EC trains per day
- Praha/Prague - Pardubice - Ololmuc- Ostrava - Bohumin ↔ Krakow; 2 x EC trains per day
- Praha/Prague - Pardubice - Olomuc - Ostrava - Bohumin ↔ Krakow; by LEO Express; 2 x trains per day on Friday and Sunday; 1 x train per day on Weds / Thurs / Sat
- Praha/Prague - Pardubice ↔ Wroclaw - Poznan - Bydgoszcz - Gdansk - Gydnia; 4 x Baltic Express (EC) trains per day
- Wien/Vienna ↔ Breclav - Brno - Ostrava - Bohumin ↔ Katowice -Warszawa; 2 x EC trains per day
- Wien/Vienna ↔ Breclav - Brno - Ostrava - Bohumin ↔ Katowice; 1 x EC train per day
- Graz - Wien/Vienna ↔ Breclav - Brno - Ostrava - Bohumin ↔ Krakow; 1 x EC train per day
- Wien/Vienna ↔ Breclav - Brno - Ostrava - Bohumin ↔ Krakow / Wroclaw; 1 x EC train per day
- Budapest - Vac ↔ Bratislava ↔ Breclav - Brno - Ostrava - Bohumin train divides to/from ↔ Katowice - Warszawa and to/from ↔ Krakow - Rzeszow - Przemysl; by EC train, 1 x train per day
- Kyiv - Lviv ↔ Przemysl; 2 x trains per day
- Kyiv - Rivine - Kovel ↔ Chelm; 1 x train per day
Express trains with optional reservations:
No services
Night trains:
- Praha/Prague - Pardubice ↔ Krakow - Warszawa; 1 x Euronight train per night
- Munchen/Munich ↔ Salzburg - Linz - Wien/Vienna ↔ Warszawa; 1 x Euronight train per night named 'The Chopin'
- Munchen/Munich ↔ Salzburg - Linz - Wien/Vienna ↔- Krakow - Przemysl; 1 x Euronight train per night named 'the Carpatiato' NEW
- Budapest - Vac ↔ Krakow - Warszawa; 1 x Euronight train per night
- Kyiv - Lviv ↔ Przemysl; 1 x IC train per night
- Kyiv ↔ Chelm - Warszaw; 1 x train per night
Local/Regional trains with connections
- Dresden ↔ Zgorzelec (connect for Wroclaw); 6 x trains per day
- Usti nad Orlici - Lichkov ↔ Klodskow - Wroclaw; 5 x connections per day
- Mockava (connection from Warszawa) ↔ Kaunas - Vilnius, 1 x train per day
From and to Portugal
Local/Regional trains with connections
- Porto - Nine - Viana de Castello - Valenca ↔ Vigo; 2 x Celta trains per day; Reservations mandatory
- Entroncamento - Elvas ↔ Badajoz; 2 x trains per day
From and to Slovakia
Express trains with optional reservations:
- Bratislava ↔ Breclav - Brno - Pardubice - Praha/Prague; by EC train every other hour
- Bratislava ↔ Breclav - Brno - Pardubice - Praha/Prague - Decin ↔ Bad Schandau - Dresden - Berlin - Hamburg; 1 x EC train per day Reservations are mandatory on journeys to/from Germany in June to August
- Bratislava ↔ Breclav - Brno - Ostrava - Bohumin; 1 x train per day
- Puchkov ↔ Olomuc - Pardubice - Praha/Prague; 5 x EC trains per day
- Zilina ↔ Bohumin - Ostrava - Olomuc - Pardubice - Praha/Prague; 3 x EC trains per day
- Bratislava ↔ Wien/Vienna - Linz - Salzburg - Kufstein - Innsbruck - Feldkirch ↔ Buchs - Sargans - Zurich; 1 x Railjet per day
- Bratislava ↔ Vac - Budapest; by EC train every other hour
- Kosice ↔ Budapest; by IC train, every other hour
Express trains with mandatory reservations:
- Bratislava ↔ Breclav - Brno - Ostrava - Bohumin train divides to/from ↔ Katowice - Warszawa and to/from ↔ Krakow - Rzeszow - Przemysl; by EC train, 1 x train per day. Reservations only mandatory for journeys from/to Poland
- Bratislava ↔ Breclav - Brno - Pardubice - Praha/Prague; 4x Regiojet trains per day
- Kosice - Zilina ↔ Bohumin - Ostrava - Olomuc - Pardubice - Praha/Prague; 2 x Regiojet trains per day; 1 x Supercity train per day; 1 x LeoExpress train per day
Night trains:
- Berlin - Dresden ↔ Bratislava; by Nightjet, 1 x train per night
- Warszawa - Krakow ↔ Bratislava; by Euronight, 1 x train per night
Local/Regional trains with connections
- Bratislava hl.st ↔ Wien/Vienna; hourly
- Bratislava Petrzalka ↔ Wien/Vienna ↔ Sopron; hourly
From and to Slovenia
Express trains with mandatory reservations:
- Budapest - Szombathely ↔ Graz ↔ Maribor - Ljubljana; 1 x EC train per day
- Budapest ↔ Ljubljana; 1 x EC train per day
- Villach ↔ Jesenice - Lesce-Bled - Ljubljana; 3 x EC trains per day
- Munich - Salzburg - Bad Gastein - Villach ↔ Lesce Bled - Ljubljana - Zagreb; 1 x EC train per day
- Wien/Vienna - Graz ↔ Maribor - Zidani Most - Ljubljana; 1 x EC train per day#
- Ljubljana - Zidnani Most - Dobova ↔ Zagreb; 3 x EC trains per day
Night trains:
- Stuttgart - Ulm - Augsburg - Munchen Ost ↔ Lesce-Bled - Ljubljana; 1 x Euronight train per night
- Zurich - Sargans - Buchs ↔ Feldkirch ↔ Lesce-Bled - Ljubljana; 1 x Euronight train per night
Local/Regional trains with connections
- Graz ↔ Maribor; everyh other hour
- (Klagenfurt) - Bleiburg ↔ Maribor; 2 x trains per day on Mon-Fri only
- Villach ↔ Jesenice - Lesce-Bled - Ljubljana; every other hour
From and to Spain
Express trains with mandatory reservations:
- Paris - Nimes - Montpellier - Narbonne - Perpignan ↔ Figueres - Girona - Barcelona; by TGV InOui; 2 x trains per day
- Lyon - Nimes - Montpellier - Narbonne - Perpignan ↔ Figueres - Girona - Barcelona; by AVE; 1 x train per day
- Marseille - Avignon - Nimes- Montpellier - Narbonne - Perpignan ↔ Figueres - Girona - Barcelona - Zaragoza - Madrid; by AVE; 1 x train per day
Express trains with optional reservations
No services
Night trains:
No services
Local/Regional trains with connections
- Hendaye ↔ San Sebastian; 2 x trains per hour; rail passes not valid
- La tour De Carol ↔ Puigcerda - Barcelona; 3 or 4 x trains per day
- (Avignon - Nimes - Montpellier) - Narbonne - Perpignan ↔ Port Bou; 1 x train in most hours hours
- Entroncamento - Elvas ↔ Badajoz; 2 x trains per day
- Porto - Nine - Viana de Castello - Valenca ↔ Vigo; 2 x Celta trains per day Reservations mandatory
From and to Sweden
Express trains with mandatory reservations:
- Stockholm - Hallsberg - Karlstad - Charlottenburg ↔ Kongsvinger - Oslo; 4 or 5 Snabtaag / IC trains per day
- København/Copenhagen ↔ Malmo - Lund - Linköping - Norrköping - Stockholm; 1 x Snalltaget train per day
Express trains with optional reservations:
- Goteborg / Gothenburg ↔ Halden - Moss - Oslo; 6 to 8 x Regiontog trains per day
Night trains:
- Stockholm - Uppsala - Galve - Sundsvall ↔ Narvik; by Vy Nattag train; nightly
- Stockholm - Malmo ↔ Hamburg - Berlin; by Berlin Night Express, 6 x nights per week, but not on most dates between mid October and mid-April
- Stockholm - Malmo ↔ Hamburg - Berlin; by SJ Night train, 4 x nights per week
- Malmo ↔ Mannheim - Karlsruhe - Freiburg (Breisgau) - Basel; by Euronight train; 3 x nights per week from April 15th 2026
Local/Regional trains with connections
- Trondheim ↔ Storlien; 2 x trains per day
- København/Copenhagen - Copenhagen Airport ↔ Malmo - Lund - Helsingborg - Halmstad - Goteborg/Gothenburg; 1 x train per hour
- København/Copenhagen - Copenhagen Airport ↔ Malmo - Lund - Helsingborg; 1 x train per hour
- København/Copenhagen - Copenhagen Airport ↔ Malmo - Hasselholm - Kristianstad - Karlshamn - Karlsrona; 1 x train per hour
- København/Copenhagen - Copenhagen Airport ↔ Malmo - Hasselholm - Vaxjo - Kalmar; 1 x train per hour
From and to Switzerland
Express trains with optional reservations
- Hamburg - Hannover - Kassel - Frankfurt (Main) - Mannheim - Karlsruhe - Freiburg-am-Breisgau ↔ Basel; by ICE train every other hour
- Frankfurt (Main) - Mannheim - Karlsruhe - Freiburg-am-Breisgau ↔ Basel - Zurich - Bellinzona - Lugano; 1 x EC train per day
- Berlin - Kassel - Frankfurt (Main) - Mannheim - Karlsruhe - Freiburg-am-Breisgau ↔ Basel - (most trains continue to/from - Bern - Thun - Interlaken / Brig); by ICE train every other hour
- Hamburg - Bremen - Dortmund - Koln/Cologne - Frankfurt Airport - Mannheim - Karlsruhe - Freiburg-am-Breisgau ↔ Basel - Zurich - Landquart - Chur; by ICE train every other hour
- Stuttgart - Horb - Singen ↔ Schaffhausen - Zurich; by IC train every other hour
- Munchen/Munich - Augsburg - Ulm - Stuttgart - Karlsruhe - Freiburg-am-Breisgau ↔ Basel; 1 x ICE train per day
- Munchen/Munich - Lindau ↔ Bregenz ↔ St Margrethen - St Gallen - Zurich; by ECE train every other hour
- Wien/Vienna - Linz - Salzburg - Kufstein - Innsbruck - Feldkirch ↔ Buchs - Sargans - Zurich; by Railjet, 3 x trains per day
- Budapest ↔ Wien/Vienna - Linz - Salzburg - Kufstein - Innsbruck - Feldkirch ↔ Buchs - Sargans - Zurich; by Railjet, 1 x train per day
- Bratislava ↔ Wien/Vienna - Linz - Salzburg - Kufstein - Innsbruck - Feldkirch ↔ Buchs - Sargans - Zurich; by Railjet, 1 x train per day
- Salzburg - Kufstein - Innsbruck - Feldkirch ↔ Buchs - Sargans - Zurich; by Railjet, 1 x train per day
- Graz - Seltzhal - Radstadt - Zell-am-See - Worgl - Innsbruck - Feldkirch ↔ Bregenz / Buchs - Sargans - Zurich; 1 x EC train per day, the 'Transalpin' service
Express trains with mandatory reservations:
- Zurich - Basel ↔ Mulhouse - Dijon - Paris; by TGV Lyria; 6 x trains per day
- Lausanne - Frasne - Vallorbe ↔ Dijon - Paris; by TGV Lyria; 3 x trains per day
- Lausanne - Geneve ↔ Bellegarde -Lyon - Avignon - Marseille; by TGV Lyria; 1 x train per day, 5 to 7 days per week from mid April to mid October
- (Lausanne) - Geneve ↔ Bellegarde - Bourg-en-Bresse - Paris; by TGV Lyria; 7 to 8 x trains per day
- Geneve - Lausanne - Montreux - Sion - Brig ↔ Domodossola - (Stresa) - Milano Centrale; by EC Astoro; 3 x trains per day
- Geneve - Lausanne - Montreux - Sion - Brig ↔ Domodossola - Milano Centrale - Brescia - Peschiera del Garda - Verona - Vicenza - Padova/Padua - Venezia/Venice; by EC Astoro; 1 x train per day
- Basel - Olten - Bern - Thun - Spiez - Visp - Brig ↔ Domodossola - (Stresa) - Milano Centrale; by EC Astoro; 3 or 4 x trains per day
- Zurich - Zug - Arth-Goldau - Bellinzona - Lugano - Chiasso ↔ Como - Milano Centrale; by EC Giruno; 9 x trains per day
- Basel - Zurich - Zug - Arth-Goldau - Bellinzona - Lugano - Chiasso ↔ Como - Milano Centrale; by EC Giruno; 1 x train per day
- Zurich - Zug - Arth-Goldau - Bellinzona - Lugano - Chiasso ↔ Como - Milano Centrale - Brescia - Peschiera del Garda - Verona - Vicenza - Padova/Padua - Venezia/Venice; by EC Giruno; 1 x train per day
- Zurich - Zug - Arth-Goldau - Bellinzona - Lugano - Chiasso ↔ Como - Milano Lambrate - Milano Rogoredo - Genova - La Spezia = Pisa; by EC Giruno; 1 x train per day, April to October
- Zurich - Zug - Arth-Goldau - Bellinzona - Lugano - Chiasso ↔ Como - Milano Lambrate - Milano Rogoredo - Piacenza - Parma - Modena - Bologna - Parma - Modena - Firenze / Florence by EC Giruno; 1 x train per day; NEW
- Chur ↔ Tirano; by Bernina Express if you ride in the observations cars; 1 or 2 x trains per day
Express trains with optional reservations:
- Chur ↔ Tirano; by Bernina Express if you don't ride in the observations cars; 1 or 2 x trains per day
Night trains:
- Zurich - Basel ↔ Hannover - Hamburg; 1 x Nightjet train per night
- Zurich - Basel ↔ Halle - Berlin; 1 x Nightjet train per night
- Zurich - Basel ↔ Koln/Cologne - Dusseldorf - Arnhem - Utrecht - Amsterdam; 1 x Nightjet New Generation train per night
- Basel ↔ Padborg - Kolding - Odense - Hoeje Taastrup for central Copenhagen - Copenhagen Airport ↔ Malmo; by Euronight train; 3 x nights per week from April 15th 2026
- Zurich - Basel ↔ Dresden - Bad Schandau ↔ Decin - Praha/Prague ; 1 x Euronight train per night
- Zurich - Sargans - Buchs ↔ Linz - Wien/Vienna; 1 x Nightjet train per night
- Zurich - Sargans - Buchs ↔ Linz - Wien/Vienna ↔ Gyor - Budapest; 1 x Euronight train per night
- Zurich - Sargans - Buchs ↔ Lesce-Bled - Ljubljana ↔ Zagreb; 1 x Euronight train per night
Local/Regional trains with connections
- Strasbourg - Colmar - Mulhouse ↔ Basel; 0 to 2 x trains per hour
- Lyon - Bellgarde ↔ Geneve; up to 10 x trains per day
- Bellgarde ↔ Geneve; up to 8 x trains per day
- Valence - Grenoble - Chambery - Aix-les-Bains - Bellegarde ↔ Geneve; 3 x trains per day
- Grenoble - Chambery - Aix-les-Bains - Bellegarde ↔ Geneve; 2 x trains per day
- Annecy - Annemasse ↔ Geneve; 1 x train in most hours
- Annemasse ↔ Geneve - Lausanne - Montreux and beyond; 2 x trains per hour
- Chamonix - Vallorbe ↔ Martigny; 1 x Mont Blanc Express train per hour
- Bern - Thun - Spiez - Kandersteg - Visp - Brig ↔ Domodossola; 7 or 8 x trains per day
- Locarno ↔ Domodossola by Centovali Express; 9 or 10 x trains per day
- Locarno - Lugano - Chiasso ↔ Como - Milano Centrale; hourly
- Biasca - Bellinzona - Lugano - Chiasso ↔ Como; hourly
- Bellinzona - Lugano ↔ Gallarate - Malpensa Airport; hourly
- Cadenazzo ↔ Luino - Galalrate; 6 to 8 x trains per day
- St Moritz ↔ Tirano; 1 x train in most hours
- Feldkirch ↔ Buchs; 11 x trains per day on Mon-Fri only
- Bregenz ↔ St Margrethen; 1 x train in most hours
- Friedrichshafen - Singen ↔ Schaffhausen ↔ Waldshutt ↔ Basel bad bf; 1 x direct train every other
- Singen ↔ Schaffhausen ↔ Zurich; hourly
- Offenburg - Freiburg (am Breisgau) ↔ Basel bad bf; hourly; 7 x trains per day operate Karlsruhe - Baden-Baden - Offenburg - Freiburg (am Breisgau) ↔ Basel bad bf
Changes to the usual schedules
The above summaries are taken from the intended timetable, which is in place annually between the second Sundays in December - as that is the time when the European Rail Timetable has its annual revision.
However, due to the comparative long length of their journeys, international services are particularly susceptible to having their published schedules altered due to maintenance and construction work on the rail routes.
Some of these works can be long lasting with the usual service diverted or cancelled completely for months at a time.
These major alterations can be looked up here - the guide also has links to the more detailed service rail alterations published by each train operator.
Information for the trains
| EC trains (general guide) | Astoro (EC) |
| Giruno (EC) | Eurostar (UK) |
| ICE trains | Night trains |
| Nightjet | Railjet |
Hub cities with multiple international rail routes
Some stations have particularly high numbers of direct trains to international destinations and they are:
*= only by night train
Amsterdam to/from: Basel*, Berlin, Bruxelles, Frankfurt (Main), Hannover, Innsbruck*, Linz*, London, Munchen, Paris, Wien*, Zurich*
Basel to/from: Amsterdam*, Berlin, Copenhagen*(from April 15th 2026) Dijon, Dresden*, Frankfurt (Main), Hamburg, Hannover, Koln, Malmo (from April 15th 2026) Milano, Munchen, Paris, Praha*, Stresa, Strasbourg
Berlin to/from: Basel, Bern, Budapest, Bratislava, Gdasnk, Graz, Innsbruck, Interlaken, Krakow, Linz, Paris, Praha, Stockholm*, Warszawa, Wien, Wroclaw, Zurich
Bruxelles to/from: Amsterdam, Avignon, Berlin*, Frankfurt (Main), Lille, Linz*, London, Luxembourg, Lyon, Koln, Marseille, Montpellier, Nimes, Paris, Praha* Rotterdam, Strasbourg, Wien*
Budapest to/from: Bratislava, Berlin, Bucharest, ClujNapoca, Dresden, Graz, Hamburg, Innsbruck, Kiev, Linz, Ljubljana, Munchen, Praha, Salzburg, Warszawa, Wien, Zagreb, Zurich
Frankfurt (Main) to/from: Amsterdam, Basel, Bern, Brig, Bruxelles, Graz, Interlaken, Klagenfurt, Linz, Lyon, Milano, Paris, Salzburg, Strasbourg, Wien, Zurich
Hamburg to/from; Basel, Budapest, Bratislava, Chur, Innsbruck*, Kobenhavn, Linz, Praha, Stockholm*, Wien, Zurich
Koln / Cologne to/from: Amsterdam, Basel, Bern, Bruxelles, Chur, Graz, Innsbruck, Interlaken, Klagenfurt, Linz, Paris, Salzburg, Wien, Zurich
Milano to/from: Basel, Bern, Geneve, Frankfurt (Main), Lausanne, Lyon, Lugano, Luzern, Munchen*, Paris, Wien*, Zurich
Munchen / Munich to/from: Amsterdam*, Bologna, Budapest, Firenze*, Graz, Innsbruck, Klagenfurt, Krakow* Ljubljana, Linz, Paris, Praha, Roma*, Salzburg, Verona, Venezia, Warszawa, Wien, Zagreb, Zurich
Paris to/from: Amsterdam, Barcelona, Basel, Berlin, Bruxelles, Frankfurt (Main), Koln, Lausanne, Liege,, London, Luxembourg, Milano, Munchen, Rotterdam, Stuttgart, Torino, Zurich
Praha / Prague to/from: Berlin, Bratislava, Budapest, Copenhagen (from May 12st 2026) Dresden, Gdansk, Graz, Hamburg, Klagenfurt, Kosice, Krakow, Linz, Munchen, Poznan, Wroclaw, Wien, Warszawa
Stuttgart to/from: Budapest*, Graz, Innsbruck, Klagenfurt, Ljubljana*, Linz, Paris, Salzburg, Strasbourg, Venezia*, Wien, Zagreb*, Zurich
Venezia / Venice to/from: Geneve, Innsbruck, Lausanne, Lugano, Munchen, Stuttgart, Wien, Zurich
Warszawa to/from: Berlin, Budapest, Bratislava, Kiev, Munchen*, Praha, Salzburg*, Wien
Wien/Vienna to/from: Amsterdam*, Bratislava, Berlin, Bucharest*, Budapest, Bruxelles*, Cluj Napoca, Dresden, Firenze*, Frankfurt (Main), Hamburg, Hannover, Koln, Krakow, Ljubljana, Munchen, Nurnberg, Praha, Roma*, Trieste, Venezia, Warszawa, Zagreb, Zurich
Zurich to/from: Amsterdam*, Berlin, Bratislava, Bologna, Budapest, Dijon, Dresden*, Frankfurt (Main), Firenze, Genova (Apr to Oct), Graz, Hannover, Hamburg, Innsbruck, Koln, Linz, Milano, Munchen, Paris, Praha*, Salzburg, Stuttgart, Venezia, Verona, Wien, Zagreb*
When trains cross borders
There can be variations in how trains travel across borders, which seems to have little to do with whether countries have signed up to the Schengen agreement.
Crossing borders on day trains:
When making an international train journey in Europe you will encounter one of these five scenarios.
(1)
The journey will be little different to a domestic journey, no announcements will be made on the train when a border crossing occurs; and you won’t be aware of any immigration or customs staff on the train.
You won’t be asked to show your passport either prior to boarding, or during the journey.
(2) Border staff will carry out checks while the train is in transit.In this scenario you MAY be randomly singled out for additional checks and questioning to do with your travel plans and the amount of currency you have with you etc.
(3) Checks will be carried out at the border station(s)
The train will stop at the last station before a border and/or the first station after a border.
Border control staff will then board and pass through the train, before it leaves the station.
In this scenario, most, or all passengers, will have to show their passports and answer questions about their journey; and some of the border staff may have dogs.
(4) If you leave or join train at a station on either side of a border, you may have to pass through passport and customs controls at the station.
(5) All passengers leave the train to pass through border control.
When it is happening announcements will be made on board, alerting travellers to the fact that you need to leave the train and take all your belongings.
You may need to board a bus, which will convey you across a border, and take you to the first station on the other side.
Crossing borders on night trains:
If you will be travelling in a sleeping cabin on an international night train, the usual scenario is that your hand your tickets and passports to the attendant who manages the sleeping cars, when you board the train.
Meaning that when/if border checks are carried out in the middle of the night, the sleeping car attendant will deal with the border staff on your behalf; leaving you to sleep on in your bed.
If you’re travelling in a couchette, you may retain your passport and tickets, you definitely will if you will be travelling in a seat.
When you retain your ticket and passport, you can be woken in the middle of the night, in order to speak to the border control staff.
And on some borders in eastern Europe all passengers have to leave and then re-board the train in order to pass trough passport control and customs, no matter at what time of night the train arrives at the custom check point.
All images taken by Simon Harper
About the Author
Simon Harper has been writing about international rail journeys for over 10 years.