Ocracoke is a census-designated place and unincorporated town located at the southern end of Ocracoke Island, located entirely within Hyde County, North Carolina, United States. The population was 948 as of the 2010 census. In the 2020 census, the population had dropped to 797 people.