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 Victoria to Armstrong.

For scale
As the crow flies376 km
Biking whole way556 km · 36 h 09 m
By car542 km · 6 h 59 m

We found 9 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 · five legs
The coach takes care of the long stretch.
CarrierRideYour bike
🚌Wilson's Transportation (BC Connector)BC Ferries Connector — Vancouver / VictoriaDouglas St at Pandora Ave (Victoria) →Tsawwassen (Delta)70 kmRides in the hold — bagged or boxed$42 per bike — 50 lb maxReserve bike spot — recommended
⛴️ Downtown to downtown via the Tsawwassen–Swartz Bay ferry crossing.
🚎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.
Option two · five legs
The same idea as Option one, on different routes.
CarrierRideYour bike
🚌Wilson's Transportation (BC Connector)BC Ferries Connector — Vancouver / VictoriaDouglas St at Pandora Ave (Victoria) →Tsawwassen (Delta)70 kmRides in the hold — bagged or boxed$42 per bike — 50 lb maxReserve bike spot — recommended
⛴️ Downtown to downtown via the Tsawwassen–Swartz Bay ferry crossing.
🚎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 three · five legs
Another way: the same idea as Option one, on different routes.
CarrierRideYour bike
🚌Wilson's Transportation (BC Connector)BC Ferries Connector — Vancouver / VictoriaDouglas St at Pandora Ave (Victoria) →Tsawwassen (Delta)70 kmRides in the hold — bagged or boxed$42 per bike — 50 lb maxReserve bike spot — recommended
⛴️ Downtown to downtown via the Tsawwassen–Swartz Bay ferry crossing.
🚎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 four · six legs
A transport smorgasbord: city buses, ferry, SkyTrain, and coach buses.
CarrierRideYour bike
🚎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 five moreShow fewer
Option five · six legs
The same idea as Option four, on different routes.
CarrierRideYour bike
🚎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 · six legs
Another way: the same idea as Option four, on different routes.
CarrierRideYour bike
🚎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
A beautiful ferry ride with transit on both sides.
CarrierRideYour bike
🚎BC Transit66 CVX Cowichan - Victoria ExpressLegislature Exch (Belleville St) Bay G (Victoria) →Duncan54 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 eight · six legs
The same trip, but with Rider Express for the coach bus leg.
CarrierRideYour bike
🚎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
🚌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 9 · two legs✈ the splurge
Plane to Kelowna Airport, then a coach bus into Armstrong.
CarrierRideYour bike
🚲First, get from Central Victoria to YYJ (Victoria), about 25 km. Ride it, or take a local bus or taxi. If pedalling it doesn't appeal, Bluebird Cabs, Sidney Taxi might help.
✈️Pacific Coastal AirlinesVictoria – KelownaYYJ (Victoria) →Kelowna Airport329 kmRides in the hold — small aircraft, limited spaceAbout $105 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 Victoria (best: bus + SkyTrain + ferry)

Connections from Victoria: Salt Spring Island (best: bus + ferry) · Parksville (best: bus) · Salmon Arm (best: bus + 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 Victoria and Armstrong