Hamilton is a town in Martin County, North Carolina, United States. The population was 516 at the 2000 census. The current mayor is Gil Matthews.
Hamilton is located at 35°56′39″N 77°12′28″W / 35.94417°N 77.20778°W / 35.94417; -77.20778 (35.944116, -77.207772).
According to the United States Census Bureau, the town has a total area of 0.5 square miles (1.2 km²), all of it land. It is located on the Roanoke River at the 60 Mile Mark.