← Back to the map

About this map

A reference map of ferry routes across the Salish Sea, gathered into one place.

Why this exists

Good ferry maps around the Salish Sea usually stop at a single operator. This project exists to show Washington State Ferries, BC Ferries, Black Ball, Kitsap Transit, Victoria Clipper, Puget Sound Express, Hullo, the SeaBus, the False Creek ferries, the small island foot ferries and water taxis, and the county and community ferries together on one map so visitors can see the whole network at a glance.

It is especially meant for trip ideas that mix bikes, foot passengers, and multiple agencies. Instead of piecing together several operator sites by hand, you can see how a loop or crossing fits into the broader shape of the Salish Sea.

What it covers

The map covers ferry routes across Puget Sound, the Strait of Georgia, and the Strait of Juan de Fuca, including both vehicle ferries and passenger-only services.

  • Washington State Ferries — all 8 active routes plus the currently suspended Anacortes–Sidney, BC run
  • BC Ferries — every route within the Salish Sea proper: the three major Strait of Georgia crossings, the Sunshine Coast/Howe Sound routes, the Southern Gulf Islands, and the smaller central-Vancouver-Island crossings
  • Black Ball Ferry Line — the MV Coho between Port Angeles and Victoria
  • Kitsap Transit — the Bremerton, Kingston, and Southworth fast passenger ferries to Seattle, and the Bremerton foot ferries to Port Orchard and Annapolis
  • Pierce County — the Steilacoom ↔ Anderson Island car ferry, including the Ketron Island request stop
  • Victoria Clipper — passenger-only service between Seattle and Victoria
  • Skagit County — the Guemes Island ferry
  • Whatcom County — the Whatcom Chief between Gooseberry Point and Lummi Island
  • Puget Sound Express — seasonal passenger service between Port Townsend and Friday Harbor
  • Harbor Hopper — the Ports of Everett and South Whidbey's summer foot ferry between Everett and Langley
  • Hat Island Ferry — the Another Holiday between Everett and Hat Island
  • Hullo — passenger service between downtown Nanaimo and downtown Vancouver
  • TransLink SeaBus — Waterfront to Lonsdale Quay across Burrard Inlet
  • Herron Island Ferry — the private ferry to Herron Island, for residents and their guests only
  • Port of Everett — the summer Jetty Island Ferry from the Everett waterfront
  • Sidney Spit Ferry — the summer foot ferry from Sidney to Sidney Spit, in the Gulf Islands National Park Reserve
  • Protection Island Ferry and Saysutshun Ferry — Nanaimo harbour's foot ferries to Protection Island, run by the Dinghy Dock Pub, and to Saysutshun (Newcastle Island), run by the Snuneymuxw First Nation in summer
  • Lund Water Taxi — the year-round crossing from Lund to Savary Island
  • Hornby Island Water Taxi — Big Animal Encounters' spring and summer run from Comox to Hornby Island
  • Aquabus and False Creek Ferries — the small passenger ferries around False Creek in Vancouver

This is a route map, not a trip planner: schedules and fares are intentionally out of scope. Route lines and terminal locations are approximate and for reference only — not for navigation.

Sources and credits

Routes and terminals are compiled by hand from each operator’s own route and schedule pages, cross-checked against Wikipedia, and last updated in September 2026. Every terminal position is checked against its dock in OpenStreetMap.

Route lines follow ferry routes mapped in OpenStreetMap. Where none is mapped, the line is routed through a navigable-water network derived from OpenStreetMap’s coastline. Map data © OpenStreetMap contributors (opens in a new tab), available under the Open Database License (opens in a new tab).

Basemaps are provided by OpenFreeMap (opens in a new tab) (© OpenMapTiles, data from OpenStreetMap), OpenStreetMap (opens in a new tab), VersaTiles (opens in a new tab), and Stamen Terrain from Stadia Maps (opens in a new tab). Each basemap’s credit is also shown in the corner of the map.

Schedule checks. The published GTFS feeds of these operators are used when the site is built, to check that each route, its stops, and its service days still match the curated data. They are not shown on the map.

  • Washington State Ferries
  • BC Ferries (hosted by Trillium)
  • Black Ball Ferry Line
  • King County Metro (King County Water Taxi)
  • Skagit County (Guemes Island Ferry)
  • Hullo
  • Aquabus

Transit scheduling, geographic, and real-time data provided by permission of King County.

Live vessel positions for Washington State Ferries come from the WSDOT Washington State Ferries Vessels API (opens in a new tab), provided as is by the Washington State Department of Transportation.

Who I am

I’m Ivan Storck. I build software in Seattle and spend as much time as I can on the water around it, sailing and paddling the Salish Sea and flying a camera drone over interesting places. Most of the terminals on this map are ones I have waited at.

By day I am a Senior Solutions Architect at lululemon, working on content management, design systems, and brand technology. The rest of the time I take a small number of fractional CTO engagements and work on sustainability tooling for the web (opens in a new tab), including wsg-check (opens in a new tab), a checker for the W3C Web Sustainability Guidelines (opens in a new tab). Before that I co-founded Code Fellows (opens in a new tab), taught Ruby and JavaScript to several hundred bootcamp students, and spent six years on the teaching faculty of the University of Washington’s Rails certificate program.

This map sits where those two halves meet: geospatial data, a region I know well, and a small page that tries not to ask much of the network it travels over. More of my work is at ivanstorck.com (opens in a new tab).