Crossnore is a town in Avery County, North Carolina, United States. The population was 143 at the 2020 census.