Shelby is located in Cleveland county North carolina with a geographic area of 22.3 square miles. The total population in Shelby is 20,046 with 43.9% male and 56.1% female. Children under age 5 represent 4.4% of the population, under age 18 equal 21.2% of the population and over age 65 is 23.0% of the population. The median household income is $39,398, per capita income is $24,149. There are a total of 8,636 housing units with 57.5% owner occupied. Education includes 27.5% of residents that are high school graduates and 25.4% with a bachelor's degree or higher. The average temperature in Shelby in the summer is 75 degrees, and in the winter 38 degrees.