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, rental cars and flights can carry you and your bike from Prince Rupert to Salmo.

For scale
As the crow flies1,061 km
Biking whole wayno route found
By car1,763 km · 19 h 06 m

We found 10 ways to get you there.

🎒 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
Beautiful BC from a coach window.
CarrierRideYour bike
🚆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 (Hwy 1))Kamloops →Calgary AB480 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.
🚌Mountain Man Mike'sKaslo – Cranbrook – Calgary (weekly)Calgary AB →Salmo482 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.
🚲You arrive at Salmo.
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 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 (Hwy 1))Kamloops →Calgary AB480 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.
🚌Mountain Man Mike'sKaslo – Cranbrook – Calgary (weekly)Calgary AB →Salmo482 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.
🚲You arrive at Salmo.
Option three · five legs⚠ doesn't run every day — check the schedule
Ride The Canadian through the mountains.
CarrierRideYour bike
🚆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.
🚝SkyTrainTransLinkPacific Central Station (Vancouver) →New WestminsterRoll on, free — 2 bikes per carAvoid rush hourE-bikes OK
🚌Mountain Man Mike'sKaslo – VancouverNew Westminster →1680 Hwy 3A/6 (Nelson)495 kmBikes acceptedCall for a quote — fee and packaging arranged with the booking agent
Runs once a week; hop-on hop-off along the way.
🚎BC Transit72 Salmo-Nelson via Ymir1680 Hwy 3A/6 (Nelson) →Salmo33 kmRack on the bus, free — 2 bikes · first come, first servedE-bikes OK
🚲You arrive at Salmo.
Option four · five legs⚠ doesn't run every day — check the schedule
Option one, plus a city bus at the finish.
CarrierRideYour bike
🚆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 Ebus (Vancouver – Kamloops) or Rider Express (Vancouver – Calgary (Hwy 1)) or Rider Express (Vancouver – Calgary)Kamloops →Hope164 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.
🚌Mountain Man Mike'sKaslo – VancouverHope →1680 Hwy 3A/6 (Nelson)374 kmBikes acceptedCall for a quote — fee and packaging arranged with the booking agent
Runs once a week; hop-on hop-off along the way.
🚎BC Transit72 Salmo-Nelson via Ymir1680 Hwy 3A/6 (Nelson) →Salmo33 kmRack on the bus, free — 2 bikes · first come, first servedE-bikes OK
🚲You arrive at Salmo.
Show eight moreShow fewer
Option five · five legs⚠ doesn't run every day — check the schedule
Option two, plus a city bus at the finish.
CarrierRideYour bike
🚌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 Ebus (Vancouver – Kamloops) or Rider Express (Vancouver – Calgary (Hwy 1)) or Rider Express (Vancouver – Calgary)Kamloops →Hope164 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.
🚌Mountain Man Mike'sKaslo – VancouverHope →1680 Hwy 3A/6 (Nelson)374 kmBikes acceptedCall for a quote — fee and packaging arranged with the booking agent
Runs once a week; hop-on hop-off along the way.
🚎BC Transit72 Salmo-Nelson via Ymir1680 Hwy 3A/6 (Nelson) →Salmo33 kmRack on the bus, free — 2 bikes · first come, first servedE-bikes OK
🚲You arrive at Salmo.
Option six · six legs⚠ doesn't run every day — check the schedule
Fill in the gap with a rental car.
CarrierRideYour bike
⛴️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.
🚙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)YZT (Port Hardy) →Downtown Nanaimo295 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 Downtown Nanaimo to Departure Bay (Nanaimo), about 1.3 km. If pedalling it doesn't appeal, A.C. Taxi, Yellow Cab Nanaimo might help.
⛴️BC FerriesHorseshoe Bay – Departure BayDeparture Bay (Nanaimo) →Horseshoe Bay53 kmRoll on, free — no reservation neededE-bikes OK — no charging on board
🚎TransLink257 Horseshoe Bay ExpressHorseshoe Bay →Downtown Vancouver (Dunsmuir at Cambie)19 kmRack on the bus, free2 bikes — first come, first servedE-bikes OK
🚌Mountain Man Mike'sKaslo – VancouverDowntown Vancouver (Dunsmuir at Cambie) →1680 Hwy 3A/6 (Nelson)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.
🚎BC Transit72 Salmo-Nelson via Ymir1680 Hwy 3A/6 (Nelson) →Salmo33 kmRack on the bus, free — 2 bikes · first come, first servedE-bikes OK
🚲You arrive at Salmo.
Option seven · seven legs⚠ doesn't run every day — check the schedule
A lot of connections, but it gets you there.
CarrierRideYour bike
⛴️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.
🚙National Car & Truck Rental (Vancouver Island)One-way rental: Port Hardy – Nanaimoor Budget (One-way rental: Port Hardy – Nanaimo)YZT (Port Hardy) →Downtown Nanaimo295 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 Downtown Nanaimo to Departure Bay (Nanaimo), about 1.3 km.
🚎BC Transit20/20A Hammond Bay / DoverDeparture Bay (Nanaimo) →Downtown Nanaimo Exchange3.3 kmRack on the bus, free — 2 bikes · first come, first servedE-bikes OK
🚲Travel the short hop from Downtown Nanaimo Exchange to Hullo Nanaimo Terminal (Port Way), about 1 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. If pedalling it doesn't appeal, Black Top Cabs, Maclure'S Cabs might help.
🚝SkyTrainTransLinkVancouver Canada Place →New WestminsterRoll on, free — 2 bikes per carAvoid rush hourE-bikes OK
🚌Mountain Man Mike'sKaslo – VancouverNew Westminster →1680 Hwy 3A/6 (Nelson)495 kmBikes acceptedCall for a quote — fee and packaging arranged with the booking agent
Runs once a week; hop-on hop-off along the way.
🚎BC Transit72 Salmo-Nelson via Ymir1680 Hwy 3A/6 (Nelson) →Salmo33 kmRack on the bus, free — 2 bikes · first come, first servedE-bikes OK
🚲You arrive at Salmo.
Option eight · six legs⚠ doesn't run every day — check the schedule
Same as Option six, but a coach bus instead of the city bus.
CarrierRideYour bike
⛴️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.
🚙National Car & Truck Rental (Vancouver Island)One-way rental: Port Hardy – NanaimoYZT (Port Hardy) →Downtown Nanaimo295 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 Downtown Nanaimo to Departure Bay (Nanaimo), about 1.3 km.
⛴️BC FerriesHorseshoe Bay – Departure BayDeparture Bay (Nanaimo) →Horseshoe Bay53 kmRoll on, free — no reservation neededE-bikes OK — no charging on board
🚎TransLink257 Horseshoe Bay ExpressHorseshoe Bay →Downtown Vancouver (Dunsmuir at Cambie)19 kmRack on the bus, free2 bikes — first come, first servedE-bikes OK
🚌Mountain Man Mike'sKaslo – VancouverDowntown Vancouver (Dunsmuir at Cambie) →1680 Hwy 3A/6 (Nelson)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.
🚌Mountain Man Mike'sKaslo – Calgaryor Mountain Man Mike's (Kaslo – Cranbrook – Calgary (weekly)) (doesn't run every day)1680 Hwy 3A/6 (Nelson) →Salmo33 kmBikes acceptedCall for a quote — fee and packaging arranged with the booking agent
Runs once a week, continuing east into Alberta.
🚲You arrive at Salmo.
Option 9 · six legs⚠ doesn't run every day — check the schedule
Same as Option eight, but a SkyTrain instead of the city bus.
CarrierRideYour bike
⛴️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.
🚙BudgetOne-way rental: Port Hardy – NanaimoYZT (Port Hardy) →Downtown Nanaimo298 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 Downtown Nanaimo to Hullo Nanaimo Terminal (Port Way), about 1.5 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 →New WestminsterRoll on, free — 2 bikes per carAvoid rush hourE-bikes OK
🚌Mountain Man Mike'sKaslo – VancouverNew Westminster →1680 Hwy 3A/6 (Nelson)495 kmBikes acceptedCall for a quote — fee and packaging arranged with the booking agent
Runs once a week; hop-on hop-off along the way.
🚌Mountain Man Mike'sKaslo – Calgary1680 Hwy 3A/6 (Nelson) →Salmo33 kmBikes acceptedCall for a quote — fee and packaging arranged with the booking agent
Runs once a week, continuing east into Alberta.
🚲You arrive at Salmo.
Not an option · five legs🚫 not possible with a bike⚠ doesn't run every day — check the schedule
A train, three coach buses, and a city bus.
🚫  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
🚆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 →Kelowna (Orchard Park Mall)188 kmRides in the hold — bagged or cloth-wrapped (no plastic), or boxed$30 per bike
🚌Silver City StagelinesTrail – Kelowna (Hwy 3/33)Kelowna (Orchard Park Mall) →1680 Hwy 3A/6 (Nelson)244 kmDoes not carry bikes
🚎BC Transit72 Salmo-Nelson via Ymir1680 Hwy 3A/6 (Nelson) →Salmo33 kmRack on the bus, free — 2 bikes · first come, first servedE-bikes OK
🚲You arrive at Salmo.
Not an option · five legs🚫 not possible with a bike⚠ doesn't run every day — check the schedule
Four coach buses and a city bus.
🚫  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 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 →Kelowna (Orchard Park Mall)188 kmRides in the hold — bagged or cloth-wrapped (no plastic), or boxed$30 per bike
🚌Silver City StagelinesTrail – Kelowna (Hwy 3/33)Kelowna (Orchard Park Mall) →1680 Hwy 3A/6 (Nelson)244 kmDoes not carry bikes
🚎BC Transit72 Salmo-Nelson via Ymir1680 Hwy 3A/6 (Nelson) →Salmo33 kmRack on the bus, free — 2 bikes · first come, first servedE-bikes OK
🚲You arrive at Salmo.
Option 12 · four legs✈ the splurge⚠ doesn't run every day — check the schedule
Two flights and two city buses.
CarrierRideYour bike
🚲First, get from Central Prince Rupert to YPR (Prince Rupert), about 8.2 km. Ride it, or take a local bus or taxi. If pedalling it doesn't appeal, Skeena Taxi might help.
✈️Air CanadaVancouver (YVR) – Prince Rupert (YPR)YPR (Prince Rupert) →Vancouver Airport (YVR) (Richmond)756 kmBox or sturdy bag requiredBook ahead for your bikeAbout $50 per directionNo e-bikes
✈️Air CanadaVancouver (YVR) – Castlegar (YCG)Vancouver Airport (YVR) (Richmond) →Castlegar402 kmBox or sturdy bag requiredBook ahead for your bikeAbout $50 per directionNo e-bikes
🚲Travel the short hop from Castlegar to Hwy 3A at Ootischenia Rd (Brilliant), about 2.8 km.
🚎BC Transit99 Kootenay ConnectorHwy 3A at Ootischenia Rd (Brilliant) →1680 Hwy 3A/6 (Nelson)31 kmRack on the bus, free — 2 bikes · first come, first servedE-bikes OK
🚎BC Transit72 Salmo-Nelson via Ymir1680 Hwy 3A/6 (Nelson) →Salmo33 kmRack on the bus, free — 2 bikes · first come, first servedE-bikes OK
🚲You arrive at Salmo.
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: Salmo to Prince Rupert (best: bus + train)

Connections from Prince Rupert: Terrace (best: train) · Parksville (best: ferry + rental car + bus) · Abbotsford (best: train + bus) · Fernie (best: train + bus)

Connections from Salmo: Castlegar (best: bus) · Kamloops (best: bus) · Pender Island (best: bus + SkyTrain + ferry) · Haida Gwaii (best: bus + train + ferry)

Check out BC Bike Stops in Prince Rupert and Salmo