There are
2,678 mi
from San Marcos, CA to Williamsburg, VA
That's the driving distance. It would take 1 day 23 hours to go from San Marcos, California to Williamsburg, Virginia.
The flight distance (direct flight from San Marcos, CA to Williamsburg, VA) is 2,284.40 mi.
2,678 mi = 4,310.42 kms