Williamston is a town in Anderson County, South Carolina. The population was 4,043 at the 2020 census. Williamston is located in northeastern Anderson County at 34°37′4″N 82°28′45″W / 34.61778°N 82.47917°W. The twin towns of Pelzer and West Pelzer are 2 miles to the north. Anderson, the county seat, is 15 miles to the southwest.