The calculated distance (air line) between Marrakesh and Essaouira is approximately 105 miles respectively 168 kilometers.
By car or train, the actual journey to Essaouira is certainly longer, as only the direct route (as the crow flies) between Marrakesh and Essaouira has been calculated here.