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 Saanich to Sparwood.
For scale
As the crow flies634 km
Biking whole wayWe can't compute the bike route from the ferry dock but it may be rideable: please consult other sources.
By car1,048 km · 12 h 41 m
We found 10 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⚠ doesn't run every day — check the schedule
Grab a window seat, the scenery's included.
CarrierRideYour bike
🚲Travel the short hop from Douglas St at Kelvin Rd (Saanich) to Douglas St at Pandora Ave (Victoria), about 2.5 km.
🚌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) →New WestminsterRoll on, free — 2 bikes per carAvoid rush hourE-bikes OK
🚌Mountain Man Mike'sKaslo – VancouverNew Westminster →1680 Hwy 3A/6 (Nelson)495 kmBikes acceptedCall for a quote — fee and packaging arranged with the booking agent
Runs once a week; hop-on hop-off along the way.
🚌Mountain Man Mike'sKaslo – Calgaryor Mountain Man Mike's (Kaslo – Cranbrook – Calgary (weekly)) (doesn't run every day)1680 Hwy 3A/6 (Nelson) →Sparwood240 kmBikes acceptedCall for a quote — fee and packaging arranged with the booking agent
Runs once a week, continuing east into Alberta.
🚲You arrive at Sparwood.
Option two · five legs⚠ doesn't run every day — check the schedule
The same trip, but with Ebus for the coach bus leg.
CarrierRideYour bike
🚲Travel the short hop from Douglas St at Kelvin Rd (Saanich) to Douglas St at Pandora Ave (Victoria), about 2.5 km.
🚌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) →Calgary AB783 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.
🚌Mountain Man Mike'sKaslo – Cranbrook – Calgary (weekly)Calgary AB →Sparwood275 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.
🚲You arrive at Sparwood.
Option three · six legs⚠ doesn't run every day — check the schedule
A little bit of everything.
CarrierRideYour bike
🚲Travel the short hop from Douglas St at Kelvin Rd (Saanich) to Douglas St at Pandora Ave (Victoria), about 2.5 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) →New WestminsterRoll on, free — 2 bikes per carAvoid rush hourE-bikes OK
🚌Mountain Man Mike'sKaslo – VancouverNew Westminster →1680 Hwy 3A/6 (Nelson)495 kmBikes acceptedCall for a quote — fee and packaging arranged with the booking agent
Runs once a week; hop-on hop-off along the way.
🚌Mountain Man Mike'sKaslo – Calgaryor Mountain Man Mike's (Kaslo – Cranbrook – Calgary (weekly)) (doesn't run every day)1680 Hwy 3A/6 (Nelson) →Sparwood240 kmBikes acceptedCall for a quote — fee and packaging arranged with the booking agent
Runs once a week, continuing east into Alberta.
🚲You arrive at Sparwood.
Option four · six legs⚠ doesn't run every day — check the schedule
Mountain Man Mike's will get you there.
CarrierRideYour bike
🚎BC Transit66 CVX Cowichan - Victoria ExpressHwy 1 & Tillicum (Saanich) →Duncan49 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 →New WestminsterRoll on, free — 2 bikes per carAvoid rush hourE-bikes OK
🚌Mountain Man Mike'sKaslo – VancouverNew Westminster →1680 Hwy 3A/6 (Nelson)495 kmBikes acceptedCall for a quote — fee and packaging arranged with the booking agent
Runs once a week; hop-on hop-off along the way.
🚌Mountain Man Mike'sKaslo – Calgaryor Mountain Man Mike's (Kaslo – Cranbrook – Calgary (weekly)) (doesn't run every day)1680 Hwy 3A/6 (Nelson) →Sparwood240 kmBikes acceptedCall for a quote — fee and packaging arranged with the booking agent
Runs once a week, continuing east into Alberta.
🚲You arrive at Sparwood.
Show six moreShow fewer
Option five · six legs⚠ doesn't run every day — check the schedule
Another way: the same trip, but with Ebus for the coach bus leg.
CarrierRideYour bike
🚲Travel the short hop from Douglas St at Kelvin Rd (Saanich) to Douglas St at Pandora Ave (Victoria), about 2.5 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) →Calgary AB783 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.
🚌Mountain Man Mike'sKaslo – Cranbrook – Calgary (weekly)Calgary AB →Sparwood275 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.
🚲You arrive at Sparwood.
Option six · six legs⚠ doesn't run every day — check the schedule
The same idea as Option three, on different routes.
CarrierRideYour bike
🚲First, get from Central Saanich to Royal Oak Exch Bay H (Saanich), about 5.5 km. Ride it, or take a local bus or taxi.
🚎BC Transit76 Swartz Bay / UVicRoyal Oak Exch Bay H (Saanich) →Swartz Bay (North Saanich)21 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) →New WestminsterRoll on, free — 2 bikes per carAvoid rush hourE-bikes OK
🚌Mountain Man Mike'sKaslo – VancouverNew Westminster →1680 Hwy 3A/6 (Nelson)495 kmBikes acceptedCall for a quote — fee and packaging arranged with the booking agent
Runs once a week; hop-on hop-off along the way.
🚌Mountain Man Mike'sKaslo – Calgaryor Mountain Man Mike's (Kaslo – Cranbrook – Calgary (weekly)) (doesn't run every day)1680 Hwy 3A/6 (Nelson) →Sparwood240 kmBikes acceptedCall for a quote — fee and packaging arranged with the booking agent
Runs once a week, continuing east into Alberta.
🚲You arrive at Sparwood.
Option seven · six legs⚠ doesn't run every day — check the schedule
Another way: the same trip, but with Ebus for the coach bus leg.
CarrierRideYour bike
🚎BC Transit66 CVX Cowichan - Victoria ExpressHwy 1 & Tillicum (Saanich) →Duncan49 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) →Calgary AB783 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.
🚌Mountain Man Mike'sKaslo – Cranbrook – Calgary (weekly)Calgary AB →Sparwood275 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.
🚲You arrive at Sparwood.
Option eight · six legs⚠ doesn't run every day — check the schedule
Another way: the same trip, but with Ebus for the coach bus leg.
CarrierRideYour bike
🚲First, get from Central Saanich to Royal Oak Exch Bay H (Saanich), about 5.5 km. Ride it, or take a local bus or taxi.
🚎BC Transit76 Swartz Bay / UVicRoyal Oak Exch Bay H (Saanich) →Swartz Bay (North Saanich)21 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) →Calgary AB783 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.
🚌Mountain Man Mike'sKaslo – Cranbrook – Calgary (weekly)Calgary AB →Sparwood275 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.
🚲You arrive at Sparwood.
Option 9 · seven legs⚠ doesn't run every day — check the schedule
Every leg of this works, there are just a lot of them.
CarrierRideYour bike
🚲Travel the short hop from Douglas St at Kelvin Rd (Saanich) to Douglas St at Pandora Ave (Victoria), about 2.5 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) →Lougheed Stn Bay 5 (Burnaby)Roll on, free — 2 bikes per carAvoid rush hourE-bikes OK
🚎BC Transit66 Fraser Valley ExpressLougheed Stn Bay 5 (Burnaby) →Downtown Chilliwack Bay B76 kmRack on the bus, free — 2 bikes · first come, first servedE-bikes OK
🚲Travel the short hop from Downtown Chilliwack Bay B to Chilliwack, about 1.3 km. If pedalling it doesn't appeal, Chilliwack Taxi might help.
🚌Rider ExpressVancouver – Calgary (Hwy 1)Chilliwack →Calgary AB690 kmRides in the hold — bagged, wrapped, or boxed$50 per bike — non-refundable
🚌Mountain Man Mike'sKaslo – Cranbrook – Calgary (weekly)Calgary AB →Sparwood275 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.
🚲You arrive at Sparwood.
Option 10 · four legs✈ the splurge⚠ doesn't run every day — check the schedule
Two flights, a SkyTrain, and a coach bus.
CarrierRideYour bike
🚲Travel the short hop from Douglas St at Kelvin Rd (Saanich) to Victoria Harbour, about 3.2 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
✈️Flair AirlinesVancouver (YVR) – Calgary (YYC)Vancouver Airport (YVR) (Richmond) →Calgary AB683 kmRides in the hold — boxed, bagged, or wrappedBike feeReserve bike spotNo e-bikes
🚌Mountain Man Mike'sKaslo – Cranbrook – Calgary (weekly)Calgary AB →Sparwood275 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.
🚲You arrive at Sparwood.
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: Sparwood to Saanich (best: bus + SkyTrain + ferry)
Connections from Saanich: Salt Spring Island (best: bus + ferry) · Seattle, WA (best: bus + SkyTrain + train) · Enderby (best: bus + SkyTrain) · Prince Rupert (best: bus + rental car + ferry)
Connections from Sparwood: Cranbrook (best: bus) · Clearwater (best: bus) · Galiano Island (best: bus + SkyTrain + ferry) · Haida Gwaii (best: bus + train + ferry)