Carolina Beach lies at the northern end of Pleasure Island, which it shares with the community of Kure Beach, south of the inlet that separates the island from the unincorporated community of Sea Breeze.
The town has a land area of 2.45 square miles (6.3 km2), extending along the island from Freeman Park in the north to Alabama Avenue in the south.
As of the 2020 United States census, there were 6,564 people, 2,876 households, and 1,764 families residing in the town.
The racial makeup of the town was 98.94% White, 0.39% African American,0.50% Asian, and 0.17% from other races.
The New Hanover County Schools district covers Carolina Beach.
Only Carolina Beach Elementary School, founded in 1937, is located in the town.