Orrstown is located in northeastern Franklin County at (40.058482, -77.609213),[REF] at the intersection of Pennsylvania Routes 433 (Rowe Run Road) and 533 (Orrstown Road).
According to the United States Census Bureau, the borough has a total area of , all of it land [REF].