Avon is a city in northeastern Lorain County, Ohio, United States. The population was 24,847 at the 2020 census. It is part of the Cleveland metropolitan area.