 According to the U.S. Census Bureau, the town has a total area of , of which is land and 0.26% is water.As of the 2010 census Geraldine had a population of 896.The racial and ethnic composition of the population was 92.5% non-Hispanic white, 0.3% black or African American, 3.7% Native American, 0.7% from some other race, 1.8% from two or more races (1.6% of whom reported Native American as one of their races) and 2.0% Hispanic or Latino of any race.