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 Armstrong.

For scale
As the crow flies931 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,541 km · 22 h 11 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 · 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)Kamloops →Armstrong121 kmRides in the hold — bagged or cloth-wrapped (no plastic), or boxed$30 per bike
🚲You arrive at Armstrong.
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)Kamloops →Armstrong121 kmRides in the hold — bagged or cloth-wrapped (no plastic), or boxed$30 per bike
🚲You arrive at Armstrong.
Option three · six legs⚠ doesn't run every day — check the schedule
A little bit of everything.
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.
🚌EbusVancouver – Calgary (Hwy 1)or Rider Express (Vancouver – Calgary) or Rider Express (Vancouver – Calgary (Hwy 1))Kamloops →Hudson Ave NE & 6 St NE (Salmon Arm)90 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.
🚎BC Transit41 Salmon Arm-EnderbyHudson Ave NE & 6 St NE (Salmon Arm) →Enderby19 kmRack on the bus, free — 2 bikes · first come, first servedE-bikes OK
🚎BC Transit60 Enderby/VernonEnderby →Armstrong12 kmRack on the bus, free — 2 bikes · first come, first servedE-bikes OK
🚲You arrive at Armstrong.
Option four · six legs⚠ doesn't run every day — check the schedule
Same as Option three, 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.
🚌EbusVancouver – Calgary (Hwy 1)or Rider Express (Vancouver – Calgary) or Rider Express (Vancouver – Calgary (Hwy 1))Kamloops →Hudson Ave NE & 6 St NE (Salmon Arm)90 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.
🚎BC Transit41 Salmon Arm-EnderbyHudson Ave NE & 6 St NE (Salmon Arm) →Enderby19 kmRack on the bus, free — 2 bikes · first come, first servedE-bikes OK
🚎BC Transit60 Enderby/VernonEnderby →Armstrong12 kmRack on the bus, free — 2 bikes · first come, first servedE-bikes OK
🚲You arrive at Armstrong.
Option five · 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 →Armstrong56 kmRides in the hold — bagged or cloth-wrapped (no plastic), or boxed$30 per bike
🚲You arrive at Armstrong.
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: Armstrong 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 Armstrong: Sicamous (best: bus) · Pemberton (best: bus + SkyTrain) · Sechelt (best: bus + ferry) · Prince Rupert (best: bus + train)

Check out BC Bike Stops in Armstrong