The town spans the barrier island of Ocean Isle Beach, extending 5 miles from Tubbs Inlet on the west to Shallotte Inlet on the east, and a section of the mainland to the north along North Carolina Highway 904.