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.
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 (departing Tangier at 21.05) 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 a 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 6 people to a compartment, in second class there are 8 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, I've put together schedules in English for the following cities in Morocco:
How Long is the Train Ride From....
You can check schedules "horaires" by clicking the links above, or 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 Train 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 4 travel free. Children between 4 and 12 qualify for reduced fares.
See the ONCF website for all fares ("tarifs").
Is There 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 7-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 Train 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. For more information about destinations check the Supratours web site.
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.
- On a recent train ride from Marrakech to Fes a man introduced himself as an official tourist guide, he showed a badge and then proceeded to tell us Fes shuts down on Fridays and the hotels were all booked up. This was, of course, utter nonsense, so no matter how persuasive people may be, don't believe the hype.
- If you bring your own food, offer some to your fellow passengers (unless they're fasting during Ramadan of course)