North Topsail Beach is a town in Onslow County, North Carolina, United States. As of the 2020 U.S. census, the population was 1,005. It is located on Topsail Island. North Topsail Beach is part of the Jacksonville, North Carolina Metropolitan Statistical Area.