Amherst is a city in Lorain County, Ohio, United States. It is located 28 miles west of Cleveland within the Cleveland metropolitan area. The population was 12,681 at the 2020 census.