Hamilton is a town in Martin County, North Carolina, United States. The population was 516 at the 2010 census.