There are
1,650 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,650 mi = 2,655.22 kms