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