According to the 2010 U.S. Census, the population was 17,606, making it the largest city in Marion County, although it is not the county seat. It is also the principal city of the Hannibal, Missouri micropolitan area, which consists of both counties.