Hamilton is a town in Martin County, North Carolina, United States. The population was 408 at the 2010 census.
Hamilton is located at 35°56′39″N 77°12′28″W (35.944116, -77.207772).
According to the United States Census Bureau, the town has a total area of 0.5 square miles (1.3 km2), all of it land. It is located on the Roanoke River at the 60 Mile Mark.
As of the census of 2000, there were 516 people, 191 households, and 145 families residing in the town. The population density was 1,070.0 people per square mile (415.1/km2). There were 216 housing units at an average density of 447.9 per square mile (173.7/km2). The racial makeup of the town was 44.38% White, 53.29% African American, 0.19% Pacific Islander, 1.55% from other races, and 0.58% from two or more races. Hispanic or Latino of any race were 3.49% of the population.
There were 191 households, out of which 34.0% had children under the age of 18 living with them, 52.4% were married couples living together, 20.9% had a female householder with no husband present, and 23.6% were non-families.