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