Selma is a census-designated place in Alleghany County, Virginia, United States. The population was 529 at the 2010 census.