BC Ferries sails 30 routes between 47 ports in Canada, mostly Tsawwassen, Swartz Bay and Horseshoe Bay. From Tsawwassen: Swartz Bay, Nanaimo (Duke Point), Nanaimo (Departure Bay), Galiano Island, Pender Island, Long Harbour (Salt Spring Island) and Mayne Island. From Swartz Bay: Galiano Island, Pender Island, Fulford Harbour (Salt Spring Island), Saturna Island and Mayne Island. From Horseshoe Bay: Nanaimo (Departure Bay), Langdale and Bowen Island. From Prince Rupert: Port Hardy, Skidegate, Bella Bella and Klemtu. From Port Hardy: Bella Coola. From Powell River: Comox and Texada Island. From Nanaimo Harbour: Gabriola Island. From Alert Bay: Sointula and Port McNeill. And from 10 other ports.