Jefferson is a town in and the county seat of Ashe County, North Carolina, United States. At the 2020 census, the population was 1,622.