Train Route Summaries

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

Simon Harper
International Train Expert
14 min read

Table of Contents

Share

International Rail Routes in Europe: Part 2

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:

  1. London ↔ Paris; by Eurostar; 14 to 17 x trains per day
  2. London ↔ Lille - Bruxelles; by Eurostar; up to 6 x trains per day
  3. London ↔ Lille - Bruxelles ↔ Rotterdam - Amsterdam Centraal; by Eurostar; up to 4 x trains per day
  4. London ↔ Bruxelles ↔ Rotterdam - Amsterdam Centraal; by Eurostar; 1 x train per day

Express trains with optional reservations:

no services

From and to Hungary

Boarding the daily EC train which is heading to Warsaw from Budapest
Boarding the daily EC train which is heading to Warsaw from Budapest

Express trains with optional reservations year round:

  1. Budapest - Vac ↔ Bratislava ↔ Breclav - Brno - Pardubice - Praha/Prague; by EC train every other hour
  2. Budapest - Vac ↔ Bratislava ↔ Breclav - Brno - Ostrava - Bohumin; by EC train, 1 x train per day
  3. Budapest ↔ Kosice; by IC train, every other hour
  4. Budapest - Szolnok ↔ Oradea - Cluj Napoca - Brasov ; 1 x IC train per day named the 'Hargitha'
  5. Gyor - Budapest - Szolnok ↔ Oradea - Cluj Napoca; 1 x IC train per day named the ' Transilvania'
  6. Budapest - Szolnok ↔ Oradea - Bekescsaba - Curtici - Arad - Timisoara - Craiova - Bucuresti/Bucharest; 1 x IC train per day named the 'Traianus'
  7. Budapest - Szolnok ↔ Oradea - Bekescsaba - Curtici - Arad - Brasov; 1 x IC train per day
  8. Budapest - Szolnok ↔ Oradea - Bekescsaba - Curtici - Arad - Timisoara; 1 x IC train per day
  9. Budapest - Szolnok ↔ Oradea - Bekescsaba - Curtici - Arad; 2 x IC trains per day
  10. Budapest - Gyor ↔ Wien/Vienna - Linz - Salzburg ↔ Munchen/Munich; by Railjet every other hour;
  11. Budapest - Gyor ↔ Wien/Vienna - Linz - Salzburg - Innsbruck - Feldkirch ↔ Buchs - Sargans - Zurich; by Railjet, 1 x train per day
  12. Budapest - Gyor ↔ Wien/Vienna; by IC train, every other hour

Express trains with optional reservations Sept to May; mandatory reservations June to August:

  1. 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:

  1. 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
  2. Budapest - Szolnok - Zahony ↔ Chop - Mukachevo; 1 x IC train per day
  3. Budapest - Siofok - Fonyod ↔ Zagreb; 1 x EC train per day
  4. Budapest ↔ Ljubljana; 1 x EC train per day
  5. Budapest - Gyor - Szombathely ↔ Graz ↔ Maribor - Ljubljana; 1 x EC train per day
  6. Budapest - Gyor ↔ Wien/Vienna ↔ Breclav - Brno - Pardubice - Praha/Prague; 3 x Regiojet trains per day

Night trains:

  1. Budapest - Vac ↔ Pardubice - Praha/Prague; 1 x Euronight train per night
  2. Budapest - Vac ↔ Warszawa; 1 x Euronight train per night
  3. Budapest - Vac ↔ Krakow - Przemyśl; 1 x Euronight train per nigh
  4. Buduapest ↔ Lviv - Kyiv; 1 x train per night
  5. Gyor - Budapest ↔ Brasov - Bucuresti/Bucharest; 1 x Euronight train per night, named the 'Dacia'
  6. Budapest - Szolnok ↔ Craiova - Bucuresti/Bucharest; 1 x Euronight train per night, named the 'Muntenia'
  7. Budapest - Szolnok ↔ Brasov - Bucuresti/Bucharest; 1 x Euronight train per night, named the 'Ister'
  8. Budapest ↔ Munchen-Ost - Augbsurg - Stuttgart; 1 x Euronight train per night,
  9. Budapest - Gyor ↔ Feldkirch ↔ Buchs - Sargans - Zurich; 1 x Euronight train per night

Local/Regional trains with connections:

  1. Sopron ↔ Wien/Vienna ↔ Bratislava; Hourly
  2. Sopron ↔ Wiener Neustadt; Hourly
  3. Szentgotthard ↔ Graz; 1 x train in most hours

