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

For scale
As the crow flies346 km
Biking whole way501 km Β· 33 h 34 m
By car490 km Β· 6 h

We found 15 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
The coach takes care of the long stretch.
CarrierRideYour bike
⛴️BC FerriesTsawwassen – Southern Gulf IslandsVillage Bay (Mayne Island) β†’Tsawwassen (Delta)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.
🚎TransLink620 Bridgeport Station / Tsawwassen Ferryor the 900 Bike Bus (seasonal)Tsawwassen (Delta) β†’Bridgeport (Richmond)22 kmRack on the bus, free2 bikes β€” first come, first servedE-bikes OK
620 Bridgeport Station / Tsawwassen Ferry: 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.
900 Bike Bus: Seasonal: June 12 to September 7, Fridays, weekends and holidays; hourly, timed to ferry sailings. Carries 10 bikes.
🚝SkyTrainTransLinkBridgeport (Richmond) β†’Main Street-Science World (Vancouver)Roll on, free β€” 2 bikes per carAvoid rush hourE-bikes OK
🚲Travel the short hop from Main Street-Science World (Vancouver) to Pacific Central Station (Vancouver), about 0.2 km.
🚌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
⛴️BC FerriesTsawwassen – Southern Gulf IslandsVillage Bay (Mayne Island) β†’Tsawwassen (Delta)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.
🚎TransLink620 Bridgeport Station / Tsawwassen Ferryor the 900 Bike Bus (seasonal)Tsawwassen (Delta) β†’Bridgeport (Richmond)22 kmRack on the bus, free2 bikes β€” first come, first servedE-bikes OK
620 Bridgeport Station / Tsawwassen Ferry: 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.
900 Bike Bus: Seasonal: June 12 to September 7, Fridays, weekends and holidays; hourly, timed to ferry sailings. Carries 10 bikes.
🚝SkyTrainTransLinkBridgeport (Richmond) β†’Main Street-Science World (Vancouver)Roll on, free β€” 2 bikes per carAvoid rush hourE-bikes OK
🚲Travel the short hop from Main Street-Science World (Vancouver) to Pacific Central Station (Vancouver), about 0.2 km.
🚌EbusVancouver – Kamloopsor Rider Express (Vancouver – Calgary (Hwy 1))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
⛴️BC FerriesTsawwassen – Southern Gulf IslandsVillage Bay (Mayne Island) β†’Tsawwassen (Delta)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.
🚎TransLink620 Bridgeport Station / Tsawwassen Ferryor the 900 Bike Bus (seasonal)Tsawwassen (Delta) β†’Bridgeport (Richmond)22 kmRack on the bus, free2 bikes β€” first come, first servedE-bikes OK
620 Bridgeport Station / Tsawwassen Ferry: 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.
900 Bike Bus: Seasonal: June 12 to September 7, Fridays, weekends and holidays; hourly, timed to ferry sailings. Carries 10 bikes.
🚝SkyTrainTransLinkBridgeport (Richmond) β†’Main Street-Science World (Vancouver)Roll on, free β€” 2 bikes per carAvoid rush hourE-bikes OK
🚲Travel the short hop from Main Street-Science World (Vancouver) to Pacific Central Station (Vancouver), about 0.2 km.
🚌EbusVancouver – Calgary (Hwy 1)Pacific Central Station (Vancouver) β†’Chase352 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)Chase β†’Armstrong72 kmRides in the hold β€” bagged or cloth-wrapped (no plastic), or boxed$30 per bike
🚲You arrive at Armstrong.
Option four · six legs
Beautiful BC from a coach window.
CarrierRideYour bike
⛴️BC FerriesTsawwassen – Southern Gulf IslandsVillage Bay (Mayne Island) β†’Tsawwassen (Delta)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.
🚎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.
🚎TransLink351 White Rock Centre / Bridgeport StationBridgeport (Richmond) β†’White Rock Centre30 kmRack on the bus, free2 bikes β€” first come, first servedE-bikes OK
Express to the Canada Line at Bridgeport, seven days a week, with two bike-rack spots.
🚎TransLink321 White Rock / Newton / Surrey Central StationWhite Rock Centre β†’Surrey Central18 kmRack on the bus, free2 bikes β€” first come, first servedE-bikes OK
Daily service up King George Boulevard to Surrey Central SkyTrain, with two bike-rack spots.
🚲Travel the short hop from Surrey Central to Surrey (Guildford Rec Centre), about 3.4 km. If pedalling it doesn't appeal, Aldergrove-Langley Taxi Ltd., Green Cab might help.
🚌EbusVancouver – KelownaSurrey (Guildford Rec Centre) β†’Kelowna (Orchard Park Mall)307 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 11 moreShow fewer
Option five · six legs
The same idea as Option four, on different routes.
CarrierRideYour bike
⛴️BC FerriesTsawwassen – Southern Gulf IslandsVillage Bay (Mayne Island) β†’Tsawwassen (Delta)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.
🚎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.
🚎TransLink351 White Rock Centre / Bridgeport StationBridgeport (Richmond) β†’White Rock Centre30 kmRack on the bus, free2 bikes β€” first come, first servedE-bikes OK
Express to the Canada Line at Bridgeport, seven days a week, with two bike-rack spots.
🚎TransLink321 White Rock / Newton / Surrey Central StationWhite Rock Centre β†’Surrey Central18 kmRack on the bus, free2 bikes β€” first come, first servedE-bikes OK
Daily service up King George Boulevard to Surrey Central SkyTrain, with two bike-rack spots.
🚲Travel the short hop from Surrey Central to Surrey (Guildford Rec Centre), about 3.4 km.
🚌EbusVancouver – Kamloopsor Ebus (Vancouver – Calgary (Hwy 1)) or Rider Express (Vancouver – Calgary (Hwy 1))Surrey (Guildford Rec Centre) β†’Kamloops277 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)Kamloops β†’Armstrong121 kmRides in the hold β€” bagged or cloth-wrapped (no plastic), or boxed$30 per bike
🚲You arrive at Armstrong.
Option six · four legs
A ferry and three coach buses.
CarrierRideYour bike
⛴️BC FerriesTsawwassen – Southern Gulf IslandsVillage Bay (Mayne Island) β†’Tsawwassen (Delta)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.
🚌Wilson's Transportation (BC Connector)BC Ferries Connector β€” Vancouver / VictoriaTsawwassen (Delta) β†’Pacific Central Station (Vancouver)33 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.
🚌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 seven · four legs
The same idea as Option six, on different routes.
CarrierRideYour bike
⛴️BC FerriesTsawwassen – Southern Gulf IslandsVillage Bay (Mayne Island) β†’Tsawwassen (Delta)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.
🚌Wilson's Transportation (BC Connector)BC Ferries Connector β€” Vancouver / VictoriaTsawwassen (Delta) β†’Pacific Central Station (Vancouver)33 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.
🚌EbusVancouver – Kamloopsor Rider Express (Vancouver – Calgary (Hwy 1))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 eight · four legs
Another way: the same idea as Option six, on different routes.
CarrierRideYour bike
⛴️BC FerriesTsawwassen – Southern Gulf IslandsVillage Bay (Mayne Island) β†’Tsawwassen (Delta)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.
🚌Wilson's Transportation (BC Connector)BC Ferries Connector β€” Vancouver / VictoriaTsawwassen (Delta) β†’Pacific Central Station (Vancouver)33 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.
🚌EbusVancouver – Calgary (Hwy 1)Pacific Central Station (Vancouver) β†’Hudson Ave NE & 6 St NE (Salmon Arm)393 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.
🚌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 · four legs
Another way: the same idea as Option six, on different routes.
CarrierRideYour bike
⛴️BC FerriesTsawwassen – Southern Gulf IslandsVillage Bay (Mayne Island) β†’Tsawwassen (Delta)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.
🚌Wilson's Transportation (BC Connector)BC Ferries Connector β€” Vancouver / VictoriaTsawwassen (Delta) β†’Pacific Central Station (Vancouver)33 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.
🚌EbusVancouver – Calgary (Hwy 1)Pacific Central Station (Vancouver) β†’Chase352 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)Chase β†’Armstrong72 kmRides in the hold β€” bagged or cloth-wrapped (no plastic), or boxed$30 per bike
🚲You arrive at Armstrong.
Option 10 · four legs
Another way: the same idea as Option six, on different routes.
CarrierRideYour bike
⛴️BC FerriesSwartz Bay – Southern Gulf IslandsVillage Bay (Mayne Island) β†’Swartz Bay (North Saanich)19 kmRoll on, free β€” no reservation neededE-bikes OK β€” no charging on board
🚌Wilson's Transportation (BC Connector)BC Ferries Connector β€” Vancouver / VictoriaSwartz Bay (North Saanich) β†’Pacific Central Station (Vancouver)74 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.
🚌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 11 · four legs
Another way: the same idea as Option six, on different routes.
CarrierRideYour bike
⛴️BC FerriesSwartz Bay – Southern Gulf IslandsVillage Bay (Mayne Island) β†’Swartz Bay (North Saanich)19 kmRoll on, free β€” no reservation neededE-bikes OK β€” no charging on board
🚌Wilson's Transportation (BC Connector)BC Ferries Connector β€” Vancouver / VictoriaSwartz Bay (North Saanich) β†’Pacific Central Station (Vancouver)74 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.
🚌EbusVancouver – Kamloopsor Rider Express (Vancouver – Calgary (Hwy 1))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 12 · four legs
Another way: the same idea as Option six, on different routes.
CarrierRideYour bike
⛴️BC FerriesSwartz Bay – Southern Gulf IslandsVillage Bay (Mayne Island) β†’Swartz Bay (North Saanich)19 kmRoll on, free β€” no reservation neededE-bikes OK β€” no charging on board
🚌Wilson's Transportation (BC Connector)BC Ferries Connector β€” Vancouver / VictoriaSwartz Bay (North Saanich) β†’Pacific Central Station (Vancouver)74 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.
🚌EbusVancouver – Calgary (Hwy 1)Pacific Central Station (Vancouver) β†’Chase352 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)Chase β†’Armstrong72 kmRides in the hold β€” bagged or cloth-wrapped (no plastic), or boxed$30 per bike
🚲You arrive at Armstrong.
Option 13 · four legs
Another way: the same idea as Option six, on different routes.
CarrierRideYour bike
⛴️BC FerriesSwartz Bay – Southern Gulf IslandsVillage Bay (Mayne Island) β†’Swartz Bay (North Saanich)19 kmRoll on, free β€” no reservation neededE-bikes OK β€” no charging on board
🚌Wilson's Transportation (BC Connector)BC Ferries Connector β€” Vancouver / VictoriaSwartz Bay (North Saanich) β†’Pacific Central Station (Vancouver)74 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.
🚌EbusVancouver – Calgary (Hwy 1)Pacific Central Station (Vancouver) β†’Hudson Ave NE & 6 St NE (Salmon Arm)393 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.
🚌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 14 · five legs📅 seasonal
Another way: the same idea as Option one, on different routes.
CarrierRideYour bike
⛴️BC FerriesTsawwassen – Southern Gulf IslandsVillage Bay (Mayne Island) β†’Tsawwassen (Delta)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.
🚎TransLink900 Bike BusTsawwassen (Delta) β†’Bridgeport (Richmond)22 kmRack on the bus, free2 bikes β€” first come, first servedE-bikes OK
Seasonal: June 12 to September 7, Fridays, weekends and holidays; hourly, timed to ferry sailings. Carries 10 bikes.
🚝SkyTrainTransLinkBridgeport (Richmond) β†’Main Street-Science World (Vancouver)Roll on, free β€” 2 bikes per carAvoid rush hourE-bikes OK
🚲Travel the short hop from Main Street-Science World (Vancouver) to Pacific Central Station (Vancouver), about 0.2 km.
🚌EbusVancouver – Calgary (Hwy 1)Pacific Central Station (Vancouver) β†’Hudson Ave NE & 6 St NE (Salmon Arm)393 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.
🚌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 15 · three legs✈ the splurge
The splurge: hop a flight.
CarrierRideYour bike
⛴️BC FerriesSwartz Bay – Southern Gulf IslandsVillage Bay (Mayne Island) β†’Swartz Bay (North Saanich)19 kmRoll on, free β€” no reservation neededE-bikes OK β€” no charging on board
🚲Travel the short hop from Swartz Bay (North Saanich) to YYJ (Victoria), about 4.7 km.
✈️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 October 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 Mayne Island (best: bus + SkyTrain + ferry)

Connections from Mayne Island: Chemainus (best: ferry + bus) · Chilliwack (best: ferry + bus + SkyTrain) · Salmon Arm (best: ferry + bus + SkyTrain) · Whitehorse, YT (best: ferry + bus + SkyTrain)

Connections from Armstrong: Sicamous (best: bus) · Harrison Hot Springs (best: bus) · Quesnel (best: bus) · Whitehorse, YT (best: bus + plane)

Check out BC Bike Stops in Mayne Island and Armstrong