The calculated distance (air line) between Donostia / San Sebastián and Beasain is approximately 21 miles respectively 34 kilometers.
By car or train, the actual journey to Beasain is certainly longer, as only the direct route (as the crow flies) between Donostia / San Sebastián and Beasain has been calculated here.
Air line (approximately)
34 kilometers
19 nautical miles