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




9h 44m • 4 changes




9h 10m • 4 changes
Arrives next day




15h 15m • 4 changes




9h 44m • 4 changes




9h 10m • 4 changes
Arrives next day




15h 15m • 4 changes




9h 44m • 4 changes




9h 10m • 4 changes
Arrives next day




15h 15m • 4 changes




9h 44m • 4 changes




9h 10m • 4 changes
Arrives next day




15h 15m • 4 changes




9h 44m • 4 changes




9h 10m • 4 changes




9h 9m • 4 changes
Arrives next day




9h 8m • 4 changes




9h 50m • 4 changes




9h 55m • 4 changes




9h 10m • 4 changes




9h 9m • 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 47m.
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 32m.