The calculated distance (air line) between Beijing and Shanhaiguan is approximately 178 miles respectively 286 kilometers.
By car or train, the actual journey to Shanhaiguan is certainly longer, as only the direct route (as the crow flies) between Beijing and Shanhaiguan has been calculated here.
Air line (approximately)
286 kilometers
154 nautical miles