From and to Italy

An Astoro train on the Geneve to Milan route calls in Brig station
An Astoro train on the Geneve to Milan route calls in Brig station

Express trains with mandatory reservations year round:

  1. Paris - Chambery - Modane ↔ Torino/Turin - Milano Porta Garibaldi; by TGV France-Italy; 3 x trains per day
  2. Paris - Lyon - Chambery - Modane ↔ Torino/Turin - Milano Centrale; by Frecce, 2 x trains per day
  3. Geneve - Lausanne - Montreux - Sion - Brig ↔ Domodossola - (Stresa) - Milano Centrale; by EC Astoro; 3 x trains per day
  4. 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
  5. Basel - Olten - Bern - Thun - Spiez - Visp - Brig ↔ Domodossola - (Stresa) - Milano Centrale; by EC Astoro; 3 or 4 x trains per day
  6. Zurich - Zug - Arth-Goldau - Bellinzona - Lugano - Chiasso ↔ Como - Milano Centrale; by EC Giruno; 9 x trains per day
  7. 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
  8. 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
  9. 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
  10. 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
  11. Chur ↔ Tirano; by Bernina Express if you ride in the observations cars; 1 or 2 x trains per day
  12. 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
  13. 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
  14. Wien/Vienna - Graz - Klagenfurt - Villach ↔ Udine - Venezia/Venice; 2 x Railjet trains per day from Dec 14th 2025
  15. 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:

  1. Munchen Hbf/Munich ↔ Bologna - Firenze/Florence - Roma/Rome; 1 x Nightjet New Generation train per night
  2. Stuttgart - Ulm - Augsburg - Munchen Ost ↔ Udine - Venezia/Venice; 1 x Euronight train per night
  3. Wien/Vienna - Klagenfurt ↔ Bologna - Firenze/Florence - Roma/Rome; 1 x Nightjet New Generation train per night
  4. Wien/Vienna - Linz ↔ Udine - Venezia/Venice; 1 x Nightjet train per night

Local/Regional trains with connections

  1. (Grasse) - Cannes - Antibes - Nice - Monaco-MonteCarlo - Menton ↔ Ventimiglia; 1 or 2 x trains per hour
  2. Bern - Thun - Spiez - Kandersteg - Visp - Brig ↔ Domodossola; 7 or 8 x trains per day
  3. Locarno ↔ Domodossola by Centovali Express; 9 or 10 x trains per day
  4. Locarno - Lugano - Chiasso ↔ Como - Milano Centrale; hourly
  5. Biasca - Bellinzona - Lugano - Chiasso ↔ Como; hourly
  6. Bellinzona - Lugano ↔ Gallarate - Malpensa Airport; hourly
  7. Cadenazzo ↔ Luino - Galalrate; 6 to 8 x trains per day
  8. St Moritz ↔ Tirano; 1 x train in most hours
  9. Innsbruck ↔ Brennero; 2 x trains per hour
  10. Lienz ↔ San Candido - Fortezza - Bressanone; hourly
  11. Villa Opicina ↔ Ljubljana; 2 x trains per day, which have connections from/to Trieste.

From and to The Netherlands

A Eurostar train from Amsterdam has arrived at the Gare Du Nord in Paris
A Eurostar train from Amsterdam has arrived at the Gare Du Nord in Paris

Express trains on which reservations are not available:

  1. Bruxelles-Midi - Antwerpen ↔ Rotterdam - Amsterdam Zuid; by ECD train hourly
  2. 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:

  1. Berlin - Hannover - Osnabruck - Rheine ↔ Hengelo - Deventer - Amersfoort - Amsterdam; by ICE train every other hour
  2. Frankfurt (Main) - Frankfurt Airport - Koln/Cologne - Dusseldorf ↔ Arnhem - Utrecht - Amsterdam; by ICE train every other hour
  3. 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:

  1. London ↔ (Lille) - Bruxelles ↔ Rotterdam - Amsterdam Centraal; 4 or 5 x Eurostar trains per day
  2. Paris ↔ Bruxelles - Antwerpen ↔ Rotterdam - Schiphol - Amsterdam Centraal; up to 13 x Eurostar trains per day

