L'île de Zanzibar se trouve dans l'océan Indien, au large de la côte Est de la Tanzanie, en face de la capitale tanzanienne, Dar es Salaam. Zanzibar fait partie d'un archipel comprenant trois îles principales : Unguja (souvent appelée île de Zanzibar), Pemba et Mafia. L'île d'Unguja est la principale île de cet archipel, située à environ 20 à 50 kilomètres des côtes tanzaniennes. L'ensemble est niché dans l'océan Indien, à l'est de l'Afrique, et mesure environ 85 kilomètres de long et 20 à 30 kilomètres de large pour l'île principale Unguja, avec un relief assez faible (altitude maximale de 130 mètres).