Wilson is a village in Belmont and Monroe counties in the U.S. state of Ohio. The population was 129 at the 2020 census. It is part of the Wheeling metropolitan area. According to the United States Census Bureau, the village has a total area of 0.47 square miles, of which 0.41 square miles is land and 0.06 square miles is water.