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, rental cars and flights can carry you and your bike from Salmo to Haida Gwaii.
For scale
As the crow flies1,118 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,926 km · 26 h 29 m
We found 10 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⚠ doesn't run every day — check the schedule
Halfway across the province, no car required.
CarrierRideYour bike
🚌Mountain Man Mike'sKaslo – Cranbrook – Calgary (weekly)Salmo →Calgary AB482 kmBikes acceptedCall for a quote — fee and packaging arranged with the booking agent
The only ground service between Cranbrook and Calgary; weekly, eastbound Monday and westbound Tuesday.
🚌EbusVancouver – Calgary (Hwy 1)or Rider Express (Vancouver – Calgary (Hwy 1))Calgary AB →Kamloops480 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 – Prince GeorgeKamloops →Downtown Exch Bay B (Prince George)456 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.
🚆VIA RailSkeena (Prince Rupert – Prince George – Jasper)Downtown Exch Bay B (Prince George) →Downtown Prince Rupert (2nd Ave at 3rd St)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).
⛴️BC FerriesPrince Rupert – Skidegate (Haida Gwaii)Downtown Prince Rupert (2nd Ave at 3rd St) →Skidegate (Graham Island)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.
🚲You arrive at Skidegate (Graham Island).
Option two · five legs⚠ doesn't run every day — check the schedule
Same as Option one, but a coach bus instead of the train.
CarrierRideYour bike
🚌Mountain Man Mike'sKaslo – Cranbrook – Calgary (weekly)Salmo →Calgary AB482 kmBikes acceptedCall for a quote — fee and packaging arranged with the booking agent
The only ground service between Cranbrook and Calgary; weekly, eastbound Monday and westbound Tuesday.
🚌EbusVancouver – Calgary (Hwy 1)or Rider Express (Vancouver – Calgary (Hwy 1))Calgary AB →Kamloops480 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 – Prince GeorgeKamloops →Downtown Exch Bay B (Prince George)456 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.
🚌BC Bus North (Tahltan NST Busing Ltd.)Prince George – Prince Rupert (Hwy 16 West)Downtown Exch Bay B (Prince George) →Downtown Prince Rupert (2nd Ave at 3rd St)619 kmRides in the hold — boxed, bagged, or wrappedReserve bike spot
Twice a week: Monday and Thursday westbound, Tuesday and Friday eastbound.
⛴️BC FerriesPrince Rupert – Skidegate (Haida Gwaii)Downtown Prince Rupert (2nd Ave at 3rd St) →Skidegate (Graham Island)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.
🚲You arrive at Skidegate (Graham Island).
Option three · six legs⚠ doesn't run every day — check the schedule
Beautiful BC from a coach window.
CarrierRideYour bike
🚎BC Transit72 Salmo-Nelson via YmirSalmo →1680 Hwy 3A/6 (Nelson)33 kmRack on the bus, free — 2 bikes · first come, first servedE-bikes OK
🚌Mountain Man Mike'sKaslo – Vancouver1680 Hwy 3A/6 (Nelson) →New Westminster495 kmBikes acceptedCall for a quote — fee and packaging arranged with the booking agent
Runs once a week; hop-on hop-off along the way.
🚝SkyTrainTransLinkNew Westminster →Pacific Central Station (Vancouver)Roll on, free — 2 bikes per carAvoid rush hourE-bikes OK
🚆VIA RailThe Canadian (Vancouver – Kamloops North – Jasper)Pacific Central Station (Vancouver) →Jasper AB541 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.
🚆VIA RailSkeena (Prince Rupert – Prince George – Jasper)Jasper AB →Downtown Prince Rupert (2nd Ave at 3rd St)922 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).
⛴️BC FerriesPrince Rupert – Skidegate (Haida Gwaii)Downtown Prince Rupert (2nd Ave at 3rd St) →Skidegate (Graham Island)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.
🚲You arrive at Skidegate (Graham Island).
Option four · six legs⚠ doesn't run every day — check the schedule
Option one, plus a city bus at the start.
CarrierRideYour bike
🚎BC Transit72 Salmo-Nelson via YmirSalmo →1680 Hwy 3A/6 (Nelson)33 kmRack on the bus, free — 2 bikes · first come, first servedE-bikes OK
🚌Mountain Man Mike'sKaslo – Vancouver1680 Hwy 3A/6 (Nelson) →Hope374 kmBikes acceptedCall for a quote — fee and packaging arranged with the booking agent
Runs once a week; hop-on hop-off along the way.
🚌EbusVancouver – Kamloopsor Ebus (Vancouver – Calgary (Hwy 1)) or Rider Express (Vancouver – Calgary) or Rider Express (Vancouver – Calgary (Hwy 1))Hope →Kamloops164 kmRides in the hold — bagged or cloth-wrapped (no plastic), or boxed$30 per bike
🚌EbusKamloops – Prince GeorgeKamloops →Downtown Exch Bay B (Prince George)456 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.
🚆VIA RailSkeena (Prince Rupert – Prince George – Jasper)Downtown Exch Bay B (Prince George) →Downtown Prince Rupert (2nd Ave at 3rd St)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).
⛴️BC FerriesPrince Rupert – Skidegate (Haida Gwaii)Downtown Prince Rupert (2nd Ave at 3rd St) →Skidegate (Graham Island)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.
🚲You arrive at Skidegate (Graham Island).
Show eight moreShow fewer
Option five · six legs⚠ doesn't run every day — check the schedule
Option two, plus a city bus at the start.
CarrierRideYour bike
🚎BC Transit72 Salmo-Nelson via YmirSalmo →1680 Hwy 3A/6 (Nelson)33 kmRack on the bus, free — 2 bikes · first come, first servedE-bikes OK
🚌Mountain Man Mike'sKaslo – Vancouver1680 Hwy 3A/6 (Nelson) →Hope374 kmBikes acceptedCall for a quote — fee and packaging arranged with the booking agent
Runs once a week; hop-on hop-off along the way.
🚌EbusVancouver – Kamloopsor Ebus (Vancouver – Calgary (Hwy 1)) or Rider Express (Vancouver – Calgary) or Rider Express (Vancouver – Calgary (Hwy 1))Hope →Kamloops164 kmRides in the hold — bagged or cloth-wrapped (no plastic), or boxed$30 per bike
🚌EbusKamloops – Prince GeorgeKamloops →Downtown Exch Bay B (Prince George)456 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.
🚌BC Bus North (Tahltan NST Busing Ltd.)Prince George – Prince Rupert (Hwy 16 West)Downtown Exch Bay B (Prince George) →Downtown Prince Rupert (2nd Ave at 3rd St)619 kmRides in the hold — boxed, bagged, or wrappedReserve bike spot
Twice a week: Monday and Thursday westbound, Tuesday and Friday eastbound.
⛴️BC FerriesPrince Rupert – Skidegate (Haida Gwaii)Downtown Prince Rupert (2nd Ave at 3rd St) →Skidegate (Graham Island)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.
🚲You arrive at Skidegate (Graham Island).
Option six · seven legs⚠ doesn't run every day — check the schedule
Mountain Man Mike's will get you there.
CarrierRideYour bike
🚎BC Transit72 Salmo-Nelson via YmirSalmo →1680 Hwy 3A/6 (Nelson)33 kmRack on the bus, free — 2 bikes · first come, first servedE-bikes OK
🚌Mountain Man Mike'sKaslo – Vancouver1680 Hwy 3A/6 (Nelson) →Downtown Vancouver (Dunsmuir at Cambie)511 kmBikes acceptedCall for a quote — fee and packaging arranged with the booking agent
Runs once a week; hop-on hop-off along the way.
🚎TransLink257 Horseshoe Bay ExpressDowntown Vancouver (Dunsmuir at Cambie) →Horseshoe Bay19 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
🚲Travel the short hop from Departure Bay (Nanaimo) to Downtown Nanaimo, about 1.3 km. If pedalling it doesn't appeal, A.C. Taxi, Yellow Cab Nanaimo might help.
🚙National Car & Truck Rental (Vancouver Island)One-way rental: Port Hardy – Nanaimoor Budget (One-way rental: Port Hardy – Nanaimo) (counter a short ride away on the 20/20A Hammond Bay / Dover)Downtown Nanaimo →YZT (Port Hardy)295 kmOne-way between Island branches — no drop chargeBike rides inside — SUV or minivan, seats folded, wheels offConfirm one-way and vehicle when booking
🚲Travel the short hop from YZT (Port Hardy) to Bear Cove (Port Hardy), about 8 km. If pedalling it doesn't appeal, Waivin Flags Taxi might help.
⛴️BC FerriesPort Hardy – Prince Rupert (Inside Passage)Bear Cove (Port Hardy) →Downtown Prince Rupert (2nd Ave at 3rd St)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.
⛴️BC FerriesPrince Rupert – Skidegate (Haida Gwaii)Downtown Prince Rupert (2nd Ave at 3rd St) →Skidegate (Graham Island)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.
🚲You arrive at Skidegate (Graham Island).
Option seven · eight legs⚠ doesn't run every day — check the schedule
A lot of connections, but it gets you there.
CarrierRideYour bike
🚎BC Transit72 Salmo-Nelson via YmirSalmo →1680 Hwy 3A/6 (Nelson)33 kmRack on the bus, free — 2 bikes · first come, first servedE-bikes OK
🚌Mountain Man Mike'sKaslo – Vancouver1680 Hwy 3A/6 (Nelson) →New Westminster495 kmBikes acceptedCall for a quote — fee and packaging arranged with the booking agent
Runs once a week; hop-on hop-off along the way.
🚝SkyTrainTransLinkNew Westminster →Vancouver Canada PlaceRoll on, free — 2 bikes per carAvoid rush hourE-bikes OK
🚲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 Downtown Nanaimo Exchange, about 1 km.
🚎BC Transit20/20A Hammond Bay / DoverDowntown Nanaimo Exchange →Departure Bay (Nanaimo)3.3 kmRack on the bus, free — 2 bikes · first come, first servedE-bikes OK
🚲Travel the short hop from Departure Bay (Nanaimo) to Downtown Nanaimo, about 1.3 km.
🚙National Car & Truck Rental (Vancouver Island)One-way rental: Port Hardy – Nanaimoor Budget (One-way rental: Port Hardy – Nanaimo)Downtown Nanaimo →YZT (Port Hardy)295 kmOne-way between Island branches — no drop chargeBike rides inside — SUV or minivan, seats folded, wheels offConfirm one-way and vehicle when booking
🚲Travel the short hop from YZT (Port Hardy) to Bear Cove (Port Hardy), about 8 km.
⛴️BC FerriesPort Hardy – Prince Rupert (Inside Passage)Bear Cove (Port Hardy) →Downtown Prince Rupert (2nd Ave at 3rd St)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.
⛴️BC FerriesPrince Rupert – Skidegate (Haida Gwaii)Downtown Prince Rupert (2nd Ave at 3rd St) →Skidegate (Graham Island)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.
🚲You arrive at Skidegate (Graham Island).
Option eight · seven legs⚠ doesn't run every day — check the schedule
Same as Option six, but a coach bus instead of the city bus.
CarrierRideYour bike
🚌Mountain Man Mike'sKaslo – Calgaryor Mountain Man Mike's (Kaslo – Cranbrook – Calgary (weekly)) (doesn't run every day)Salmo →1680 Hwy 3A/6 (Nelson)33 kmBikes acceptedCall for a quote — fee and packaging arranged with the booking agent
Runs once a week, continuing east into Alberta.
🚌Mountain Man Mike'sKaslo – Vancouver1680 Hwy 3A/6 (Nelson) →Downtown Vancouver (Dunsmuir at Cambie)511 kmBikes acceptedCall for a quote — fee and packaging arranged with the booking agent
Runs once a week; hop-on hop-off along the way.
🚎TransLink257 Horseshoe Bay ExpressDowntown Vancouver (Dunsmuir at Cambie) →Horseshoe Bay19 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
🚲Travel the short hop from Departure Bay (Nanaimo) to Downtown Nanaimo, about 1.3 km.
🚙National Car & Truck Rental (Vancouver Island)One-way rental: Port Hardy – NanaimoDowntown Nanaimo →YZT (Port Hardy)295 kmOne-way between Island branches — no drop chargeBike rides inside — SUV or minivan, seats folded, wheels offConfirm one-way and vehicle when booking
🚲Travel the short hop from YZT (Port Hardy) to Bear Cove (Port Hardy), about 8 km.
⛴️BC FerriesPort Hardy – Prince Rupert (Inside Passage)Bear Cove (Port Hardy) →Downtown Prince Rupert (2nd Ave at 3rd St)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.
⛴️BC FerriesPrince Rupert – Skidegate (Haida Gwaii)Downtown Prince Rupert (2nd Ave at 3rd St) →Skidegate (Graham Island)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.
🚲You arrive at Skidegate (Graham Island).
Option 9 · seven legs⚠ doesn't run every day — check the schedule
Same as Option eight, but a SkyTrain instead of the city bus.
CarrierRideYour bike
🚌Mountain Man Mike'sKaslo – Cranbrook – Calgary (weekly)Salmo →1680 Hwy 3A/6 (Nelson)33 kmBikes acceptedCall for a quote — fee and packaging arranged with the booking agent
The only ground service between Cranbrook and Calgary; weekly, eastbound Monday and westbound Tuesday.
🚌Mountain Man Mike'sKaslo – Vancouver1680 Hwy 3A/6 (Nelson) →New Westminster495 kmBikes acceptedCall for a quote — fee and packaging arranged with the booking agent
Runs once a week; hop-on hop-off along the way.
🚝SkyTrainTransLinkNew Westminster →Vancouver Canada PlaceRoll on, free — 2 bikes per carAvoid rush hourE-bikes OK
🚲Travel the short hop from Vancouver Canada Place to CXH (Vancouver), about 0.8 km.
⛴️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 Downtown Nanaimo, about 1.5 km.
🚙BudgetOne-way rental: Port Hardy – NanaimoDowntown Nanaimo →YZT (Port Hardy)298 kmOne-way between BC Budget branches — bookable onlineBike rides inside — SUV or minivan, seats folded, wheels offConfirm one-way and vehicle when booking
🚲Travel the short hop from YZT (Port Hardy) to Bear Cove (Port Hardy), about 8 km.
⛴️BC FerriesPort Hardy – Prince Rupert (Inside Passage)Bear Cove (Port Hardy) →Downtown Prince Rupert (2nd Ave at 3rd St)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.
⛴️BC FerriesPrince Rupert – Skidegate (Haida Gwaii)Downtown Prince Rupert (2nd Ave at 3rd St) →Skidegate (Graham Island)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.
🚲You arrive at Skidegate (Graham Island).
Not an option · six legs🚫 not possible with a bike⚠ doesn't run every day — check the schedule
Six legs, end to end.
🚫 This chain exists, but Silver City Stagelines does not carry bikes, so it cannot work with yours. We show it so you can see where the connection breaks.
CarrierRideYour bike
🚎BC Transit72 Salmo-Nelson via YmirSalmo →1680 Hwy 3A/6 (Nelson)33 kmRack on the bus, free — 2 bikes · first come, first servedE-bikes OK
🚌Silver City StagelinesTrail – Kelowna (Hwy 3/33)1680 Hwy 3A/6 (Nelson) →Kelowna (Orchard Park Mall)244 kmDoes not carry bikes
🚌EbusKamloops – Kelowna (via Salmon Arm)Kelowna (Orchard Park Mall) →Kamloops188 kmRides in the hold — bagged or cloth-wrapped (no plastic), or boxed$30 per bike
🚌EbusKamloops – Prince GeorgeKamloops →Downtown Exch Bay B (Prince George)456 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.
🚆VIA RailSkeena (Prince Rupert – Prince George – Jasper)Downtown Exch Bay B (Prince George) →Downtown Prince Rupert (2nd Ave at 3rd St)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).
⛴️BC FerriesPrince Rupert – Skidegate (Haida Gwaii)Downtown Prince Rupert (2nd Ave at 3rd St) →Skidegate (Graham Island)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.
🚲You arrive at Skidegate (Graham Island).
Not an option · six legs🚫 not possible with a bike⚠ doesn't run every day — check the schedule
Another way: six legs, end to end.
🚫 This chain exists, but Silver City Stagelines does not carry bikes, so it cannot work with yours. We show it so you can see where the connection breaks.
CarrierRideYour bike
🚎BC Transit72 Salmo-Nelson via YmirSalmo →1680 Hwy 3A/6 (Nelson)33 kmRack on the bus, free — 2 bikes · first come, first servedE-bikes OK
🚌Silver City StagelinesTrail – Kelowna (Hwy 3/33)1680 Hwy 3A/6 (Nelson) →Kelowna (Orchard Park Mall)244 kmDoes not carry bikes
🚌EbusKamloops – Kelowna (via Salmon Arm)Kelowna (Orchard Park Mall) →Kamloops188 kmRides in the hold — bagged or cloth-wrapped (no plastic), or boxed$30 per bike
🚌EbusKamloops – Prince GeorgeKamloops →Downtown Exch Bay B (Prince George)456 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.
🚌BC Bus North (Tahltan NST Busing Ltd.)Prince George – Prince Rupert (Hwy 16 West)Downtown Exch Bay B (Prince George) →Downtown Prince Rupert (2nd Ave at 3rd St)619 kmRides in the hold — boxed, bagged, or wrappedReserve bike spot
Twice a week: Monday and Thursday westbound, Tuesday and Friday eastbound.
⛴️BC FerriesPrince Rupert – Skidegate (Haida Gwaii)Downtown Prince Rupert (2nd Ave at 3rd St) →Skidegate (Graham Island)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.
🚲You arrive at Skidegate (Graham Island).
Option 12 · six legs✈ the splurge⚠ doesn't run every day — check the schedule
Every leg of this works, there are just a lot of them.
CarrierRideYour bike
🚎BC Transit72 Salmo-Nelson via YmirSalmo →1680 Hwy 3A/6 (Nelson)33 kmRack on the bus, free — 2 bikes · first come, first servedE-bikes OK
🚎BC Transit99 Kootenay Connector1680 Hwy 3A/6 (Nelson) →Hwy 3A at Ootischenia Rd (Brilliant)31 kmRack on the bus, free — 2 bikes · first come, first servedE-bikes OK
🚲Travel the short hop from Hwy 3A at Ootischenia Rd (Brilliant) to Castlegar, about 2.8 km.
✈️Air CanadaVancouver (YVR) – Castlegar (YCG)Castlegar →Vancouver Airport (YVR) (Richmond)402 kmBox or sturdy bag requiredBook ahead for your bikeAbout $50 per directionNo e-bikes
✈️Pacific Coastal AirlinesVancouver – Port HardyVancouver Airport (YVR) (Richmond) →YZT (Port Hardy)343 kmRides in the hold — small aircraft, limited spaceAbout $105 per directionNo e-bikes
🚲Travel the short hop from YZT (Port Hardy) to Bear Cove (Port Hardy), about 8 km.
⛴️BC FerriesPort Hardy – Prince Rupert (Inside Passage)Bear Cove (Port Hardy) →Downtown Prince Rupert (2nd Ave at 3rd St)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.
⛴️BC FerriesPrince Rupert – Skidegate (Haida Gwaii)Downtown Prince Rupert (2nd Ave at 3rd St) →Skidegate (Graham Island)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.
🚲You arrive at Skidegate (Graham Island).
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: Haida Gwaii to Salmo (best: ferry + train + bus)
Connections from Salmo: Castlegar (best: bus) · Kamloops (best: bus) · Pender Island (best: bus + SkyTrain + ferry) · Prince Rupert (best: bus + train)
Connections from Haida Gwaii: Prince Rupert (best: ferry) · Port Alberni (best: ferry + rental car) · Chilliwack (best: ferry + train + SkyTrain) · Sparwood (best: ferry + train + bus)
Check out BC Bike Stops in Salmo