Sheffield is a village in Lorain County, Ohio, United States, along the Black River. The population was 4,135 at the 2020 census. It is part of the Cleveland metropolitan area. According to the United States Census Bureau, the village has a total area of 10.84 square miles, of which 10.74 square miles is land and 0.10 square miles is water.