Shelby is a city in Cleveland County, North Carolina, United States. The population was 19,477 at the 2000 census. It is the county seat of Cleveland County.
Shelby is located at 35°17′18″N 81°32′16″W / 35.28833°N 81.53778°W / 35.28833; -81.53778 (35.288272, -81.537787).
According to the United States Census Bureau, the city has a total area of 18.2 square miles (47.0 km²), of which, 18.1 square miles (47.0 km²) of it is land and 0.04 square miles (0.1 km²) of it (0.11%) is water.