Marion is a town in Smyth County, Virginia, United States. The population was 6,033 according to a 2017 count- not estimate- using local resources, information and current data. It is the county seat. The town is named for American Revolutionary War officer Francis Marion.