Pemba is around 70 km long and shaped like a long banana, with one paved north-south road linking the three main towns. Shared dala-dalas — minibuses, $1–2 a hop — connect Mkoani in the south, Chake-Chake in the middle, and Wete in the north, with reasonable frequency in daylight hours and nothing after sunset.
For destinations off the spine road, a hired car-and-driver from Chake-Chake (about US$50 a day) is the practical option. The roads to the more remote dive resorts on the northwest coast are rough; high-clearance vehicles are useful in the rainy season. Some guesthouses arrange bicycle hire, useful for short trips around Chake or Wete.