The currency in the Zanzibar Archipelago is the Tanzanian Shilling. Most tourism services charge US dollars, and they also accept credit cards at most properties. Many vendors do not accept American Express, so it would be better to travel with either Visa or MasterCard. They generally accept traveller’s cheques and cash at hotels and Bureau de Changes. USD is the preferred currency.
If you plan on taking cash, make sure you take large bills (e.g. $50 or $100) as these, for some unknown reason, always get a better rate. Don’t go running to that first Bureau you see at the airport, as these, along with the hotels and resorts, usually have the worst exchange rate. If you are planning to take a taxi into town, pay the fare in USD and go to a bureau in town. There are many all over town. Try to negotiate a better rate – you never know.