Night trains:

  1. Wien/Vienna - Linz ↔ Deventer - Amersfoort - Amsterdam; 1 x Nightjet New Generation train per night
  2. Innsbruck - Kufstein ↔ Deventer - Amersfoort - Amsterdam; 1 x Nightjet New Generation train per night
  3. Zurich - Basel - Freiburg (am Breisgau) ↔ Utrecht - Amsterdam; 1 x Nightjet New Generation train per night
  4. 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

  1. Leer ↔ Groningen; buses replace trains; rail tickets and passes are valid
  2. Bielefeld - Osnabruck - Rheine ↔ Hengelo; hourly
  3. Dusseldorf - Duisburg - Emmerich ↔ Arnhem; hourly
  4. Hamm - Wuppertal - Dusseldorf - Monchengladbach ↔ Venlo; hourly
  5. Liege ↔ Maastricht; hourly
  6. Antwerpen ↔ Roosendaal; hourly

From and to Norway

A train, which has since received a new external paint scheme, awaits departure to Oslo from Goteborg C station
A train, which has since received a new external paint scheme, awaits departure to Oslo from Goteborg C station

Express trains with mandatory reservations:

  1. Stockholm - Hallsberg - Karlstad - Charlottenburg ↔ Kongsvinger - Oslo; 4 or 5 Snabtaag / IC trains per day

Express trains with optional reservations:

  1. Goteborg / Gothenburg ↔ Halden - Moss - Oslo; 6 to 8 x Regiontog trains per day

Night trains:

  1. Stockholm - Uppsala - Galve - Sundsvall ↔ Narvik; by Vy Nattag train; nightly

Local/Regional trains with connections

  1. Trondheim ↔ Storlien; 2 x trains per day

From and to Poland

Boarding a train heading to Warszawa at Berlin Hbf
Boarding a train heading to Warszawa at Berlin Hbf

Express trains with mandatory reservations year round:

  1. Berlin - Frankfurt (Oder) ↔ Pozan - Warszawa; 6 or 7 x EC trains per day
  2. Berlin ↔ Wroclaw - Katowice - Krakow (two trains continue to/from Rzeszow - Przemysl); 3 x EC trains per day
  3. Berlin - Frankfurt (Oder) ↔ Gdasnsk - Sopron - Gydnia; 1 x EC train per day
  4. Praha/Prague - Pardubice - Olomuc - Ostrava - Bohumin ↔ Katowice - Warszawa; 3 x EC trains per day
  5. Praha/Prague - Pardubice - Ololmuc- Ostrava - Bohumin ↔ Krakow; 2 x EC trains per day
  6. 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
  7. Praha/Prague - Pardubice ↔ Wroclaw - Poznan - Bydgoszcz - Gdansk - Gydnia; 4 x Baltic Express (EC) trains per day
  8. Wien/Vienna ↔ Breclav - Brno - Ostrava - Bohumin ↔ Katowice -Warszawa; 2 x EC trains per day
  9. Wien/Vienna ↔ Breclav - Brno - Ostrava - Bohumin ↔ Katowice; 1 x EC train per day
  10. Graz - Wien/Vienna ↔ Breclav - Brno - Ostrava - Bohumin ↔ Krakow; 1 x EC train per day
  11. Wien/Vienna ↔ Breclav - Brno - Ostrava - Bohumin ↔ Krakow / Wroclaw; 1 x EC train per day
  12. 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
  13. Kyiv - Lviv ↔ Przemysl; 2 x trains per day
  14. Kyiv - Rivine - Kovel ↔ Chelm; 1 x train per day

Express trains with optional reservations:

No services 

Night trains:

  1. Praha/Prague - Pardubice ↔ Krakow - Warszawa; 1 x Euronight train per night
  2. Munchen/Munich ↔ Salzburg - Linz - Wien/Vienna ↔ Warszawa; 1 x Euronight train per night named 'The Chopin'
  3. Munchen/Munich ↔ Salzburg - Linz - Wien/Vienna ↔- Krakow - Przemysl; 1 x Euronight train per night named 'the Carpatiato' NEW
  4. Budapest - Vac ↔ Krakow - Warszawa; 1 x Euronight train per night
  5. Kyiv - Lviv ↔ Przemysl; 1 x IC train per night
  6. Kyiv ↔ Chelm - Warszaw; 1 x train per night

Local/Regional trains with connections

  1. Dresden ↔ Zgorzelec (connect for Wroclaw); 6 x trains per day
  2. Usti nad Orlici - Lichkov ↔ Klodskow - Wroclaw; 5 x connections per day
  3. Mockava (connection from Warszawa) ↔ Kaunas - Vilnius, 1 x train per day

