Hannibal is located in Marion County, MO. The population is 17,835, making Hannibal the largest city in Marion County.
There are 10 public schools in Hannibal with an average Homefacts rating of C+. The total crime rate for Hannibal is low , and there are 104 registered sex offenders residing in the city. Unemployment in Hannibal is low and the median home sales price is $0. Detailed and up-to-date Hannibal property reports are available for any property address.
Cities near Hannibal include Mason Township, Miller Township and Levee Township.