There are
34 mi
from St Charles, MO to Troy, MO
That's the driving distance. It would take 46 minutes to go from St Charles, Missouri to Troy, Missouri.
The flight distance (direct flight from St Charles, MO to Troy, MO) is 28.46 mi.
34 mi = 55.35 kms