Amherst is a city in Lorain County, Ohio, United States. The population was 12,021 at the 2010 census.