Shelby is a city in Richland County, Ohio, United States. Located northwest of the city of Mansfield, it is part of the Mansfield metropolitan area. The population was 9,282 as of the 2020 census. Shelby was originally called Gamble's Mills, and under the latter name was platted in 1834.