BC Ferries serves up to 47 ports of call on 25 routes throughout coastal British Columbia. The ferry crossings between Vancouver (Tsawwassen and Horseshoe Bay) and Vancouver Island (Victoria and Nanaimo) take 90 minutes to two hours, depending on which route you take. Shorter hops include BC Ferries service to the picturesque Gulf Islands (sailing from both Vancouver Island and Vancouver (Lower Mainland), and to communities along the Sunshine Coast (Northwest of Vancouver), and north to BC’s magnificent Discovery Coast, Inside Passage, and Haida Gwaii (formerly the Queen Charlotte Islands).
One of the largest ferry operators in the world, their ferries can accommodate cars, RVs, trucks, buses and bikes. On-board services on the Vancouver runs to Victoria and Nanaimo include cafeterias, buffet dining, gift shops and exclusive lounges.
From Washington, you can reach Vancouver Island (Victoria) and the US San Juan Islands by ferry from several west coast departure points. The Washington State Ferry Service and numerous private ferry services operate from Seattle (Victoria Clipper), Port Angeles (Olympic Peninsula), Bellingham and Anacortes in Washington.
Northern British Columbia
North Vancouver Island
- Port Hardy/Prince Rupert (Inside Passage)
- Port Hardy/Bella Coola (Discovery Coast)
- Port McNeill/Sointula/Alert Bay
Central Vancouver Island/Sunshine Coast
- Campbell River/Quadra Island/Cortes Island
- Powell River/Comox/Texada Island
- Qualicum Beach/Lasqueti Island
- Buckley Bay/Denman Island/Hornby Island
- Nanaimo/Gabriola Island
- Nanaimo (Departure Bay Ferry Terminal)
- Nanaimo (Duke Point Ferry Terminal)
West Coast Vancouver Island/Pacific Rim
Sunshine Coast
- Powell River/Comox/Texada Island
- Earls Cove/Saltery Bay/Sunshine Coast
- Horseshoe Bay/Langdale, Sunshine Coast
- Langdale/Gambier Island/Keats Island, Howe Sound
Greater Vancouver/North Shore
- Bowen Island (Snug Cove) – Horseshoe Bay
- Vancouver (Horseshoe Bay Ferry Terminal)
- Vancouver (Tsawwassen Ferry Terminal)
- Vancouver/Victoria Passenger Ferry (Service Cancelled January 2020)
Victoria/South Vancouver Island
- Victoria (Swartz Bay Ferry Terminal)
- Victoria (Inner Harbour)
- Victoria/Vancouver Passenger Ferry
- Sidney/Sidney Spit
- Brentwood Bay/Mill Bay
Gulf Islands
- Campbell River/Quadra Island/Cortes Island
- Denman Island/Hornby Island
- Crofton/Vesuvius, Saltspring Island
- Long Harbour, Saltspring Island
- Fulford Harbour, Saltspring Island
- Sturdies Bay, Galiano Island
- Village Bay, Mayne Island
- Lyall Harbour, Saturna Island
- Otter Bay, Pender Island
- Chemainus/Thetis Island/Penelakut Island (Kuper Island)
Washington, USA
- Washington: Port Angeles/Victoria
- Washington: Bellingham/Victoria
- Washington: Anacortes/Sidney
- Washington: Seattle/Victoria
Inland Terminals and Route Information
- Inland Ferry Services in British Columbia
Serving: Kootenay Lake, Upper Arrow Lake, Needles, Adams Lake, Columbia River, Francois Lake, Kootenay River, Shuswap Lake, Skeena River and Thompson River