BC Cycle Tourism Society

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, ferries, trains and flights can carry you and your bike from Langford to Armstrong.

For scale
As the crow flies383 km
Biking whole way559 km · 36 h 12 m
By car547 km · 7 h 03 m

We found eight 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 · six legs
A ferry in the middle ties it all together.
CarrierRideYour bike
🚎BC Transit66 CVX Cowichan - Victoria ExpressHwy 1 ramp & Leigh (Langford) →Duncan39 kmRack on the bus, free — 2 bikes · first come, first servedE-bikes OK
🚎BC Transit70 NCX Nanaimo - Cowichan ExpressDuncan →Bay D at Downtown Nanaimo Exch46 kmRack on the bus, free — 2 bikes · first come, first servedE-bikes OK
🚲Travel the short hop from Bay D at Downtown Nanaimo Exch to Hullo Nanaimo Terminal (Port Way), about 1.4 km. If pedalling it doesn't appeal, A.C. Taxi, Yellow Cab Nanaimo might help.
⛴️HulloHullo (Nanaimo – Vancouver)Hullo Nanaimo Terminal (Port Way) →CXH (Vancouver)61 kmBook online ahead — 6 bike spots per sailing, 1 per guest$19.99 one way — $25 in personNo e-bikes — no trailers, 80 in / 50 lb max
🚲Travel the short hop from CXH (Vancouver) to Vancouver Canada Place, about 0.8 km. If pedalling it doesn't appeal, Black Top Cabs, Maclure'S Cabs might help.
🚝SkyTrainTransLinkVancouver Canada Place →Pacific Central Station (Vancouver)Roll on, free — 2 bikes per carAvoid rush hourE-bikes OK
🚌EbusVancouver – KelownaPacific Central Station (Vancouver) →Kelowna (Orchard Park Mall)331 kmRides in the hold — bagged or cloth-wrapped (no plastic), or boxed$30 per bike
🚌EbusKamloops – Kelowna (via Salmon Arm)or Ebus (Kelowna/Salmon Arm – Golden)Kelowna (Orchard Park Mall) →Armstrong68 kmRides in the hold — bagged or cloth-wrapped (no plastic), or boxed$30 per bike
🚲You arrive at Armstrong.
Option two · six legs
The same idea as Option one, on different routes.
CarrierRideYour bike
🚎BC Transit66 CVX Cowichan - Victoria ExpressHwy 1 ramp & Leigh (Langford) →Duncan39 kmRack on the bus, free — 2 bikes · first come, first servedE-bikes OK
🚎BC Transit70 NCX Nanaimo - Cowichan ExpressDuncan →Bay D at Downtown Nanaimo Exch46 kmRack on the bus, free — 2 bikes · first come, first servedE-bikes OK
🚲Travel the short hop from Bay D at Downtown Nanaimo Exch to Hullo Nanaimo Terminal (Port Way), about 1.4 km.
⛴️HulloHullo (Nanaimo – Vancouver)Hullo Nanaimo Terminal (Port Way) →CXH (Vancouver)61 kmBook online ahead — 6 bike spots per sailing, 1 per guest$19.99 one way — $25 in personNo e-bikes — no trailers, 80 in / 50 lb max
🚲Travel the short hop from CXH (Vancouver) to Vancouver Canada Place, about 0.8 km.
🚝SkyTrainTransLinkVancouver Canada Place →Pacific Central Station (Vancouver)Roll on, free — 2 bikes per carAvoid rush hourE-bikes OK
🚌EbusVancouver – Kamloopsor Rider Express (Vancouver – Calgary)Pacific Central Station (Vancouver) →Kamloops301 kmRides in the hold — bagged or cloth-wrapped (no plastic), or boxed$30 per bike
🚌EbusKamloops – Kelowna (via Salmon Arm)Kamloops →Armstrong121 kmRides in the hold — bagged or cloth-wrapped (no plastic), or boxed$30 per bike
🚲You arrive at Armstrong.
Option three · six legs
Another way: the same idea as Option one, on different routes.
CarrierRideYour bike
🚎BC Transit66 CVX Cowichan - Victoria ExpressHwy 1 ramp & Leigh (Langford) →Duncan39 kmRack on the bus, free — 2 bikes · first come, first servedE-bikes OK
🚎BC Transit70 NCX Nanaimo - Cowichan ExpressDuncan →Bay D at Downtown Nanaimo Exch46 kmRack on the bus, free — 2 bikes · first come, first servedE-bikes OK
🚲Travel the short hop from Bay D at Downtown Nanaimo Exch to Hullo Nanaimo Terminal (Port Way), about 1.4 km.
⛴️HulloHullo (Nanaimo – Vancouver)Hullo Nanaimo Terminal (Port Way) →CXH (Vancouver)61 kmBook online ahead — 6 bike spots per sailing, 1 per guest$19.99 one way — $25 in personNo e-bikes — no trailers, 80 in / 50 lb max
🚲Travel the short hop from CXH (Vancouver) to Vancouver Canada Place, about 0.8 km.
🚝SkyTrainTransLinkVancouver Canada Place →Pacific Central Station (Vancouver)Roll on, free — 2 bikes per carAvoid rush hourE-bikes OK
🚌EbusVancouver – Calgary (Hwy 1)Pacific Central Station (Vancouver) →Sorrento368 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.
🚌EbusKamloops – Kelowna (via Salmon Arm)Sorrento →Armstrong55 kmRides in the hold — bagged or cloth-wrapped (no plastic), or boxed$30 per bike
🚲You arrive at Armstrong.
Option four · seven legs
Four ways to travel, one destination.
CarrierRideYour bike
🚎BC Transit61 Sooke / Langford / Downtownor the 66 CVX Cowichan - Victoria ExpressLangford Exch Bay A →Douglas & Finlayson - Mayfair (Victoria)13 kmRack on the bus, free — 2 bikes · first come, first servedE-bikes OK
🚲Travel the short hop from Douglas & Finlayson - Mayfair (Victoria) to Douglas St at Pandora Ave (Victoria), about 1.9 km. If pedalling it doesn't appeal, Bluebird Cabs, Sidney Taxi might help.
🚎BC Transit70 Swartz Bay / Downtownor the 72 Swartz Bay / Downtown (via Saanichton)Douglas St at Pandora Ave (Victoria) →Swartz Bay (North Saanich)29 kmRack on the bus, free — 2 bikes · first come, first servedE-bikes OK
⛴️BC FerriesTsawwassen – Swartz BaySwartz Bay (North Saanich) →Tsawwassen (Delta)41 kmRoll on, free — no reservation neededE-bikes OK — no charging on board
🚎TransLink620 Bridgeport Station / Tsawwassen FerryTsawwassen (Delta) →Bridgeport (Richmond)22 kmRack on the bus, free2 bikes — first come, first servedE-bikes OK
The 620 is year-round, roughly hourly, timed to sailings, with two bike-rack spots. On busy summer ferry days the seasonal 900 Bike Bus can carry an extra 10 bikes.
🚝SkyTrainTransLinkBridgeport (Richmond) →Pacific Central Station (Vancouver)Roll on, free — 2 bikes per carAvoid rush hourE-bikes OK
🚌EbusVancouver – KelownaPacific Central Station (Vancouver) →Kelowna (Orchard Park Mall)331 kmRides in the hold — bagged or cloth-wrapped (no plastic), or boxed$30 per bike
🚌EbusKamloops – Kelowna (via Salmon Arm)or Ebus (Kelowna/Salmon Arm – Golden)Kelowna (Orchard Park Mall) →Armstrong68 kmRides in the hold — bagged or cloth-wrapped (no plastic), or boxed$30 per bike
🚲You arrive at Armstrong.
Show four moreShow fewer
Option five · seven legs
The same idea as Option four, on different routes.
CarrierRideYour bike
🚎BC Transit61 Sooke / Langford / Downtownor the 66 CVX Cowichan - Victoria ExpressLangford Exch Bay A →Douglas & Finlayson - Mayfair (Victoria)13 kmRack on the bus, free — 2 bikes · first come, first servedE-bikes OK
🚲Travel the short hop from Douglas & Finlayson - Mayfair (Victoria) to Douglas St at Pandora Ave (Victoria), about 1.9 km.
🚎BC Transit70 Swartz Bay / Downtownor the 72 Swartz Bay / Downtown (via Saanichton)Douglas St at Pandora Ave (Victoria) →Swartz Bay (North Saanich)29 kmRack on the bus, free — 2 bikes · first come, first servedE-bikes OK
⛴️BC FerriesTsawwassen – Swartz BaySwartz Bay (North Saanich) →Tsawwassen (Delta)41 kmRoll on, free — no reservation neededE-bikes OK — no charging on board
🚎TransLink620 Bridgeport Station / Tsawwassen FerryTsawwassen (Delta) →Bridgeport (Richmond)22 kmRack on the bus, free2 bikes — first come, first servedE-bikes OK
The 620 is year-round, roughly hourly, timed to sailings, with two bike-rack spots. On busy summer ferry days the seasonal 900 Bike Bus can carry an extra 10 bikes.
🚝SkyTrainTransLinkBridgeport (Richmond) →Pacific Central Station (Vancouver)Roll on, free — 2 bikes per carAvoid rush hourE-bikes OK
🚌EbusVancouver – Kamloopsor Rider Express (Vancouver – Calgary)Pacific Central Station (Vancouver) →Kamloops301 kmRides in the hold — bagged or cloth-wrapped (no plastic), or boxed$30 per bike
🚌EbusKamloops – Kelowna (via Salmon Arm)Kamloops →Armstrong121 kmRides in the hold — bagged or cloth-wrapped (no plastic), or boxed$30 per bike
🚲You arrive at Armstrong.
Option six · seven legs
Another way: the same idea as Option four, on different routes.
CarrierRideYour bike
🚎BC Transit61 Sooke / Langford / DowntownLangford Exch Bay A →Douglas & Finlayson - Mayfair (Victoria)13 kmRack on the bus, free — 2 bikes · first come, first servedE-bikes OK
🚲Travel the short hop from Douglas & Finlayson - Mayfair (Victoria) to Douglas St at Pandora Ave (Victoria), about 1.9 km.
🚎BC Transit70 Swartz Bay / Downtownor the 72 Swartz Bay / Downtown (via Saanichton)Douglas St at Pandora Ave (Victoria) →Swartz Bay (North Saanich)29 kmRack on the bus, free — 2 bikes · first come, first servedE-bikes OK
⛴️BC FerriesTsawwassen – Swartz BaySwartz Bay (North Saanich) →Tsawwassen (Delta)41 kmRoll on, free — no reservation neededE-bikes OK — no charging on board
🚎TransLink620 Bridgeport Station / Tsawwassen FerryTsawwassen (Delta) →Bridgeport (Richmond)22 kmRack on the bus, free2 bikes — first come, first servedE-bikes OK
The 620 is year-round, roughly hourly, timed to sailings, with two bike-rack spots. On busy summer ferry days the seasonal 900 Bike Bus can carry an extra 10 bikes.
🚝SkyTrainTransLinkBridgeport (Richmond) →Pacific Central Station (Vancouver)Roll on, free — 2 bikes per carAvoid rush hourE-bikes OK
🚌EbusVancouver – Calgary (Hwy 1)Pacific Central Station (Vancouver) →Sorrento368 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.
🚌EbusKamloops – Kelowna (via Salmon Arm)Sorrento →Armstrong55 kmRides in the hold — bagged or cloth-wrapped (no plastic), or boxed$30 per bike
🚲You arrive at Armstrong.
Option seven · six legs
The same trip, but with Rider Express for the coach bus leg.
CarrierRideYour bike
🚎BC Transit66 CVX Cowichan - Victoria ExpressHwy 1 ramp & Leigh (Langford) →Duncan39 kmRack on the bus, free — 2 bikes · first come, first servedE-bikes OK
🚎BC Transit70 NCX Nanaimo - Cowichan ExpressDuncan →Bay D at Downtown Nanaimo Exch46 kmRack on the bus, free — 2 bikes · first come, first servedE-bikes OK
🚲Travel the short hop from Bay D at Downtown Nanaimo Exch to Hullo Nanaimo Terminal (Port Way), about 1.4 km.
⛴️HulloHullo (Nanaimo – Vancouver)Hullo Nanaimo Terminal (Port Way) →CXH (Vancouver)61 kmBook online ahead — 6 bike spots per sailing, 1 per guest$19.99 one way — $25 in personNo e-bikes — no trailers, 80 in / 50 lb max
🚲Travel the short hop from CXH (Vancouver) to Vancouver Canada Place, about 0.8 km.
🚝SkyTrainTransLinkVancouver Canada Place →Pacific Central Station (Vancouver)Roll on, free — 2 bikes per carAvoid rush hourE-bikes OK
🚌Rider ExpressVancouver – CalgaryPacific Central Station (Vancouver) →Hudson Ave NE & 6 St NE (Salmon Arm)390 kmRides in the hold — bagged, wrapped, or boxed$50 per bike — non-refundable
🚌EbusKelowna/Salmon Arm – GoldenHudson Ave NE & 6 St NE (Salmon Arm) →Armstrong31 kmRides in the hold — bagged or cloth-wrapped (no plastic), or boxed$30 per bike
🚲You arrive at Armstrong.
Option eight · five legs✈ the splurge
Fly most of the way, then let transit finish the trip.
CarrierRideYour bike
🚎BC Transit66 CVX Cowichan - Victoria ExpressHwy 1 ramp & Leigh (Langford) →Legislature Exch (Belleville St) Bay G (Victoria)14 kmRack on the bus, free — 2 bikes · first come, first servedE-bikes OK
🚲Travel the short hop from Legislature Exch (Belleville St) Bay G (Victoria) to Victoria Harbour, about 0.7 km.
🛩️Harbour AirVancouver Harbour – Victoria HarbourVictoria Harbour →CXH (Vancouver)98 kmFront wheel must come off$20 handling fee — bike weight counts toward your baggage allowanceNot on the Twin Otter — other floatplanes are fine; confirm when booking
🚲Travel the short hop from CXH (Vancouver) to Vancouver Canada Place, about 0.8 km.
🚝SkyTrainTransLinkVancouver Canada Place →Vancouver Airport (YVR) (Richmond)Roll on, free — 2 bikes per carAvoid rush hourE-bikes OK
✈️Air CanadaVancouver (YVR) – Kelowna (YLW)Vancouver Airport (YVR) (Richmond) →Kelowna Airport288 kmBox or sturdy bag requiredBook ahead for your bikeAbout $50 per directionNo e-bikes
🚌EbusKamloops – Kelowna (via Salmon Arm)Kelowna Airport →Armstrong56 kmRides in the hold — bagged or cloth-wrapped (no plastic), or boxed$30 per bike
🚲You arrive at Armstrong.
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: Armstrong to Langford (best: bus + SkyTrain + ferry)

Connections from Langford: Salt Spring Island (best: bus + ferry) · Port Moody (best: bus + ferry + SkyTrain) · Merritt (best: bus + ferry + SkyTrain) · Prince Rupert (best: bus + rental car + ferry)

Connections from Armstrong: Sicamous (best: bus) · Pemberton (best: bus + SkyTrain) · Mayne Island (best: bus + SkyTrain + ferry) · Haida Gwaii (best: bus + train + ferry)

Check out BC Bike Stops in Langford and Armstrong