Explore 2 ways to travel

Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2rio's travel planner.

Recommended option

Train  •  2 h 16 min

  1. Take the train from Martigny to Visp 90 / ...
  2. Take the train from Visp to Zermatt 30-Y

$48 - $94

1 alternative option

Drive  •  1 h 25 min

  1. Drive from Martigny to Zermatt 63 miles

$13 - $19

What companies run services between Martigny, Canton du Valais, Switzerland and Zermatt, Switzerland?

You can take a train from Martigny to Zermatt via Visp in around 2 h 16 min.

Train operators
Swiss Railways (SBB/CFF/FFS)
Website
sbb.ch
Train from Martigny to Visp
Ave. Duration
43 min
Frequency
Every 30 minutes
Estimated price
$27 - $50
Website
fahrplan.sbb.ch
Schedules at
fahrplan.sbb.ch
MGB
Website
matterhorngotthardbahn.ch
Train from Visp to Zermatt
Ave. Duration
1 h 10 min
Frequency
Hourly
Estimated price
$20 - $45
Website
matterhorngotthardbahn.ch
Schedules at
fahrplan.sbb.ch
2nd Class Ticket
$20 - $25
1st Class Ticket
$35 - $45

Want to know more about travelling around Switzerland

Rome2rio's Travel Guide series provide vital information for the global traveller. Filled with useful and timely travel information, the guides answer all the hard questions - such as 'How do I buy a ticket?', 'Should I book online before I travel? ', 'How much should I expect to pay?', 'Do the trains and buses have Wifi?' - to help you get the most out of your next trip.

Questions & Answers

The distance between Martigny and Zermatt is 53 km. The road distance is 101 km.

The cheapest way to get from Martigny to Zermatt is to drive which costs SFr 13 - SFr 19 and takes 1 h 25 min.

The quickest way to get from Martigny to Zermatt is to drive which takes 1 h 25 min and costs SFr 13 - SFr 19.

No, there is no direct train from Martigny to Zermatt. However, there are services departing from Martigny and arriving at Zermatt via Visp. The journey, including transfers, takes approximately 2 h 16 min.

It takes approximately 2 h 16 min to get from Martigny to Zermatt, including transfers.