The calculated distance (air line) between Knjazevac and Pirot is approximately 33 miles respectively 53 kilometers.
By car or train, the actual journey to Pirot is certainly longer, as only the direct route (as the crow flies) between Knjazevac and Pirot has been calculated here.