Marshville is a town in Union County, North Carolina, United States. Its population was 2,360 at the 2000 census. Marshville is known as the birthplace of country music singer Randy Travis.
Marshville is located at 34°59′18″N 80°22′4″W / 34.98833°N 80.36778°W / 34.98833; -80.36778 (34.988458, -80.367845).
According to the United States Census Bureau, the town has a total area of 2.1 square miles (5.3 km²), of which, 2.0 square miles (5.3 km²) of it is land and 0.49% is water.