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 Haida Gwaii to Sorrento.

For scale
As the crow flies895 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,509 km · 21 h 37 m

We found four 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
⛴️BC FerriesPrince Rupert – Skidegate (Haida Gwaii)Skidegate (Graham Island) →Downtown Prince Rupert (2nd Ave at 3rd St)160 kmRoll on, free — no reservation neededE-bikes OK — no charging on board
About 5–6 sailings a week; no Tuesday sailing westbound and no Sunday sailing eastbound.
🚆VIA RailSkeena (Prince Rupert – Prince George – Jasper)Downtown Prince Rupert (2nd Ave at 3rd St) →Downtown Exch Bay B (Prince George)591 kmChecked baggage — staffed stations only, including Vancouver BC and Jasper AB$25 per directionE-bikes OK — battery disconnected at check-in
Three departures a week; the trip includes an overnight stop in Prince George (book your own hotel).
🚌EbusKamloops – Prince GeorgeDowntown Exch Bay B (Prince George) →Kamloops456 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.
🚌EbusKamloops – Kelowna (via Salmon Arm)or Ebus (Vancouver – Calgary (Hwy 1)) or Rider Express (Vancouver – Calgary) or Rider Express (Vancouver – Calgary (Hwy 1))Kamloops →Sorrento66 kmRides in the hold — bagged or cloth-wrapped (no plastic), or boxed$30 per bike
🚲You arrive at Sorrento.
Option two · four legs⚠ doesn't run every day — check the schedule
Same as Option one, but a coach bus instead of the train.
CarrierRideYour bike
⛴️BC FerriesPrince Rupert – Skidegate (Haida Gwaii)Skidegate (Graham Island) →Downtown Prince Rupert (2nd Ave at 3rd St)160 kmRoll on, free — no reservation neededE-bikes OK — no charging on board
About 5–6 sailings a week; no Tuesday sailing westbound and no Sunday sailing eastbound.
🚌BC Bus North (Tahltan NST Busing Ltd.)Prince George – Prince Rupert (Hwy 16 West)Downtown Prince Rupert (2nd Ave at 3rd St) →Downtown Exch Bay B (Prince George)619 kmRides in the hold — boxed, bagged, or wrappedReserve bike spot
Twice a week: Monday and Thursday westbound, Tuesday and Friday eastbound.
🚌EbusKamloops – Prince GeorgeDowntown Exch Bay B (Prince George) →Kamloops456 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.
🚌EbusKamloops – Kelowna (via Salmon Arm)or Ebus (Vancouver – Calgary (Hwy 1)) or Rider Express (Vancouver – Calgary) or Rider Express (Vancouver – Calgary (Hwy 1))Kamloops →Sorrento66 kmRides in the hold — bagged or cloth-wrapped (no plastic), or boxed$30 per bike
🚲You arrive at Sorrento.
Option three · four legs⚠ doesn't run every day — check the schedule
Same as Option one, but a train instead of the coach bus.
CarrierRideYour bike
⛴️BC FerriesPrince Rupert – Skidegate (Haida Gwaii)Skidegate (Graham Island) →Downtown Prince Rupert (2nd Ave at 3rd St)160 kmRoll on, free — no reservation neededE-bikes OK — no charging on board
About 5–6 sailings a week; no Tuesday sailing westbound and no Sunday sailing eastbound.
🚆VIA RailSkeena (Prince Rupert – Prince George – Jasper)Downtown Prince Rupert (2nd Ave at 3rd St) →Jasper AB922 kmChecked baggage — staffed stations only, including Vancouver BC and Jasper AB$25 per directionE-bikes OK — battery disconnected at check-in
Three departures a week; the trip includes an overnight stop in Prince George (book your own hotel).
🚆VIA RailThe Canadian (Vancouver – Kamloops North – Jasper)Jasper AB →Pacific Central Station (Vancouver)541 kmChecked baggage — staffed stations only, including Vancouver BC and Jasper AB$25 per directionE-bikes OK — battery disconnected at check-in
Two departures a week in season; bikes can be checked on and off at Vancouver and Jasper only.
🚌EbusVancouver – Calgary (Hwy 1)or Rider Express (Vancouver – Calgary)Pacific Central Station (Vancouver) →Sorrento368 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.
🚲You arrive at Sorrento.
Option four · five legs✈ the splurge⚠ doesn't run every day — check the schedule
The scenic splurge: hop a flight.
CarrierRideYour bike
⛴️BC FerriesPrince Rupert – Skidegate (Haida Gwaii)Skidegate (Graham Island) →Downtown Prince Rupert (2nd Ave at 3rd St)160 kmRoll on, free — no reservation neededE-bikes OK — no charging on board
About 5–6 sailings a week; no Tuesday sailing westbound and no Sunday sailing eastbound.
⛴️BC FerriesPort Hardy – Prince Rupert (Inside Passage)Downtown Prince Rupert (2nd Ave at 3rd St) →Bear Cove (Port Hardy)445 kmRoll on, free — no reservation neededE-bikes OK — no charging on board
Sails alternate days, roughly 3–4 sailings a week each way in summer.
🚲Travel the short hop from Bear Cove (Port Hardy) to YZT (Port Hardy), about 8 km. If pedalling it doesn't appeal, Waivin Flags Taxi might help.
✈️Pacific Coastal AirlinesVancouver – Port HardyYZT (Port Hardy) →Vancouver Airport (YVR) (Richmond)343 kmRides in the hold — small aircraft, limited spaceAbout $105 per directionNo e-bikes
✈️Air CanadaVancouver (YVR) – Kelowna (YLW)Vancouver Airport (YVR) (Richmond) →Kelowna Airport288 kmBox or sturdy bag requiredBook ahead for your bikeAbout $50 per directionNo e-bikes
🚌EbusKamloops – Kelowna (via Salmon Arm)Kelowna Airport →Sorrento112 kmRides in the hold — bagged or cloth-wrapped (no plastic), or boxed$30 per bike
🚲You arrive at Sorrento.
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: Sorrento to Haida Gwaii (best: bus + train + ferry)

Connections from Haida Gwaii: Prince Rupert (best: ferry) · Port Alberni (best: ferry + rental car) · Chilliwack (best: ferry + train + SkyTrain) · Sparwood (best: ferry + train + bus)

Connections from Sorrento: Sicamous (best: bus) · Creston (best: bus) · Brentwood Bay (best: bus + SkyTrain + ferry) · Prince Rupert (best: bus + train)