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 Salmo to Mayne Island.

For scale
As the crow flies442 km
Biking whole way660 km · 46 h 18 m
By car694 km · 8 h 29 m

We found five ways to get you there, ferries doing the heavy lifting.

🎒 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
A transport smorgasbord: city buses, coach bus, SkyTrain, and ferry.
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 →Bridgeport (Richmond)Roll on, free — 2 bikes per carAvoid rush hourE-bikes OK
🚎TransLink620 Bridgeport Station / Tsawwassen Ferryor the 900 Bike Bus (seasonal)Bridgeport (Richmond) →Tsawwassen (Delta)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.
⛴️BC FerriesTsawwassen – Southern Gulf IslandsTsawwassen (Delta) →Village Bay (Mayne Island)32 kmRoll on, free — no reservation neededE-bikes OK — no charging on board
Sailing times vary a lot by routing: some trips are about 50 minutes, others run 2 to 3 hours via Swartz Bay. Check the specific sailing before you book.
🚲You arrive at Village Bay (Mayne Island).
Option two · five 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 →Bridgeport (Richmond)Roll on, free — 2 bikes per carAvoid rush hourE-bikes OK
🚎TransLink620 Bridgeport Station / Tsawwassen FerryBridgeport (Richmond) →Tsawwassen (Delta)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.
⛴️BC FerriesTsawwassen – Southern Gulf IslandsTsawwassen (Delta) →Village Bay (Mayne Island)32 kmRoll on, free — no reservation neededE-bikes OK — no charging on board
Sailing times vary a lot by routing: some trips are about 50 minutes, others run 2 to 3 hours via Swartz Bay. Check the specific sailing before you book.
🚲You arrive at Village Bay (Mayne Island).
Option three · five legs⚠ doesn't run every day — check the schedule
Another way: same as Option one, but a coach bus instead of the city bus.
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)Calgary AB →Pacific Central Station (Vancouver)783 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.
🚝SkyTrainTransLinkPacific Central Station (Vancouver) →Bridgeport (Richmond)Roll on, free — 2 bikes per carAvoid rush hourE-bikes OK
🚎TransLink620 Bridgeport Station / Tsawwassen FerryBridgeport (Richmond) →Tsawwassen (Delta)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.
⛴️BC FerriesTsawwassen – Southern Gulf IslandsTsawwassen (Delta) →Village Bay (Mayne Island)32 kmRoll on, free — no reservation neededE-bikes OK — no charging on board
Sailing times vary a lot by routing: some trips are about 50 minutes, others run 2 to 3 hours via Swartz Bay. Check the specific sailing before you book.
🚲You arrive at Village Bay (Mayne Island).
Option four · six legs⚠ doesn't run every day — check the schedule
Halfway across the province, no car required.
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.
🚌Rider ExpressVancouver – Calgary (Hwy 1)Calgary AB →Chilliwack690 kmRides in the hold — bagged, wrapped, or boxed$50 per bike — non-refundable
🚲Travel the short hop from Chilliwack to Downtown Chilliwack Bay B, about 1.3 km. If pedalling it doesn't appeal, Chilliwack Taxi might help.
🚎BC Transit66 Fraser Valley ExpressDowntown Chilliwack Bay B →Lougheed Stn Bay 5 (Burnaby)76 kmRack on the bus, free — 2 bikes · first come, first servedE-bikes OK
🚝SkyTrainTransLinkLougheed Stn Bay 5 (Burnaby) →Bridgeport (Richmond)Roll on, free — 2 bikes per carAvoid rush hourE-bikes OK
🚎TransLink620 Bridgeport Station / Tsawwassen FerryBridgeport (Richmond) →Tsawwassen (Delta)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.
⛴️BC FerriesTsawwassen – Southern Gulf IslandsTsawwassen (Delta) →Village Bay (Mayne Island)32 kmRoll on, free — no reservation neededE-bikes OK — no charging on board
Sailing times vary a lot by routing: some trips are about 50 minutes, others run 2 to 3 hours via Swartz Bay. Check the specific sailing before you book.
🚲You arrive at Village Bay (Mayne Island).
Option five · five legs✈ the splurge⚠ doesn't run every day — check the schedule
One long leg does most of the travelling.
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
✈️Pacific Coastal AirlinesVancouver – VictoriaVancouver Airport (YVR) (Richmond) →YYJ (Victoria)63 kmRides in the hold — small aircraft, limited spaceAbout $105 per directionNo e-bikes
🚲Travel the short hop from YYJ (Victoria) to Swartz Bay (North Saanich), about 4.7 km. If pedalling it doesn't appeal, Bluebird Cabs, Sidney Taxi might help.
⛴️BC FerriesSwartz Bay – Southern Gulf IslandsSwartz Bay (North Saanich) →Village Bay (Mayne Island)19 kmRoll on, free — no reservation neededE-bikes OK — no charging on board
🚲You arrive at Village Bay (Mayne Island).
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: Mayne Island to Salmo (best: ferry + bus + SkyTrain)

Connections from Salmo: Castlegar (best: bus) · Kamloops (best: bus) · Gibsons (best: bus + ferry) · Haida Gwaii (best: bus + train + ferry)

Connections from Mayne Island: North Cowichan (Chemainus & Crofton) (best: ferry + bus) · Abbotsford (best: ferry + bus + SkyTrain) · Armstrong (best: ferry + bus + SkyTrain) · New Hazelton (best: ferry + bus + SkyTrain)

Check out BC Bike Stops in Salmo and Mayne Island