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 can carry you and your bike from Osoyoos to Armstrong.

For scale
As the crow flies159 km
Biking whole way193 km · 12 h 55 m
By car200 km · 2 h 36 m

We found three 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
City bus to Duncan & Main, city bus to Kelowna, then a coach bus into Armstrong.
CarrierRideYour bike
🚎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 two · three legs⚠ doesn't run every day — check the schedule
Grab a window seat, the scenery's included.
CarrierRideYour bike
🚌Mountain Man Mike'sKaslo – VancouverMain & 89th St (Osoyoos) →Hope197 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 three · three legs⚠ doesn't run every day — check the schedule
The same idea as Option two, on different routes.
CarrierRideYour bike
🚌Mountain Man Mike'sKaslo – VancouverMain & 89th St (Osoyoos) →Hope197 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.
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 Osoyoos (best: bus)

Connections from Osoyoos: Keremeos (best: bus) · Burnaby (best: bus + SkyTrain) · Sparwood (best: bus) · 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)

Check out BC Bike Stops in Osoyoos and Armstrong