Post

Treasure Island Ferry

Treasure Island Ferry

Ferry Fundamentals

The Treasure Island Ferry, operated by PROP SF, provides passenger ferry service between Treasure Island’s ferry terminal and the Ferry Building in mainland San Francisco. It runs approximately hourly between 7:30 and 20:00, with some trips as close as 35 minutes or as far as 2 hours apart and a slightly different schedule on weekends. Fares are $5 each way, with free fares for children under 5 years old and a monthly pass offered at $150.

Ferry History

The current ferry service began operating in March 2022.

Photo taken near sunset of orange-topped ferry boat at the Treasure Island terminal, with a a palm tree in the foreground and the Bay Bridge in the background.

Infrastructure and sunsets.

If you’re interested in bureaucracy, you can see the administrative record at the California Public Utilities Commission here, or by searching for proceeding A1909011 if that link doesn’t work. The process generated quite a few documents, even for this relatively straightforward service. Here’s how PROP SF and Treasure Island Community Development explained it in a slide deck.

While ridership figures are not publicly available, anecdotally they are trending upwards as more new residents move in and awareness increases. Special events like the Cake Picnic also bring riders to the ferry – I had no idea it was happening and found myself surrounded by cake-toting picnickers while returning home from a bike ride.

This blog still has a “Days since I’ve been the only rider on the Treasure Island Ferry” counter in the sidebar, a frequent occurrence when I first moved here that became steadily less frequent. The other day I approached the dock seeing nobody else around, but minutes before departure 6 other riders appeared.

The Personal Touch

Social Transit

I think it’s a good thing that public transit is a common experience with other riders. People are mostly good, and being around all kinds of folks reinforces a sense of shared humanity. That said, most transit bus and rail passengers in urban areas (myself included) avoid talking to strangers unless somebody needs directions or other assistance.

The ferry is different. First of all, the novelty of the service and large numbers of tourists lead to many questions along the lines of “Am I in the right place?”, “How do I pay for this thing?”, “What’s there to do over there?”, etc. But beyond those everyday questions, I’ve seen strangers and acquaintances chat quite a bit about other topics like the weather, their day, the development, and so on. Perhaps it’s something about being on a boat.

Not Worth It!

While waiting in line not so long ago, some alighting passengers asked us if we were headed to Treasure Island, and when we said yes they exclaimed “Not worth it!”, and complained further that the boat didn’t even take them on a tour around the island. Maybe they were looking for Gilligan’s Island, or perhaps Tom Sawyer Island? Me and the other fellow in line got a chuckle out of this, it’s very much worth it to go home.

There’s also this funny TikTok from a creator with videos for many different transit lines. As described in page 31 of a Treasure Island Development Authority board report from April, “the TikTok creator mentioned that there was not enough wayfinding information about what to do or see on the island once they disembarked from the ferry”. More wayfinding has been added since then.

Service Ideas

GTFS Realtime, Anyone?

If you’ve ever looked for transit options on Google Maps, Apple Maps, or, my favorite, Transit App, it probably worked because of the General Transit Feed Specification (GTFS). GTFS is the open standard that transit agencies use to publish schedules, stop locations, and so on in a format everyone can understand. Laurie Merrell has a great explainer of this and other kinds of transit data on her blog.

The Treasure Island Ferry appears in trip planners, so sure enough there’s a GTFS Schedule feed, published by MTC. How it got there, I don’t know. But me and countless other transit riders are surely glad it did!

It does not, however, have a GTFS Realtime feed. So those maps and tools display scheduled service no matter what is actually happening. Most transit operators in California include realtime data, giving riders updates on cancelled or late trips and other disruptions.

While the ferry is generally reliable, stuff can and does happen to disrupt service. Trips are occasionally cancelled or delayed due to weather. GTFS Realtime can also communicate more complex service information. Recently PROP SF substituted a different, smaller boat for several days. The ferry kept to its schedule, but the replacement boat had much less bike capacity. I saw several riders get stranded at the dock on Treasure Island when their bikes wouldn’t fit; they seemed to be on a long recreational ride and may have planned differently if they knew there would be less bike space than usual.

