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