Rainsville is located in Dekalb county Alabama with a geographic area of 20.7 square miles. The total population in Rainsville is 5,038 with 51.8% male and 48.2% female. Children under age 5 represent 8.4% of the population, under age 18 equal 23.2% of the population and over age 65 is 19.1% of the population. The median household income is $38,028, per capita income is $21,558. There are a total of 2,023 housing units with 73.5% owner occupied. Education includes 23.6% of residents that are high school graduates and 20.5% with a bachelor's degree or higher. The average temperature in Rainsville in the summer is 77 degrees, and in the winter 43 degrees.