The average train between Zermatt and Oberstdorf takes 10h 42m and the fastest train takes 9h 3m. 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 1:19 PM. All services require a transfer at Visp and take an average of 10h 42m. The schedules shown below are for the next available departures.




9h 44m • 4 changes



9h 6m • 4 changes



9h 6m • 4 changesArrives next day




9h 8m • 4 changes



9h 47m • 4 changes



9h 55m • 4 changes



9h 6m • 4 changes



9h 6m • 4 changes



9h 47m • 4 changes



9h 55m • 4 changes



9h 6m • 4 changes



9h 6m • 4 changesWant 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 Visp station and arriving at Immenstadt station via Romanshorn station and Lindau-Reutin station. The journey, including transfers, takes approximately 10h 42m.
Zermatt to Oberstdorf train services, operated by Swiss Federal Railways (SBB CFF FFS), depart from Visp station.
Zermatt to Oberstdorf train services, operated by Deutsche Bahn Regio (DB Regional), arrive at Immenstadt station.
Book your Zermatt to Oberstdorf train tickets online with Omio.
The distance between Zermatt and Oberstdorf is 247.1 km.
You can take a train from Zermatt to Oberstdorf via Visp, Romanshorn, Lindau, Reutin Bahnhof, and Immenstadt in around 10h 17m.