Hannibal is located in northeast Missouri. Hannibal is between the Marion, Ralls county. Hannibal has 15.73 square miles of land area and 0.47 square miles of water area. As of 2010-2014, the total Hannibal population is 17,779, which has grown 0.12% since 2000. The population growth rate is much lower than the state average rate of 7.74% and is much lower than the national average rate of 11.61%. Hannibal median household income is $37,309 in 2010-2014 and has grown by 24.81% since 2000. The income growth rate is about the same as the state average rate of 25.91% and is lower than the national average rate of 27.36%. Hannibal median house value is $81,200 in 2010-2014 and has grown by 43.72% since 2000. The house value growth rate is lower than the state average rate of 52.06% and is lower than the national average rate of 46.91%. As a reference, the national Consumer Price Index (CPI) inflation rate for the same period is 26.63%. On average, the public school district that covers Hannibal is close to the state average in quality. The Hannibal area code is 573.