Train Travel in Morocco

City walls, lighthouse and harbor in Melilla.
ViliamM / Getty Images

Traveling by train in Morocco is the most efficient and comfortable way to get around. The train network in Morocco is not very extensive but many of the major tourist destinations are covered. Trains run between Marrakech, Fes, Casablanca (including the International Airport), Rabat, Oujda, Tangier, and Meknes. If you want to head to the desert, Atlas Mountains, Agadir, or Essaouira on the coast, you'll have to get a bus, rental car, or grand taxi to your destination. 

How to Travel by Train in Morocco
TripSavvy / Hugo Lin 

Booking Your Train Ticket

You can not make a reservation or purchase a train ticket outside of Morocco. Once you arrive, however, go to the nearest train station and you can make reservations and purchase your tickets to anywhere in the country. The trains run often and it is usually not a problem to book just a day or so in advance of your trip.

If you are traveling from Tangier to Marrakech and you want to take the overnight train you will just have to hope the couchettes are not fully booked. If they are fully booked, don't panic, there's nearly always a seat available in second class so you won't have to stay overnight in Tangier if you don't want to.

Some hotel owners may be nice enough to book your couchette in advance and the ONCF (railway) company will have your tickets at the station. This is quite a hassle for the hotel owner, however, and financial risk (if you don't show up). But if you are very stressed about this leg of your journey, e-mail your hotel owner in Marrakech and see what they can do.

First Class or Second?

The trains in Morocco are divided into compartments, in first class there are six people to a compartment, in second class there are eight people per compartment. If you're booking first class you can get an actual seat reservation, which is nice if you want a window seat since the landscape is wonderful. Otherwise, it's first-come-first-serve, but the trains are rarely packed out so you'll always be quite comfortable. The price difference is usually no more than USD15 between the two classes.

Train Schedules in English

If your French is not up to par, or the ONCF website is down, there are schedules in English available To/From Casablanca, To/From Fes, To/From Marrakech, and To/From Tangier

How Long the Train Rides Are

You can check schedules "horaires" on the ONCF website, but here are some sample journey times.

  • From Marrakech to Casablanca—3 hours
  • From Marrakech to Rabat—4 hours
  • From Marrakech to Fes—7 hours
  • From Marrakech to Meknes—6 hours
  • From Tangier to Marrakech—11 hours (direct overnight)
  • From Tangier to Fes—5 hours
  • From Casablanca to Fes—4 hours
  • From Casablanca to Oujda—10 hours
  • From the International Airport to Casablanca Center—40 mins

What Do Tickets Cost?

Train tickets are very reasonably priced in Morocco. You have to pay for your tickets at the train station in cash. Children under the age of four years old travel free. Children between four and 12 qualify for reduced fares.

Food on the Train

A refreshment cart makes its way through the train serving drinks, sandwiches, and snacks. If you're traveling during Ramadan however, bring your own supply of food. Don't get stuck on the seven-hour train ride between Marrakech and Fes with just half a bottle of water and no food and no snack cart to be found. The trains really don't stop at the stations long enough to nip out and buy something.

Getting to and From the Station

If you're arriving at the International airport in Casablanca a train will take you directly to the main train station in the city center, and from there you can travel to Fes, Marrakech or wherever you'd like to head to. Trains also run directly from the airport to Rabat.

If you're in Tangier, Marrakech, Fes or any other city which has a train station take a cab (petit taxi is always the cheapest option) and ask the driver to take you to "la gare". When you arrive at your destination, try and have an address of a hotel ready before you hop into a cab.

If you are in a town like Essaouira or Agadir, a Supratours bus will link you directly to the Marrakech train station. Supratours is a bus company that is owned by the railway company, so you can book and pay for a combination of bus and train ticket at their offices.

Supratours also link the following destinations to the closest railway station: Tan Tan, Ouarzazate, Tiznit, Tetouan, and Nador.

Train Travel Tips

  • Make sure you know the approximate time of your arrival because stations are not well signposted and the conductor is barely audible when he announces the train station.
  • Before you arrive at your destination, especially in touristy towns like Marrakech and Fes, you are quite likely to have unofficial "guides" trying to get you to stay at their hotel or offering you advice. They may tell you your hotel is full or that you should let them help you get a cab, etc. Be polite but firm and stick to your original hotel plans to avoid scams.
  • If you bring your own food, offer some to your fellow passengers (unless they're fasting during Ramadan of course).