Marion is in central Williamson County, with a narrow strip of city limits extending south beyond Creal Springs to the valley of Sugar Creek in Johnson County.[8] Marion is 44 miles (71 km) south of Mount Vernon, Illinois, and 57 miles (92 km) north of Paducah, Kentucky. Carbondale is 17 miles (27 km) to the west, and Harrisburg is 22 miles (35 km) to the east.