Hayesville is a town in Clay County, North Carolina, United States. The population was 297 at the 2000 census. It is the county seat of Clay County.
Hayesville is located at 35°2′48″N 83°49′4″W / 35.04667°N 83.81778°W / 35.04667; -83.81778 (35.046630, -83.817883).
According to the United States Census Bureau, the town has a total area of 0.4 square miles (1.1 km²), all of it land.