To and Fro: moving your bike around British Columbia
My bike and I are in
and we’d like to be in
.
We show what transit connections accept bikes. Check with the operator for prices, schedules, and reservations.
Same place twice. You’re already there, so enjoy the ride.
Good news: buses, trains and flights can carry you and your bike from Salmo to Surrey.
For scale
As the crow flies405 km
Biking whole way605 km · 43 h 27 m
By car630 km · 6 h 47 m
We found five ways to get you there.
🎒 Riding a coach? Most BC coach operators want your bike bagged or boxed. Our field note walks through packing it, including an inexpensive packable bike bag we like: How to bike-and-bus in BC ›
Note: Most carriers carry only a handful of bikes, and summer weekends fill up fast. Reserve where you can. Where you can't, go early or have a backup plan.
Option one · three legs⚠ doesn't run every day — check the schedule
Beautiful BC from a coach window.
CarrierRideYour bike
🚎BC Transit72 Salmo-Nelson via YmirSalmo →1680 Hwy 3A/6 (Nelson)33 kmRack on the bus, free — 2 bikes · first come, first servedE-bikes OK
🚌Mountain Man Mike'sKaslo – Vancouver1680 Hwy 3A/6 (Nelson) →New Westminster495 kmBikes acceptedCall for a quote — fee and packaging arranged with the booking agent
Runs once a week; hop-on hop-off along the way.
🚝SkyTrainTransLinkNew Westminster →Surrey CentralRoll on, free — 2 bikes per carAvoid rush hourE-bikes OK
🚲You arrive at Surrey Central.
Option two · three legs⚠ doesn't run every day — check the schedule
Same as Option one, but a coach bus instead of the city bus.
CarrierRideYour bike
🚌Mountain Man Mike'sKaslo – Calgaryor Mountain Man Mike's (Kaslo – Cranbrook – Calgary (weekly)) (doesn't run every day)Salmo →1680 Hwy 3A/6 (Nelson)33 kmBikes acceptedCall for a quote — fee and packaging arranged with the booking agent
Runs once a week, continuing east into Alberta.
🚌Mountain Man Mike'sKaslo – Vancouver1680 Hwy 3A/6 (Nelson) →New Westminster495 kmBikes acceptedCall for a quote — fee and packaging arranged with the booking agent
Runs once a week; hop-on hop-off along the way.
🚝SkyTrainTransLinkNew Westminster →Surrey CentralRoll on, free — 2 bikes per carAvoid rush hourE-bikes OK
🚲You arrive at Surrey Central.
Option three · two legs⚠ doesn't run every day — check the schedule
Like Option two, skipping the last SkyTrain.
CarrierRideYour bike
🚌Mountain Man Mike'sKaslo – Cranbrook – Calgary (weekly)Salmo →Calgary AB482 kmBikes acceptedCall for a quote — fee and packaging arranged with the booking agent
The only ground service between Cranbrook and Calgary; weekly, eastbound Monday and westbound Tuesday.
🚌EbusVancouver – Calgary (Hwy 1)or Rider Express (Vancouver – Calgary (Hwy 1))Calgary AB →Surrey763 kmRides in the hold — bagged or cloth-wrapped (no plastic), or boxed$30 per bike
Runs the same Highway 1 corridor as Rider Express, so compare schedules and fares.
🚲You arrive at Surrey.
Option four · three legs⚠ doesn't run every day — check the schedule
Same as Option one, but a coach bus instead of the SkyTrain.
CarrierRideYour bike
🚎BC Transit72 Salmo-Nelson via YmirSalmo →1680 Hwy 3A/6 (Nelson)33 kmRack on the bus, free — 2 bikes · first come, first servedE-bikes OK
🚌Mountain Man Mike'sKaslo – Vancouver1680 Hwy 3A/6 (Nelson) →Hope374 kmBikes acceptedCall for a quote — fee and packaging arranged with the booking agent
Runs once a week; hop-on hop-off along the way.
🚌EbusVancouver – Kelownaor Ebus (Vancouver – Kamloops) or Ebus (Vancouver – Calgary (Hwy 1)) or Rider Express (Vancouver – Calgary) or Rider Express (Vancouver – Calgary (Hwy 1))Hope →Surrey116 kmRides in the hold — bagged or cloth-wrapped (no plastic), or boxed$30 per bike
🚲You arrive at Surrey.
Option five · four legs✈ the splurge⚠ doesn't run every day — check the schedule
Fly most of the way, then let transit finish the trip.
CarrierRideYour bike
🚎BC Transit72 Salmo-Nelson via YmirSalmo →1680 Hwy 3A/6 (Nelson)33 kmRack on the bus, free — 2 bikes · first come, first servedE-bikes OK
🚎BC Transit99 Kootenay Connector1680 Hwy 3A/6 (Nelson) →Hwy 3A at Ootischenia Rd (Brilliant)31 kmRack on the bus, free — 2 bikes · first come, first servedE-bikes OK
🚲Travel the short hop from Hwy 3A at Ootischenia Rd (Brilliant) to Castlegar, about 2.8 km.
✈️Air CanadaVancouver (YVR) – Castlegar (YCG)Castlegar →Vancouver Airport (YVR) (Richmond)402 kmBox or sturdy bag requiredBook ahead for your bikeAbout $50 per directionNo e-bikes
🚝SkyTrainTransLinkVancouver Airport (YVR) (Richmond) →Surrey CentralRoll on, free — 2 bikes per carAvoid rush hourE-bikes OK
🚲You arrive at Surrey Central.
Route facts last checked July 2026. We check that every leg here carries bikes, but policies and seasons change. Check times and book with the operator. Something wrong or out of date? Tell us and we'll fix it.
Explore more
Heading back: Surrey to Salmo (best: SkyTrain + bus)
Connections from Salmo: Castlegar (best: bus) · Kamloops (best: bus) · Gibsons (best: bus + ferry) · Haida Gwaii (best: bus + train + ferry)
Connections from Surrey: Mission (best: SkyTrain + bus) · Powell River (best: bus + ferry) · Clearwater (best: bus) · Haida Gwaii (best: SkyTrain + train + ferry)