Hamilton is a town in Skagit County, Washington, United States. The population was 299 at the 2020 census. It is included in the Mount Vernon-Anacortes, Washington Metropolitan Statistical Area.