Virgin is a town in Washington County, Utah, United States. The population was 596 at the 2010 census. The first settlement at Virgin was made in 1858. It is located along the Virgin River (for which it is named), and not far from Zion National Park. The elevation is 3,606 feet (1,099 m). It lies on the route of State Route 9.
According to the United States Census Bureau, the town has an area of 11.9 square miles (30.9 km²) in total, all land.
As of the census of 2010, there were 596 people, 202 households, and 139 families residing in the town. The population density was 50.1 people per square mile (19.3/km²). There were 243 housing units at an average density of 20.4 per square mile (7.9/km²). The racial makeup of the town was 91.8% White, 2.2% Native American, 0.5% Asian, 0.2% Pacific Islander, and 2.0% from two or more races. Hispanic or Latino of any race were 6.4% of the population.
There were 202 households out of which 23.8% had children under the age of 18 living with them, 57.9% were married couples living together, 6.9% had a female householder with no husband present, and 31.2% were non-families. 22.3% of all households were made up of individuals and 9.9% had someone living alone who was 65 years of age or older. The average household size was 2.64 and the average family size was 3.14.
In the town, the population was spread out with 36.8% under the age of 24, 23.5% from 25 to 44, 26.1% from 45 to 64, and 13.6% who were 65 years of age or older. The median age was 35.6 years. For every 100 females, there were 116.7 males. For every 100 females age 18 and over, there were 100.4 males.
The median income for a household in the town was $55,625, and the median income for a family was $50,250. Males had a median income of $40,167 versus $19,783 for females. The per capita income for the town was $19,408. About 8.0% of families and 7.4% of the population were below the poverty line, including 6.4% of those under age 18 and 8.0% of those age 65 or over.