There are
1,649 mi
from Mcallen, TX to Petersburg, VA
That's the driving distance. It would take 1 day 6 hours to go from Mcallen, Texas to Petersburg, Virginia.
The flight distance (direct flight from Mcallen, TX to Petersburg, VA) is 1,436.76 mi.
1,649 mi = 1.61 kms