Beckley is a city in and the county seat of Raleigh County, West Virginia, United States. The population was 17,286 at the 2020 census, making it the ninth-most populous city in the state.