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 Duncan (Cowichan Valley) to Williams Lake.
For scale
As the crow flies389 km
Biking whole way720 km · 50 h 14 m
By car683 km · 8 h 52 m
We found five ways to get you there.
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 little bit of everything.
CarrierRideYour bike
🚎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 – Kamloopsor Ebus (Vancouver – Calgary (Hwy 1)) or 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 – Prince GeorgeKamloops →Williams Lake253 kmRides in the hold — bagged or cloth-wrapped (no plastic), or boxed$30 per bike
Runs Wed/Fri/Sun toward Prince George and Mon/Thu/Sat toward Kamloops; no service on Tuesdays.
🚲You arrive at Williams Lake.
Option two · six legs⚠ doesn't run every day — check the schedule
Grab a window seat, the scenery's included.
CarrierRideYour bike
🚎BC Transit66 CVX Cowichan - Victoria ExpressHwy 1 & Boys Rd (North Cowichan) →Legislature Terminal (Victoria)46 kmRack on the bus, free — 2 bikes · first come, first servedE-bikes OK
🚲Travel the short hop from Legislature Terminal (Victoria) to Douglas St at Pandora Ave (Victoria), about 1.3 km. If pedalling it doesn't appeal, Bluebird Cabs, Sidney Taxi might help.
🚌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 Ferryor the 900 Bike Bus (seasonal)Tsawwassen (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 – Prince GeorgeKamloops →Williams Lake253 kmRides in the hold — bagged or cloth-wrapped (no plastic), or boxed$30 per bike
Runs Wed/Fri/Sun toward Prince George and Mon/Thu/Sat toward Kamloops; no service on Tuesdays.
🚲You arrive at Williams Lake.
Option three · six legs⚠ doesn't run every day — check the schedule
A ferry in the middle ties it all together.
CarrierRideYour bike
🚎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 →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 B77 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 →Kamloops209 kmRides in the hold — bagged, wrapped, or boxed$50 per bike — non-refundable
🚌EbusKamloops – Prince GeorgeKamloops →Williams Lake253 kmRides in the hold — bagged or cloth-wrapped (no plastic), or boxed$30 per bike
Runs Wed/Fri/Sun toward Prince George and Mon/Thu/Sat toward Kamloops; no service on Tuesdays.
🚲You arrive at Williams Lake.
Option four · seven legs⚠ doesn't run every day — check the schedule
A long haul, but it all connects.
CarrierRideYour bike
🚎BC Transit66 CVX Cowichan - Victoria ExpressHwy 1 & Boys Rd (North Cowichan) →Legislature Terminal (Victoria)46 kmRack on the bus, free — 2 bikes · first come, first servedE-bikes OK
🚲Travel the short hop from Legislature Terminal (Victoria) to Douglas St at Pandora Ave (Victoria), about 1.3 km.
🚎BC Transit70 Swartz Bay / Downtownor the 72 Swartz Bay / Downtown (via Saanichton)Douglas St at Pandora Ave (Victoria) →Swartz Bay (Victoria)29 kmRack on the bus, free — 2 bikes · first come, first servedE-bikes OK
⛴️BC FerriesTsawwassen – Swartz BaySwartz Bay (Victoria) →Tsawwassen (Delta)41 kmRoll on, free — no reservation neededE-bikes OK — no charging on board
🚎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
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 Ebus (Vancouver – Calgary (Hwy 1)) or 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 – Prince GeorgeKamloops →Williams Lake253 kmRides in the hold — bagged or cloth-wrapped (no plastic), or boxed$30 per bike
Runs Wed/Fri/Sun toward Prince George and Mon/Thu/Sat toward Kamloops; no service on Tuesdays.
🚲You arrive at Williams Lake.
Option five · four legs✈ the splurge
A city bus, two flights, and a SkyTrain.
CarrierRideYour bike
🚎BC Transit66 CVX Cowichan - Victoria ExpressHwy 1 & Boys Rd (North Cowichan) →Legislature Terminal (Victoria)46 kmRack on the bus, free — 2 bikes · first come, first servedE-bikes OK
🚲Travel the short hop from Legislature Terminal (Victoria) to Victoria Harbour, about 0.7 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
✈️Pacific Coastal AirlinesVancouver – Williams LakeVancouver Airport (YVR) (Richmond) →YWL (Williams Lake)342 kmRides in the hold — small aircraft, limited spaceAbout $105 per directionNo e-bikes
🚲At the far end, Central Williams Lake is about 8.4 km from YWL (Williams Lake). Ride it, or take a local bus or taxi.
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: Williams Lake to Duncan (Cowichan Valley) (best: bus + SkyTrain + ferry)
Connections from Duncan (Cowichan Valley): Galiano Island (best: bus + ferry) · Abbotsford (best: bus + ferry + SkyTrain) · Kamloops (best: bus + ferry + SkyTrain) · Prince Rupert (best: bus + rental car + ferry)
Connections from Williams Lake: Quesnel (best: bus) · Port Coquitlam (best: bus + SkyTrain + train) · Ocean Falls (best: bus + ferry) · Haida Gwaii (best: bus + ferry)
Check out BC Bike Stops in Duncan (Cowichan Valley) and Williams Lake