There are a few ways to get to Chacahua. If you are coming in by air, fly to Puerto Escondido.
Just one flight a day comes in from Mexico City.
From Puerto Escondido you have several options. If the road is in decent condition, you can take a cab to directly to the mainland point in Chacahua for about $60 - $70 USD. However, that can become difficult during the rainy season. If you do take a cab to the point, it's just a two-minute crossing to the island by boat. The cab ride to the point is usually a very dusty one.
A more common option is to take a cab to Zapotalito $40-$50 USD, but the least expensive way to go (by far) is take a bus from Puerto Escondido to Rio Grande, and from there take a collectivo taxi or truck to Zapotalito but make sure to allow several hours for transit using this method. If you are flying in to Puerto and want to get to Chacahua the same day, take a taxi and you might be able to catch the last collectivo boat, otherwise hire your own boat for $25-$35 USD.
Once in Zapotalito you have a few options. You can hire your own boat and take a private ride through the lagoons to Chacahua (this takes about 30 to 40 minutes). If you ask and get lucky (as this woman did), you might even get a chance to captain the boat (thanks Andres!).
You can also take a collectivo boat to Chacahua. This takes the same amount of time on the water. You usually have to wait until there are enough people to fill a boat, but it's a less-expensive way to get there.
A third option is to take a collectivo boat to the closest end of the island to this boat dock.
And then catch a collectivo truck for a bumpy 20-30 minute ride to Chacahua. This is the most economical means of transportation to Chacahua but it isn't as pretty as the longer boat ride.
Private Boat Tours and Collectivos
For information on private boat tours or collectivo boats from Zapotalito, contact Eustolio or Uriel at 954-559-3636.