Virgin is a town in Washington County, Utah, United States. The population was 394 at the 2000 census. It is located along the Virgin River (for which it is named), not far from Zion National Park. The elevation is 3,550 feet. It lies on the route of State Route 9.