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