The average train between Zermatt and Oberstdorf takes 10h 24m and the fastest train takes 8h 9m. The train service runs several times per day from Zermatt to Oberstdorf. 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 Zermatt and Oberstdorf. The earliest departure is at 9:37 AM in the morning, and the last departure from Zermatt is at 10:06 PM which arrives into Oberstdorf at 12:21 PM. All services require a transfer at Visp and take an average of 10h 24m. The schedules shown below are for the next available departures.




9h 44m • 4 changes




8h 44m • 4 changes
Arrives next day




14h 15m • 4 changes




9h 44m • 4 changes




8h 44m • 4 changes
Arrives next day




14h 15m • 4 changes
Want to know about travelling from Zermatt to Oberstdorf? 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 Zermatt to Oberstdorf. However, there are services departing from Zermatt station and arriving at Oberstdorf station via Romanshorn. The journey, including transfers, takes approximately 10h 24m.
Zermatt to Oberstdorf train services, operated by Matterhorn Gotthard Bahn, depart from Visp station.
Zermatt to Oberstdorf train services, operated by Matterhorn Gotthard Bahn, arrive at Immenstadt station.
Book your Zermatt to Oberstdorf train tickets online with Matterhorn Gotthard Bahn, Swiss Federal Railways (SBB CFF FFS) and 2 other operators.
The distance between Zermatt and Oberstdorf is 247.1 km. The road distance is 461 km.
You can take a train from Zermatt to Oberstdorf via Visp, Romanshorn, Lindau, Reutin Bahnhof, and Immenstadt in around 9h 52m.