The community of Xcalak is 422 kilometers south of Cancun. The nearest city is Chetumal, 196 kilometers to the south of Xcalak.
If you are driving from Chetumal, take highway 307 north past Bacalar to the Cafetal-Mahahual turn off (about 60 minutes travel) and follow signs east toward Mahahual and Xcalak. Then turn south, following signs to Xcalak; expect a bit more than two hours total travel time.
Driving from Cancun, take highway 307 south to the Cafetal-Xcalak turn off (three-plus hours travel) and follow signs east toward Mahahual and Xcalak; expect four to five hours.
You have two options for getting by bus from Chetumal to Xcalak, a four or five hour trip that passes through the small town of Limones. From the downtown bus station on Ave. Belize, buses leave at 4:30 am and at 4:00 pm; returning from Xcalak to Chetumal at 5:30 am and 2:00 pm. From Cancun, take a bus to Limones (about three hours south) to connect with either of the two Chetumal buses; usually the bus passes through Limones around 7:30 am and then again at 5:30 pm.