Madison County is a county located in the U.S. state of North Carolina. As of the 2020 census, the population was 21,193. Its county seat is Marshall. Madison County is part of the Asheville, NC Metropolitan Statistical Area.