From and to Portugal

Local/Regional trains with connections

  1. Porto - Nine - Viana de Castello - Valenca  ↔ Vigo; 2 x Celta trains per day; Reservations mandatory
  2. Entroncamento - Elvas ↔ Badajoz; 2 x trains per day

From and to Slovakia

Boarding a train heading to Zilina at the main station in Praha / Prague
Boarding a train heading to Zilina at the main station in Praha / Prague

Express trains with optional reservations:

  1. Bratislava ↔ Breclav - Brno - Pardubice - Praha/Prague; by EC train every other hour
  2. 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
  3. Bratislava ↔ Breclav - Brno - Ostrava - Bohumin; 1 x train per day
  4. Puchkov ↔ Olomuc - Pardubice - Praha/Prague; 5 x EC trains per day
  5. Zilina ↔ Bohumin - Ostrava - Olomuc - Pardubice - Praha/Prague; 3 x EC trains per day
  6. Bratislava ↔ Wien/Vienna - Linz - Salzburg - Kufstein - Innsbruck - Feldkirch ↔ Buchs - Sargans - Zurich; 1 x Railjet per day
  7. Bratislava ↔ Vac - Budapest; by EC train every other hour
  8. Kosice ↔ Budapest; by IC train, every other hour

Express trains with mandatory reservations:

  1. 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
  2. Bratislava ↔ Breclav - Brno - Pardubice - Praha/Prague; 4x Regiojet trains per day
  3. 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:

  1. Berlin - Dresden ↔ Bratislava; by Nightjet, 1 x train per night
  2. Warszawa - Krakow ↔ Bratislava; by Euronight, 1 x train per night

Local/Regional trains with connections

  1. Bratislava hl.st ↔ Wien/Vienna; hourly
  2. Bratislava Petrzalka ↔ Wien/Vienna ↔ Sopron; hourly

From and to Slovenia

Express trains with mandatory reservations:

  1. Budapest - Szombathely ↔ Graz ↔ Maribor - Ljubljana; 1 x EC train per day
  2. Budapest ↔ Ljubljana; 1 x EC train per day
  3. Villach ↔ Jesenice - Lesce-Bled - Ljubljana; 3 x EC trains per day
  4. Munich - Salzburg - Bad Gastein - Villach ↔ Lesce Bled - Ljubljana - Zagreb; 1 x EC train per day
  5. Wien/Vienna - Graz ↔ Maribor - Zidani Most - Ljubljana; 1 x EC train per day#
  6. Ljubljana - Zidnani Most - Dobova ↔ Zagreb; 3 x EC trains per day

Night trains:

  1. Stuttgart - Ulm - Augsburg - Munchen Ost ↔ Lesce-Bled - Ljubljana; 1 x Euronight train per night
  2. Zurich - Sargans - Buchs ↔ Feldkirch ↔ Lesce-Bled - Ljubljana; 1 x Euronight train per night

Local/Regional trains with connections

  1. Graz ↔ Maribor; everyh other hour
  2. (Klagenfurt) - Bleiburg ↔ Maribor; 2 x trains per day on Mon-Fri only
  3. Villach ↔ Jesenice - Lesce-Bled - Ljubljana; every other hour

From and to Spain

A contender for Europe's most surprising international rail service, a train to San Sebastian departs from Hendaye
A contender for Europe's most surprising international rail service, a train to San Sebastian departs from Hendaye

Express trains with mandatory reservations:

  1. Paris - Nimes - Montpellier - Narbonne - Perpignan ↔ Figueres - Girona - Barcelona; by TGV InOui; 2 x trains per day
  2. Lyon - Nimes - Montpellier - Narbonne - Perpignan ↔ Figueres - Girona - Barcelona; by AVE; 1 x train per day
  3. 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

  1. Hendaye ↔ San Sebastian; 2 x trains per hour; rail passes not valid
  2. La tour De Carol ↔ Puigcerda - Barcelona; 3 or 4 x trains per day
  3. (Avignon - Nimes - Montpellier) - Narbonne - Perpignan ↔ Port Bou; 1 x train in most hours hours
  4. Entroncamento - Elvas ↔ Badajoz; 2 x trains per day
  5. Porto - Nine - Viana de Castello - Valenca ↔ Vigo; 2 x Celta trains per day Reservations mandatory

From and to Sweden

