 Williamstown is located at (39.399574, −81.450558).According to the United States Census Bureau, the city has a total area of , of which is land and is water.As of the census of 2010, there were 2,908 people, 1,254 households, and 848 families living in the city.