Trains
Morocco's rail network (ONCF) is comfortable, reliable, and the best option for travelling between major northern cities. The high-speed Al Boraq train links Casablanca and Tangier in just over two hours, stopping at Rabat and Kenitra. Slower trains continue east to Fez and Meknes, and south to Marrakech. The network doesn't extend to Agadir, the south, or the desert — for those you'll need buses or a car. Check timetables at oncf.ma.
Buses
CTM is the national bus company: comfortable air-conditioned coaches, reserved seating, reliable schedules, and service to most cities and towns including Agadir, Ouarzazate, and Merzouga. Supratours (affiliated with ONCF) fills in similar routes. Book ahead for popular destinations in high season. Local "souk buses" are slower, cheaper, and can be chaotic — they stop anywhere and negotiate luggage storage separately.
Grand taxis
These large shared Mercedes sedans run fixed routes between towns, cramming in six passengers. They leave when full. If you want to go sooner or have more space, pay for two seats. Fares are fixed — ask fellow passengers what the going rate is before agreeing to a price. Grand taxis are the backbone of rural transport and often faster than buses on shorter routes.
Car rental
Renting a car gives you the most freedom, especially for the south, the Atlas, and the pre-Sahara. International companies (Avis, Hertz, Europcar) operate at airports; local agencies are cheaper and can usually be haggled with. Roads are generally good, though mountain routes demand attention. Police and customs checkpoints are common on main roads — stop, be polite, and have your documents ready.
Petits taxis
Within cities, petits taxis (usually small Dacia or Fiat cars) carry up to three passengers and use meters. At night the meter rate rises by 50%. If the driver claims the meter is broken, agree on a price before you get in. They're cheap, ubiquitous, and the right way to get around in cities.
Internal flights
Royal Air Maroc and budget carriers serve domestic routes (Casablanca to Agadir, Marrakech to Ouarzazate, etc.). Useful if time is short, but buses and trains are much cheaper and often not that much slower on short routes.