A train from Stockholm has arrived at Oslo Sentral station
A train from Stockholm has arrived at Oslo Sentral station

Express trains with mandatory reservations:

  1. Stockholm - Hallsberg - Karlstad - Charlottenburg ↔ Kongsvinger - Oslo; 4 or 5 Snabtaag / IC trains per day
  2. København/Copenhagen ↔ Malmo - Lund - Linköping - Norrköping - Stockholm; 1 x Snalltaget train per day

Express trains with optional reservations:

  1. Goteborg / Gothenburg ↔ Halden - Moss - Oslo; 6 to 8 x Regiontog trains per day

Night trains:

  1. Stockholm - Uppsala - Galve - Sundsvall ↔ Narvik; by Vy Nattag train; nightly
  2. Stockholm - Malmo ↔ Hamburg - Berlin; by Berlin Night Express, 6 x nights per week, but not on most dates between mid October and mid-April
  3. Stockholm - Malmo ↔ Hamburg - Berlin; by SJ Night train, 4 x nights per week
  4. Malmo ↔ Mannheim - Karlsruhe - Freiburg (Breisgau) - Basel; by Euronight train; 3 x nights per week from April 15th 2026

Local/Regional trains with connections

  1. Trondheim ↔ Storlien; 2 x trains per day
  2. København/Copenhagen - Copenhagen Airport ↔ Malmo - Lund - Helsingborg - Halmstad - Goteborg/Gothenburg; 1 x train per hour
  3. København/Copenhagen - Copenhagen Airport ↔ Malmo - Lund - Helsingborg; 1 x train per hour
  4. København/Copenhagen - Copenhagen Airport ↔ Malmo - Hasselholm - Kristianstad - Karlshamn - Karlsrona; 1 x train per hour
  5. København/Copenhagen - Copenhagen Airport ↔ Malmo - Hasselholm - Vaxjo - Kalmar; 1 x train per hour

From and to Switzerland

At Zurich HB station, a train heading to Budapest on the left and train heading to Milano on the right
At Zurich HB station, a train heading to Budapest on the left and train heading to Milano on the right

Express trains with optional reservations

  1. Hamburg - Hannover - Kassel - Frankfurt (Main) - Mannheim - Karlsruhe - Freiburg-am-Breisgau ↔ Basel; by ICE train every other hour
  2. Frankfurt (Main) - Mannheim - Karlsruhe - Freiburg-am-Breisgau ↔ Basel - Zurich - Bellinzona - Lugano; 1 x EC train per day
  3. 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
  4. Hamburg - Bremen - Dortmund - Koln/Cologne - Frankfurt Airport - Mannheim - Karlsruhe - Freiburg-am-Breisgau ↔ Basel - Zurich - Landquart - Chur; by ICE train every other hour
  5. Stuttgart - Horb - Singen ↔ Schaffhausen - Zurich; by IC train every other hour
  6. Munchen/Munich - Augsburg - Ulm - Stuttgart - Karlsruhe - Freiburg-am-Breisgau ↔ Basel; 1 x ICE train per day
  7. Munchen/Munich - Lindau ↔ Bregenz ↔ St Margrethen - St Gallen - Zurich; by ECE train every other hour
  8. Wien/Vienna - Linz - Salzburg - Kufstein - Innsbruck - Feldkirch ↔ Buchs - Sargans - Zurich; by Railjet, 3 x trains per day
  9. Budapest ↔ Wien/Vienna - Linz - Salzburg - Kufstein - Innsbruck - Feldkirch ↔ Buchs - Sargans - Zurich; by Railjet, 1 x train per day
  10. Bratislava ↔ Wien/Vienna - Linz - Salzburg - Kufstein - Innsbruck - Feldkirch ↔ Buchs - Sargans - Zurich; by Railjet, 1 x train per day
  11. Salzburg - Kufstein - Innsbruck - Feldkirch ↔ Buchs - Sargans - Zurich; by Railjet, 1 x train per day
  12. 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:

  1. Zurich - Basel ↔ Mulhouse - Dijon - Paris; by TGV Lyria; 6 x trains per day
  2. Lausanne - Frasne - Vallorbe ↔ Dijon - Paris; by TGV Lyria; 3 x trains per day
  3. 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
  4. (Lausanne) - Geneve ↔ Bellegarde - Bourg-en-Bresse - Paris; by TGV Lyria; 7 to 8 x trains per day
  5. Geneve - Lausanne - Montreux - Sion - Brig ↔ Domodossola - (Stresa) - Milano Centrale; by EC Astoro; 3 x trains per day
  6. 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
  7. Basel - Olten - Bern - Thun - Spiez - Visp - Brig ↔ Domodossola - (Stresa) - Milano Centrale; by EC Astoro; 3 or 4 x trains per day
  8. Zurich - Zug - Arth-Goldau - Bellinzona - Lugano - Chiasso ↔ Como - Milano Centrale; by EC Giruno; 9 x trains per day
  9. Basel - Zurich - Zug - Arth-Goldau - Bellinzona - Lugano - Chiasso ↔ Como - Milano Centrale; by EC Giruno; 1 x train per day
  10. 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
  11. 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
  12. 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
  13. Chur ↔ Tirano; by Bernina Express if you ride in the observations cars; 1 or 2 x trains per day

