The tidal Calabash River flows through the southern part of the town, leading southwest to the Little River in South Carolina, 3 miles upstream from that river's mouth at Little River Inlet on the Atlantic Ocean.