Upperville Zig-Zag Gravel is a 42.0-mile loop starting in Upperville, with 2,428 feet of climbing. About 31.9 miles (76%) are on gravel or dirt roads and 10.1 miles are paved. The longest unpaved stretch runs 8.4 miles on Ebenezer Church Road, Yellow Schoolhouse Road, Foggy Bottom Road, Austin Grove Road, Ridgeside Road, Trappe Road near Airmont and Paxson.
Route snapshot
What to expect
This loop spreads its gravel evenly across the ride: 14.8 gravel miles in the first half and 17.1 in the second. Along the way it links Paxson, Bluemont, Silcott Spring and Airmont.
The course tops out at 712 feet around mile 9.6 and drops as low as 421 feet. Expect 11 climbs of 80 feet or more; the biggest gains 187 feet over 3.3 miles starting near mile 5.3. The steepest quarter-mile averages about 8.5% near mile 21.3. At roughly 58 feet of climbing per mile, we rate it intermediate.
- 8.4 miles of continuous gravel on Ebenezer Church Road, Yellow Schoolhouse Road, Foggy Bottom Road and Austin Grove Road near Airmont and Paxson.
- More unpaved stretches on Trappe Road and Paxson Road.
- 76% of the distance is on gravel or dirt.
- Paved sections on Leesburg Pike, Snickersville Turnpike and John S Mosby Highway, busier roads. Ride single file and stay alert.
- Paved connectors include Trappe Road, Llangollen Road, Foggy Bottom Road, Airmont Road and Greengarden Road.
- A steep pitch of about 8.5% near mile 21.3. Choose gears that let you stay seated on loose gravel.
- At 42.0 miles, plan your water and food before you leave Upperville.
Ride notes. Start and finish in Upperville. These are working farm roads shared with horses, tractors and local traffic: slow down and pass wide around horses, and see VeloSafe for more. Gravel changes with the weather, so expect loose stone after a fresh grading and soft spots after heavy rain. Spring and fall are our favorite seasons out here.

Elevation and surface

Gravel sections
Unpaved stretches of half a mile or more, in riding order:
- Mile 1.3–2.9 (1.6 mi): Llangollen Road
- Mile 5.9–12.4 (6.5 mi): Trappe Road, Ridgeside Road, Foggy Bottom Road — near Paxson
- Mile 14.0–15.6 (1.6 mi): Calumet Lane — near Bluemont
- Mile 16.0–18.3 (2.3 mi): Yellow Schoolhouse Road — near Paxson
- Mile 18.6–23.3 (4.7 mi): Paxson Road, Black Oak Road — near Silcott Spring
- Mile 24.1–27.7 (3.6 mi): Woodtrail Road, Poor House Road — near Airmont
- Mile 28.2–36.6 (8.4 mi): Ebenezer Church Road, Yellow Schoolhouse Road, Foggy Bottom Road, Austin Grove Road, Ridgeside Road, Trappe Road — near Airmont and Paxson
- Mile 39.0–41.1 (2.1 mi): Greengarden Road
Photos from the route


Photos taken along this route on our rides.
Get the route
Surface data comes from Ride with GPS. Road names come from OpenStreetMap. Gravel roads change with weather and maintenance, so check conditions before you ride and follow our VeloSafe guidance on rural roads.