Express trains with optional reservations:

  1. Chur ↔ Tirano; by Bernina Express if you don't ride in the observations cars; 1 or 2 x trains per day

Night trains:

  1. Zurich - Basel ↔ Hannover - Hamburg; 1 x Nightjet train per night
  2. Zurich - Basel ↔ Halle - Berlin; 1 x Nightjet train per night
  3. Zurich - Basel ↔ Koln/Cologne - Dusseldorf - Arnhem - Utrecht - Amsterdam; 1 x Nightjet New Generation train per night
  4. Basel ↔ Padborg - Kolding - Odense - Hoeje Taastrup for central Copenhagen - Copenhagen Airport ↔ Malmo; by Euronight train; 3 x nights per week from April 15th 2026
  5. Zurich - Basel ↔ Dresden - Bad Schandau ↔ Decin - Praha/Prague ; 1 x Euronight train per night
  6. Zurich - Sargans - Buchs ↔ Linz - Wien/Vienna; 1 x Nightjet train per night
  7. Zurich - Sargans - Buchs ↔ Linz - Wien/Vienna ↔ Gyor - Budapest; 1 x Euronight train per night
  8. Zurich - Sargans - Buchs ↔ Lesce-Bled - Ljubljana ↔ Zagreb; 1 x Euronight train per night

Local/Regional trains with connections

  1. Strasbourg - Colmar - Mulhouse ↔ Basel; 0 to 2 x trains per hour
  2. Lyon - Bellgarde ↔ Geneve; up to 10 x trains per day
  3. Bellgarde ↔ Geneve; up to 8 x trains per day
  4. Valence - Grenoble - Chambery - Aix-les-Bains - Bellegarde ↔ Geneve; 3 x trains per day
  5. Grenoble - Chambery - Aix-les-Bains - Bellegarde ↔ Geneve; 2 x trains per day
  6. Annecy - Annemasse ↔ Geneve; 1 x train in most hours
  7. Annemasse ↔ Geneve - Lausanne - Montreux and beyond; 2 x trains per hour
  8. Chamonix - Vallorbe ↔ Martigny; 1 x Mont Blanc Express train per hour
  9. Bern - Thun - Spiez - Kandersteg - Visp - Brig ↔ Domodossola; 7 or 8 x trains per day
  10. Locarno ↔ Domodossola by Centovali Express; 9 or 10 x trains per day
  11. Locarno - Lugano - Chiasso ↔ Como - Milano Centrale; hourly
  12. Biasca - Bellinzona - Lugano - Chiasso ↔ Como; hourly
  13. Bellinzona - Lugano ↔ Gallarate - Malpensa Airport; hourly
  14. Cadenazzo ↔ Luino - Galalrate; 6 to 8 x trains per day
  15. St Moritz ↔ Tirano; 1 x train in most hours
  16. Feldkirch ↔ Buchs; 11 x trains per day on Mon-Fri only
  17. Bregenz ↔ St Margrethen; 1 x train in most hours
  18. Friedrichshafen - Singen ↔ Schaffhausen ↔ Waldshutt ↔ Basel bad bf; 1 x direct train every other
  19. Singen ↔ Schaffhausen ↔ Zurich; hourly
  20. 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

Hub cities with multiple international rail routes

A train heading to Praha / Prague calls at the main station in Hamburg
A train heading to Praha / Prague calls at the main station in Hamburg

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.

Conductor Sam Logo

Your AI-powered assistant for train travel planning, information, and booking across Europe and beyond.

About Us

© 2025 AI Travel Services Ltd registered in England and Wales - Limited Company Number 16299804. All rights reserved.