Single-level ferry boat on the bay with a concrete seawall in the foreground.

The backup boat.

The operator currently communicates disruptions via email, in their app, and maybe also on X (I can’t tell since I deleted my account). I’m not sure if the emails go out to anyone with an account on their app or just pass holders. I appreciate the effort, but riders discovering the service on their phone using a trip planning app won’t get the info unless they know to seek it out elsewhere.

It would be great to see PROP SF work with MTC and other partners to publish a GTFS Realtime feed, too.

In the mean time, I guess there’s VesselFinder?

Payment Friction

According to the website, tickets are available from the website/app with a credit or debit card, or with cash, debit, or credit at the time of boarding. This covers every common payment option except the regional Clipper transit card, which private transit services may not be able to participate in.

A single crew member is tasked with taking all those payments using a single iPad (and their pockets in the case of cash). When there are many riders paying in different ways, it can slow boarding down.

Not taking Clipper is understandable. But Clipper 2.0 is finally set to roll out on December 10, giving riders the ability to tap to ride with a credit/debit card or mobile wallet across the Bay Area. Once this happens it would be great if the Treasure Island Ferry offered standalone tap to ride validators at each terminal – a simple and fast option that would free up the crew to assist other passengers in the payment and boarding process. Even without becoming part of the Clipper system, this would make it seem more seamless and aligned with other transit operators.

If you’re a transit operator and curious about GTFS Realtime and open payments, https://www.camobilitymarketplace.org/ has some good info and, optionally, state-negotiated contracts. I do work with Cal-ITP.

Ditch the Gap

Currently, there’s a two-hour gap in service during the afternoon. I’ve noticed that the ferry motors towards the East Bay during this break, apparently back to its home base in the Emeryville Marina. There, the crews change shifts.

But why not change shifts on the island? I doubt that the boat needs to refuel midday with the distances being so short. Motoring back and forth to Emeryville burns fuel without transporting passengers, increasing costs and emissions.

This is the perfect use case for a crew car – the incoming crew can drive across the bridge and the outgoing crew can drive the car back. Moving two people by car is more efficient than running an empty ferry, and eliminating the schedule gap will create a more attractive alternative to driving for island residents and visitors.

Coping With Crowds

The ferry is usually not that busy, but special events and busy tourist days can bring more riders than space available. It would be helpful to have an idea of if you can get on the boat or not before departure time, perhaps with some floor markings that estimate place in line vs. boat capacity.

Selling The Dream

The ferry features heavily in marketing materials from the developer.

Screenshot of https://www.490palmssf.com/ showing rendering of future development on Treasure Island with ferry service highlighted

You’ll note the emphasis is on span over frequency.

So far, ferry passes have been consistently offered as a leasing incentive. I’ve appreciated the gesture, and I hope the passes prompt less transit-inclined residents to start thinking about transit more, too.

The bus remains the more practical choice. Muni’s 25 makes its loop of the island every 20 minutes weekday daytime, every 25 minutes late evenings and weekends, and even every 30 minutes overnight. Jarrett Walker writes eloquently about the importance of frequency for transit riders, comparing infrequent service to “an automated gate at the end of your driveway that only opened once an hour, on the hour”.

Fares and fare policy also favor the bus. Muni’s base fare is $2.85 Clipper/$3.00 cash with various passes and discounts available. Crucially, this includes free transfers to mainland Muni services for 2 hours, which you’ll likely need unless your destination is within walking distance of the waterfront.

A transit pass program (mandatory for each market-rate household, optional and discounted for below market-rate households) is part of the Treasure Island Transportation Program. This pass is intended to cover ferry service as well as Muni buses to mainland SF plus AC Transit buses to the East Bay. It does not exist yet.

The Future

The plan is to bring the ferry into public operation with San Francisco Bay Ferry, but this won’t happen for a while yet. It looks like Summer 2027 is the current projection based on this October 28, 2025 Treasure Island Mobility Management Authority board report.

In the mean time, PROP SF has been doing a solid job overall and I look forward to continuing to ride the ferry when it fits my schedule.

This post is licensed under CC BY 4.0 by the author.