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 Haines, AK to Duncan (Cowichan Valley).

For scale
As the crow flies1,394 km
Biking whole wayno route found
By carno route found

We found eight 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 · four legs⚠ doesn't run every day — check the schedule
Halfway across the province, no car required.
CarrierRideYour bike
⛴️Alaska Marine HighwayBellingham – Haines – SkagwayHaines Ferry Terminal AK β†’Bellingham Cruise Terminal WA (Bellingham WA)1445 kmRoll on, ready to ride β€” no boxed or taken-apart bikesBike fare β€” not published; call 1-800-642-0066E-bikes OK β€” push it on and off the ramp
Weekly in winter, about four days between Bellingham and Skagway. Bikes roll on ready to ride, not boxed; call to book the bike fare. Passport required.
🚲Travel the short hop from Bellingham Cruise Terminal WA (Bellingham WA) to Bellingham WA, about 4.2 km.
🚌FlixBus (operated by MTRWestern)Vancouver – Seattle via Bellingham & EverettBellingham WA β†’Seattle Downtown WA131 kmRack on the bus β€” space not guaranteedAbout $19–37Book bike as add-onNo e-bikes, tandems or trailers
⛴️Victoria ClipperVictoria Clipper (Victoria - Seattle)Seattle Downtown WA β†’Victoria Belleville Terminal119 kmReserve ahead by phone β€” space very limited, first booked first served$30 USD each way β€” about $41 CADRides on the open deck β€” bags and accessories off; waiver at check-in
Daily year-round, with extra sailings in summer. Bike space is very limited; reserve by phone when you book. Passport required.
🚲Travel the short hop from Victoria Belleville Terminal to Legislature Exch (Belleville St) Bay G (Victoria), about 0.7 km. If pedalling it doesn't appeal, Bluebird Cabs, Sidney Taxi might help.
🚎BC Transit66 CVX Cowichan - Victoria ExpressLegislature Exch (Belleville St) Bay G (Victoria) β†’Hwy 1 & Boys Rd (Duncan)46 kmFront rack, no fee β€” 2 bikes, first come; space not guaranteedE-bikes under 25 kg only β€” lithium battery off the bike and carried on board
🚲You arrive at Hwy 1 & Boys Rd (Duncan).
Option two · four legs⚠ doesn't run every day — check the schedule
The same trip, but with Hullo for the ferry leg.
CarrierRideYour bike
⛴️Alaska Marine HighwayBellingham – Haines – SkagwayHaines Ferry Terminal AK β†’Bellingham Cruise Terminal WA (Bellingham WA)1445 kmRoll on, ready to ride β€” no boxed or taken-apart bikesBike fare β€” not published; call 1-800-642-0066E-bikes OK β€” push it on and off the ramp
Weekly in winter, about four days between Bellingham and Skagway. Bikes roll on ready to ride, not boxed; call to book the bike fare. Passport required.
🚲Travel the short hop from Bellingham Cruise Terminal WA (Bellingham WA) to Bellingham WA, about 4.2 km.
🚌FlixBus (operated by MTRWestern)Vancouver – Seattle via Bellingham & EverettBellingham WA β†’Vancouver Canada Place75 kmRack on the bus β€” space not guaranteedAbout $19–37Book bike as add-onNo e-bikes, tandems or trailers
🚲Travel the short hop from Vancouver Canada Place to CXH (Vancouver), about 0.8 km. If pedalling it doesn't appeal, Black Top Cabs, Maclure'S Cabs might help.
⛴️HulloHullo (Nanaimo – Vancouver)CXH (Vancouver) β†’Hullo Nanaimo Terminal (Port Way)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 Hullo Nanaimo Terminal (Port Way) to Bay D at Downtown Nanaimo Exch, about 1.4 km. If pedalling it doesn't appeal, A.C. Taxi, Yellow Cab Nanaimo might help.
🚎BC Transit70 NCX Nanaimo - Cowichan ExpressBay D at Downtown Nanaimo Exch β†’Duncan46 kmFront rack, no fee β€” 2 bikes, first come; space not guaranteedE-bikes under 25 kg only β€” lithium battery off the bike and carried on board
🚲You arrive at Duncan.
Option three · four legs⚠ doesn't run every day — check the schedule
Same as Option one, but a coach bus instead of the ferry.
CarrierRideYour bike
⛴️Alaska Marine HighwayBellingham – Haines – SkagwayHaines Ferry Terminal AK β†’Bellingham Cruise Terminal WA (Bellingham WA)1445 kmRoll on, ready to ride β€” no boxed or taken-apart bikesBike fare β€” not published; call 1-800-642-0066E-bikes OK β€” push it on and off the ramp
Weekly in winter, about four days between Bellingham and Skagway. Bikes roll on ready to ride, not boxed; call to book the bike fare. Passport required.
🚲Travel the short hop from Bellingham Cruise Terminal WA (Bellingham WA) to Bellingham WA, about 4.2 km.
🚌FlixBus (operated by MTRWestern)Vancouver – Seattle via Bellingham & EverettBellingham WA β†’Pacific Central Station (Vancouver)74 kmRack on the bus β€” space not guaranteedAbout $19–37Book bike as add-onNo e-bikes, tandems or trailers
🚌Wilson's Transportation (BC Connector)BC Ferries Connector β€” Vancouver / VictoriaPacific Central Station (Vancouver) β†’Douglas St at Pandora Ave (Victoria)103 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.
🚲Travel the short hop from Douglas St at Pandora Ave (Victoria) to Legislature Exch (Belleville St) Bay G (Victoria), about 1.3 km.
🚎BC Transit66 CVX Cowichan - Victoria ExpressLegislature Exch (Belleville St) Bay G (Victoria) β†’Hwy 1 & Boys Rd (Duncan)46 kmFront rack, no fee β€” 2 bikes, first come; space not guaranteedE-bikes under 25 kg only β€” lithium battery off the bike and carried on board
🚲You arrive at Hwy 1 & Boys Rd (Duncan).
Option four · five legs⚠ doesn't run every day — check the schedule
Option one, plus a city bus at the finish.
CarrierRideYour bike
⛴️Alaska Marine HighwayBellingham – Haines – SkagwayHaines Ferry Terminal AK β†’Bellingham Cruise Terminal WA (Bellingham WA)1445 kmRoll on, ready to ride β€” no boxed or taken-apart bikesBike fare β€” not published; call 1-800-642-0066E-bikes OK β€” push it on and off the ramp
Weekly in winter, about four days between Bellingham and Skagway. Bikes roll on ready to ride, not boxed; call to book the bike fare. Passport required.
🚲Travel the short hop from Bellingham Cruise Terminal WA (Bellingham WA) to Bellingham WA, about 4.2 km.
🚌FlixBus (operated by MTRWestern)Vancouver – Seattle via Bellingham & EverettBellingham WA β†’Seattle Downtown WA131 kmRack on the bus β€” space not guaranteedAbout $19–37Book bike as add-onNo e-bikes, tandems or trailers
⛴️Victoria ClipperVictoria Clipper (Victoria - Seattle)Seattle Downtown WA β†’Victoria Belleville Terminal119 kmReserve ahead by phone β€” space very limited, first booked first served$30 USD each way β€” about $41 CADRides on the open deck β€” bags and accessories off; waiver at check-in
Daily year-round, with extra sailings in summer. Bike space is very limited; reserve by phone when you book. Passport required.
🚲Travel the short hop from Victoria Belleville Terminal to Douglas & Finlayson - Mayfair (Victoria), about 2.6 km.
🚎BC Transit99 SVX Shawnigan Lake - Victoria ExpressDouglas & Finlayson - Mayfair (Victoria) β†’Deloume Park & Ride (Mill Bay)34 kmFront rack, no fee β€” 2 bikes, first come; space not guaranteedE-bikes under 25 kg only β€” lithium battery off the bike and carried on board
🚎BC Transit8 Mill Bay via Telegraph Rd/Duncan via Shawnigan Lkor the 9 Mill Bay via Shawnigan Lk/Duncan via Telegraph RdDeloume Park & Ride (Mill Bay) β†’Duncan17 kmFront rack, no fee β€” 2 bikes, first come; space not guaranteedE-bikes under 25 kg only β€” lithium battery off the bike and carried on board
🚲You arrive at Duncan.
Show four moreShow fewer
Option five · seven legs⚠ doesn't run every day — check the schedule
The ferry is the main event.
CarrierRideYour bike
⛴️Alaska Marine HighwayBellingham – Haines – SkagwayHaines Ferry Terminal AK β†’Bellingham Cruise Terminal WA (Bellingham WA)1445 kmRoll on, ready to ride β€” no boxed or taken-apart bikesBike fare β€” not published; call 1-800-642-0066E-bikes OK β€” push it on and off the ramp
Weekly in winter, about four days between Bellingham and Skagway. Bikes roll on ready to ride, not boxed; call to book the bike fare. Passport required.
🚲Travel the short hop from Bellingham Cruise Terminal WA (Bellingham WA) to Bellingham WA, about 4.2 km.
🚌FlixBus (operated by MTRWestern)Vancouver – Seattle via Bellingham & EverettBellingham WA β†’Pacific Central Station (Vancouver)74 kmRack on the bus β€” space not guaranteedAbout $19–37Book bike as add-onNo e-bikes, tandems or trailers
🚝SkyTrainTransLinkPacific Central Station (Vancouver) β†’Stadium-Chinatown (Vancouver)Roll on, free β€” 2 bikes per carAvoid rush hourE-bikes OK
🚎TransLink257 Horseshoe Bay ExpressStadium-Chinatown (Vancouver) β†’Horseshoe Bay17 kmRack on the bus, free2 bikes β€” first come, first servedE-bikes OK
⛴️BC FerriesHorseshoe Bay – Departure BayHorseshoe Bay β†’Departure Bay (Nanaimo)53 kmRoll on, free β€” no reservation neededE-bikes OK β€” no charging on board
🚎BC Transit20/20A Hammond Bay / Doveror the 25 Ferry ShuttleDeparture Bay (Nanaimo) β†’Downtown Nanaimo Exchange3.3 kmFront rack, no fee β€” 2 bikes, first come; space not guaranteedE-bikes under 25 kg only β€” lithium battery off the bike and carried on board
🚲Travel the short hop from Downtown Nanaimo Exchange to Bay D at Downtown Nanaimo Exch, about 0.5 km.
🚎BC Transit70 NCX Nanaimo - Cowichan ExpressBay D at Downtown Nanaimo Exch β†’Duncan46 kmFront rack, no fee β€” 2 bikes, first come; space not guaranteedE-bikes under 25 kg only β€” lithium battery off the bike and carried on board
🚲You arrive at Duncan.
Option six · seven legs⚠ doesn't run every day — check the schedule
The same idea as Option five, on different routes.
CarrierRideYour bike
⛴️Alaska Marine HighwayBellingham – Haines – SkagwayHaines Ferry Terminal AK β†’Bellingham Cruise Terminal WA (Bellingham WA)1445 kmRoll on, ready to ride β€” no boxed or taken-apart bikesBike fare β€” not published; call 1-800-642-0066E-bikes OK β€” push it on and off the ramp
Weekly in winter, about four days between Bellingham and Skagway. Bikes roll on ready to ride, not boxed; call to book the bike fare. Passport required.
🚲Travel the short hop from Bellingham Cruise Terminal WA (Bellingham WA) to Bellingham WA, about 4.2 km.
🚌FlixBus (operated by MTRWestern)Vancouver – Seattle via Bellingham & EverettBellingham WA β†’Pacific Central Station (Vancouver)74 kmRack on the bus β€” space not guaranteedAbout $19–37Book bike as add-onNo e-bikes, tandems or trailers
🚝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 – Swartz BayTsawwassen (Delta) β†’Swartz Bay (North Saanich)41 kmRoll on, free β€” no reservation neededE-bikes OK β€” no charging on board
🚎BC Transit70 Swartz Bay / Downtownor the 72 Swartz Bay / Downtown (via Saanichton)Swartz Bay (North Saanich) β†’Douglas St at Pandora Ave (Victoria)29 kmFront rack, no fee β€” 2 bikes, first come; space not guaranteedE-bikes under 25 kg only β€” lithium battery off the bike and carried on board
🚲Travel the short hop from Douglas St at Pandora Ave (Victoria) to Legislature Exch (Belleville St) Bay G (Victoria), about 1.3 km.
🚎BC Transit66 CVX Cowichan - Victoria ExpressLegislature Exch (Belleville St) Bay G (Victoria) β†’Hwy 1 & Boys Rd (Duncan)46 kmFront rack, no fee β€” 2 bikes, first come; space not guaranteedE-bikes under 25 kg only β€” lithium battery off the bike and carried on board
🚲You arrive at Hwy 1 & Boys Rd (Duncan).
Option seven · six legs⚠ doesn't run every day — check the schedule
A long haul, but it all connects.
CarrierRideYour bike
⛴️Alaska Marine HighwayBellingham – Haines – SkagwayHaines Ferry Terminal AK β†’Bellingham Cruise Terminal WA (Bellingham WA)1445 kmRoll on, ready to ride β€” no boxed or taken-apart bikesBike fare β€” not published; call 1-800-642-0066E-bikes OK β€” push it on and off the ramp
Weekly in winter, about four days between Bellingham and Skagway. Bikes roll on ready to ride, not boxed; call to book the bike fare. Passport required.
🚲Travel the short hop from Bellingham Cruise Terminal WA (Bellingham WA) to Bellingham WA, about 4.2 km.
🚌FlixBus (operated by MTRWestern)Vancouver – Seattle via Bellingham & EverettBellingham WA β†’Seattle Downtown WA131 kmRack on the bus β€” space not guaranteedAbout $19–37Book bike as add-onNo e-bikes, tandems or trailers
⛴️Victoria ClipperVictoria Clipper (Victoria - Seattle)Seattle Downtown WA β†’Victoria Belleville Terminal119 kmReserve ahead by phone β€” space very limited, first booked first served$30 USD each way β€” about $41 CADRides on the open deck β€” bags and accessories off; waiver at check-in
Daily year-round, with extra sailings in summer. Bike space is very limited; reserve by phone when you book. Passport required.
🚲Travel the short hop from Victoria Belleville Terminal to Legislature Exch (Belleville St) Bay G (Victoria), about 0.7 km.
🚎BC Transit75 Saanichton / Royal Oak / DowntownLegislature Exch (Belleville St) Bay G (Victoria) β†’Brentwood Bay20 kmFront rack, no fee β€” 2 bikes, first come; space not guaranteedE-bikes under 25 kg only β€” lithium battery off the bike and carried on board
⛴️BC FerriesBrentwood Bay – Mill BayBrentwood Bay β†’Deloume Park & Ride (Mill Bay)12 kmRoll on, free β€” no reservation neededE-bikes OK β€” no charging on board
Daily, with fewer sailings on Sundays.
🚎BC Transit8 Mill Bay via Telegraph Rd/Duncan via Shawnigan Lkor the 9 Mill Bay via Shawnigan Lk/Duncan via Telegraph RdDeloume Park & Ride (Mill Bay) β†’Duncan17 kmFront rack, no fee β€” 2 bikes, first come; space not guaranteedE-bikes under 25 kg only β€” lithium battery off the bike and carried on board
🚲You arrive at Duncan.
Option eight · four legs✈ the splurge⚠ doesn't run every day — check the schedule
Same as Option one, but a plane instead of the ferry.
CarrierRideYour bike
⛴️Alaska Marine HighwayBellingham – Haines – SkagwayHaines Ferry Terminal AK β†’Bellingham Cruise Terminal WA (Bellingham WA)1445 kmRoll on, ready to ride β€” no boxed or taken-apart bikesBike fare β€” not published; call 1-800-642-0066E-bikes OK β€” push it on and off the ramp
Weekly in winter, about four days between Bellingham and Skagway. Bikes roll on ready to ride, not boxed; call to book the bike fare. Passport required.
🚲Travel the short hop from Bellingham Cruise Terminal WA (Bellingham WA) to Bellingham WA, about 4.2 km.
🚌FlixBus (operated by MTRWestern)Vancouver – Seattle via Bellingham & EverettBellingham WA β†’Vancouver Canada Place75 kmRack on the bus β€” space not guaranteedAbout $19–37Book bike as add-onNo e-bikes, tandems or trailers
🚲Travel the short hop from Vancouver Canada Place to CXH (Vancouver), about 0.8 km.
πŸ›©οΈHarbour AirVancouver Harbour – Victoria HarbourCXH (Vancouver) β†’Victoria Belleville Terminal98 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 Victoria Belleville Terminal to Legislature Exch (Belleville St) Bay G (Victoria), about 0.7 km.
🚎BC Transit66 CVX Cowichan - Victoria ExpressLegislature Exch (Belleville St) Bay G (Victoria) β†’Hwy 1 & Boys Rd (Duncan)46 kmFront rack, no fee β€” 2 bikes, first come; space not guaranteedE-bikes under 25 kg only β€” lithium battery off the bike and carried on board
🚲You arrive at Hwy 1 & Boys Rd (Duncan).
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: Duncan (Cowichan Valley) to Haines, AK (best: bus + ferry)

Connections from Haines, AK: Whitehorse, YT (best: ferry + bus + SkyTrain) · Ucluelet (best: ferry + bus + carpool) · Harrison Hot Springs (best: ferry + bus + SkyTrain) · Fernie (best: ferry + bus)

Connections from Duncan (Cowichan Valley): Galiano Island (best: bus + ferry) · Courtenay (Comox Valley) (best: bus + carpool) · Enderby (best: bus + ferry + SkyTrain) · Whitehorse, YT (best: bus + ferry + SkyTrain)

Check out BC Bike Stops in Duncan (Cowichan Valley)