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 and flights can carry you and your bike from Salmo to Armstrong.
For scale
As the crow flies196 km
Biking whole way327 km · 23 h 26 m
By car404 km · 4 h 32 m
We found eight 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 · three legs⚠ doesn't run every day — check the schedule
Grab a window seat, the scenery's included.
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 →Golden215 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.
🚌EbusKelowna/Salmon Arm – GoldenGolden →Armstrong207 kmRides in the hold — bagged or cloth-wrapped (no plastic), or boxed$30 per bike
🚲You arrive at Armstrong.
Option two · three legs⚠ doesn't run every day — check the schedule
The same idea as Option one, on different routes.
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 →Hudson Ave NE & 6 St NE (Salmon Arm)391 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 – Kelowna (via Salmon Arm)Hudson Ave NE & 6 St NE (Salmon Arm) →Armstrong31 kmRides in the hold — bagged or cloth-wrapped (no plastic), or boxed$30 per bike
🚲You arrive at Armstrong.
Option three · four 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 – KelownaHope →Kelowna (Orchard Park Mall)194 kmRides in the hold — bagged or cloth-wrapped (no plastic), or boxed$30 per bike
🚌EbusKamloops – Kelowna (via Salmon Arm)or Ebus (Kelowna/Salmon Arm – Golden)Kelowna (Orchard Park Mall) →Armstrong68 kmRides in the hold — bagged or cloth-wrapped (no plastic), or boxed$30 per bike
🚲You arrive at Armstrong.
Option four · four legs⚠ doesn't run every day — check the schedule
Another way: 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 – 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.
Show six moreShow fewer
Option five · five 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) →Main & 89th St (Osoyoos)177 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 Transit40 Osoyoos / PentictonMain & 89th St (Osoyoos) →Duncan & Main (Plaza) (Penticton)52 kmRack on the bus, free — 2 bikes · first come, first servedE-bikes OK
🚎BC Transit70 Kelowna / PentictonDuncan & Main (Plaza) (Penticton) →Kelowna (Orchard Park Mall)52 kmRack on the bus, free — 2 bikes · first come, first servedE-bikes OK
🚌EbusKamloops – Kelowna (via Salmon Arm)or Ebus (Kelowna/Salmon Arm – Golden)Kelowna (Orchard Park Mall) →Armstrong68 kmRides in the hold — bagged or cloth-wrapped (no plastic), or boxed$30 per bike
🚲You arrive at Armstrong.
Option six · five legs⚠ doesn't run every day — check the schedule
Same as Option five, 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) →Main & 89th St (Osoyoos)177 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 Transit40 Osoyoos / PentictonMain & 89th St (Osoyoos) →Duncan & Main (Plaza) (Penticton)52 kmRack on the bus, free — 2 bikes · first come, first servedE-bikes OK
🚎BC Transit70 Kelowna / PentictonDuncan & Main (Plaza) (Penticton) →Kelowna (Orchard Park Mall)52 kmRack on the bus, free — 2 bikes · first come, first servedE-bikes OK
🚌EbusKamloops – Kelowna (via Salmon Arm)or Ebus (Kelowna/Salmon Arm – Golden)Kelowna (Orchard Park Mall) →Armstrong68 kmRides in the hold — bagged or cloth-wrapped (no plastic), or boxed$30 per bike
🚲You arrive at Armstrong.
Option seven · five legs⚠ doesn't run every day — check the schedule
The same idea as Option five, on different routes.
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) →Keremeos210 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 Transit50 Penticton / PrincetonKeremeos →Cherry Lane Shopping Centre (Penticton)35 kmRack on the bus, free — 2 bikes · first come, first servedE-bikes OK
🚲Travel the short hop from Cherry Lane Shopping Centre (Penticton) to Duncan & Main (Plaza) (Penticton), about 4.3 km. If pedalling it doesn't appeal, Klassic Taxi, Penticton Eco Taxi might help.
🚎BC Transit70 Kelowna / PentictonDuncan & Main (Plaza) (Penticton) →Kelowna (Orchard Park Mall)52 kmRack on the bus, free — 2 bikes · first come, first servedE-bikes OK
🚌EbusKamloops – Kelowna (via Salmon Arm)or Ebus (Kelowna/Salmon Arm – Golden)Kelowna (Orchard Park Mall) →Armstrong68 kmRides in the hold — bagged or cloth-wrapped (no plastic), or boxed$30 per bike
🚲You arrive at Armstrong.
Not an option · three legs🚫 not possible with a bike⚠ doesn't run every day — check the schedule
City bus to 1680 Hwy 3A/6, coach bus to Kelowna, then a coach bus into Armstrong.
🚫 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)or Ebus (Kelowna/Salmon Arm – Golden)Kelowna (Orchard Park Mall) →Armstrong68 kmRides in the hold — bagged or cloth-wrapped (no plastic), or boxed$30 per bike
🚲You arrive at Armstrong.
Not an option · three legs🚫 not possible with a bike⚠ doesn't run every day — check the schedule
A coach-bus relay: three buses, two changes.
🚫 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
🚌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.
🚌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)or Ebus (Kelowna/Salmon Arm – Golden)Kelowna (Orchard Park Mall) →Armstrong68 kmRides in the hold — bagged or cloth-wrapped (no plastic), or boxed$30 per bike
🚲You arrive at Armstrong.
Option 10 · five legs✈ the splurge⚠ doesn't run every day — check the schedule
Fly most of the way, then let transit finish the trip.
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
✈️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 Salmo (best: bus)
Connections from Salmo: Castlegar (best: bus) · Hope (best: bus) · Gibsons (best: bus + ferry) · Haida Gwaii (best: bus + train + ferry)
Connections from Armstrong: Sicamous (best: bus) · Cranbrook (best: bus) · Mayne Island (best: bus + SkyTrain + ferry) · Haida Gwaii (best: bus + train + ferry)