Getting Around Morocco: Trains, Buses, Taxis & Flights

Morocco has a good transport network: modern trains between the big cities, comfortable buses to almost everywhere and cheap shared taxis for short hops. This guide explains the options, approximate journey times and the best choice for each route.
At a glance
- Fastest train
- Al Boraq, Tangier to Casablanca in about 2 hours 10
- Main bus companies
- CTM and Supratours
- Taxis
- Petit taxis in town, grand taxis between towns
- Drive on
- The right
Trains
The national railway, ONCF, runs the Al Boraq high-speed line between Tangier, Rabat and Casablanca, plus regular intercity trains to Marrakech, Fes, Meknes and Oujda. Typical journeys are Casablanca to Marrakech in about 3 hours, Rabat to Fes in about 3 hours and Tangier to Casablanca in about 2 hours 10 on Al Boraq. Buy tickets online, through the ONCF app or at stations, and book ahead for weekends and holidays. First class has reserved seats.

Buses
CTM is the reliable national company, with air-conditioned coaches, assigned seats and luggage tickets. Supratours links with train routes and reaches places not served by rail, including Essaouira, Chefchaouen and Dakhla. Local buses are cheaper but less comfortable and less frequent.
Taxis
- Petit taxis: small, metered city taxis; insist on the meter, or agree the price before you start. Colours differ by city.
- Grand taxis: shared taxis for up to six passengers on fixed routes between towns. Pay per seat or hire the whole car.
- Ride-hailing apps: available in some larger cities but rules and availability vary.
Flights
Royal Air Maroc and low-cost carriers fly between Casablanca and cities such as Marrakech, Agadir, Fes, Tangier, Ouarzazate and Dakhla. Flights save time on long routes, for example to Dakhla.
Hiring a car or driver
A car gives freedom in the Atlas and the south, but mountain roads and unmarked speed traps require care. Avoid driving at night outside cities, and carry your licence and documents. Many travellers prefer a private driver for the desert route between Marrakech, Merzouga and Fes; see our Sahara tour guide.
Arriving in Morocco
Most visitors fly into Marrakech, Casablanca, Fes, Tangier or Agadir. Ferries cross from Spain (Tarifa and Algeciras) to Tangier. See Tangier for the ferry details.
Suggested routes
| Route | Best option | Approx. time |
|---|---|---|
| Casablanca to Marrakech | Train | About 3 hours |
| Tangier to Rabat | Al Boraq train | About 1 hour 20 |
| Fes to Meknes | Train | About 30 to 50 minutes |
| Marrakech to Essaouira | Bus | About 2.5 to 3 hours |
| Fes to Chefchaouen | Bus | About 4 hours |
| Marrakech to Merzouga | Tour or driver | Two days of driving |
Times are approximate; check current timetables. For overall planning, see the Morocco travel guide and travel tips.
Frequently asked questions
Is it easy to travel by train in Morocco?
Yes. Trains between Tangier, Rabat, Casablanca, Marrakech, Meknes and Fes are modern, comfortable and good value.
Should I rent a car in Morocco?
It is useful for the Atlas, Atlantic coast and the south, but roads can be challenging. For cities, trains and taxis are easier.
How do I get from Marrakech to the Sahara?
Most people book a 2 or 3-day tour or hire a private driver. It is a long journey of about 9 to 10 hours to Merzouga.
