Virgin is a town in Washington County, Utah, United States. The population was 596 at the 2010 census. It is located along the Virgin River (for which it is named), 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 a total area of 11.9 square miles (30.9 km²), all of it land.