The calculated distance (air line) between San Giovanni Valdarno and Florence is approximately 20 miles respectively 33 kilometers.
By car or train, the actual journey to Florence is certainly longer, as only the direct route (as the crow flies) between San Giovanni Valdarno and Florence has been calculated here.
Air line (approximately)
33 kilometers
18 nautical miles