The calculated distance (air line) between Zábřeh and Olomouc is approximately 26 miles respectively 42 kilometers.
By car or train, the actual journey to Olomouc is certainly longer, as only the direct route (as the crow flies) between Zábřeh and Olomouc has been calculated here.