Quick answer: you can go from Marrakech to Fez by train (with a change, usually at Casablanca or Rabat), by private transfer, or on a multi-day route through the Atlas and the Sahara. The direct overland distance is roughly 500 km, so allow most of a day, or take the scenic route over several days.
Option 1: Train
Morocco’s rail network links the two cities, often with a change. Comfortable and good value. Check current timetables and book ahead in busy seasons.
Option 2: Private transfer
Flexible and door to door. Allow a long day with stops, for example in Beni Mellal or the Middle Atlas.
Option 3: Through the Sahara
The most memorable route runs via Ouarzazate, the Draa Valley and Merzouga, then north to Fez. It takes several days. See Sahara desert tours from Marrakech and our Sahara Adventure & Amazigh Culture tour.
Which should I choose?
- Short on time: train.
- Want comfort and stops: private transfer.
- Want the full experience: the Sahara route.
Frequently asked questions
How long does it take?
Plan on most of a day by train or road. The Sahara route takes three days or more.
Can I stop on the way?
Yes, with a private driver.
Which direction is better?
Both work. Many people start in Marrakech and end in Fez, or the reverse.
Plan your route
See the Marrakech guide, regions of Morocco and design your experience.
