The northern half of Zanzibar’s main island, Unguja, has some of the best swimming, snorkelling and diving on the island. The coast immediately north of Stone Town is not the most appealing, as it is very tidal (impossible to swim at low tide) and the beach is very narrow at high tide. But once past Mkokotoni (45km), you leave the tropical forest and emerge onto the northern peninsula which is fringed by brilliant white sands and - something of a rarity on Zanzibar - steeply shelving beaches which allow you to swim at any time of day. Nungwi and Kendwa are 2 prime spots for lazy swimming and sailing and a buzzy beach-party scene. Off to the west is the low wooded island of Tumbatu, while to the east is one of the true jewels of the Indian Ocean, the sandy atoll of Mnemba Island - a mecca for snorkellers and divers.
If you can't afford to stay on the island (and most mortals can't), then base yourself in nearby Matemwe, a barefoot-chic hideaway with easy access to all the prime diving spots, and 2 gorgeous beach lodges.
Further down the east coast, especially around Kiwengwa, are some larger resorts which are best avoided. But there are some gorgeous little hotels and guesthouses if you know where to look, notably around Pongwe.