Unguja, yaklaşık 85 kilometre uzunluğunda (kuzey-güney) ve en geniş yerinde 30 kilometre genişliğinde, toplam alanı yaklaşık 1.666 kilometrekare olan tepelik bir adadır. Hint Okyanusu'nda, Zanzibar Takımadaları'nın kuzey yarısında, takımadaların ikinci büyük adası Pemba'nın yaklaşık 59 kilometre (37 mil) güneyinde yer almaktadır. Unguja ve Tanzanya anakarası, Zanzibar Kanalı ile ayrılmıştır.