Essaouira-Mogador Airport: It is 16 km southeast of the medina. For one or two people, use Bus 2 from near Bab Doukkala only if the driver confirms it goes into town: it is about 7 dirham, but some services terminate at the highway junction, leaving an absurd 3 km walk. The reliable option is a grand taxi: roughly 150 dirham for the car, about 20 minutes, and worthwhile when shared. A city shuttle has been listed at 50 dirham per person.
Essaouira CTM / Supratours coach terminals: There is no rail service to Essaouira; long-distance coaches are the sensible overland arrival. From Marrakech, CTM and Supratours take about 3 hours and cost roughly 80 dirham plus 5 dirham per stowed bag. Supratours is close to Bab Marrakech and the beach, so most medina hotels are walkable. Book before travel day: the next departure is often sold out, especially in summer and around holidays.
Essaouira gare routière: This is the local-bus alternative, useful for more frequent but slower, less comfortable services from Marrakech (about 55–60 dirham) and for hopping the Agadir coast. Buy at the official counter inside the terminal; ignore anyone outside quoting a higher ‘tourist’ fare. For Agadir, CTM/Supratours take about 3 hours; Casablanca is about 6 hours.