San Francisco's proposed budget for next year
$16.9B
That's about $20,000 for every person in San Francisco.
Mayor Lurie proposed this two-year budget on June 1. The Board of Supervisors rewrites it through late July.
The whole budget, one square at a time
Picture the city's $16.9B budget as 100 squares. Each one is about $169M.
The General Fund, by what it pays for
Tap a line to light up its squares. Tap several to compare.
- Most of it runs itself. About 55 of those squares are self-supporting services that mostly pay their own way: the airport, Muni fares, water and sewer. About 45 are the General Fund, the part City Hall actually fights over.
Your receipt
That's the whole city. What does it look like as $100 of the General Fund? Here is roughly where it would go. (Your full share of all city spending is about $20,000 a year.)
SAN FRANCISCO GENERAL FUND Your $100 share, FY2026-27 proposed Police, fire, sheriff, courts & jails $26.74 Homelessness, human services & neighborhoods $22.95 Health & hospitals (incl. ZSFG/Laguna Honda support) $20.07 Muni subsidy $8.77 City administration & general $8.35 Voter-mandated funds (library, seniors, kids…) $5.51 Streets & public works $2.88 Parks, arts & culture $2.87 Transfers not yet itemized $1.87 TOTAL $100.00
The last line is money the General Fund transfers out that public documents do not yet itemize by recipient. We leave it visible on purpose rather than hide it inside the other lines.
What's actually up for debate
More than half the city's budget pays for things it can't freely move. Here's how much is already locked in, and how much is genuinely left to debate.
Genuinely up for debate
about $2.5B–$4.0B
roughly a sixth to a quarter of the $16.9B budget
- Self-supporting services — $9.3B. The airport, water and sewer, Muni fares. They pay their own way, and that money can't be moved to anything else.
- Restricted state & federal grants — $1.3B. Inside the General Fund, but it can only be spent where Washington and Sacramento send it.
- Voter & charter set-asides — $1.4B. Money the General Fund must pass through every year: Muni, libraries, children's services, hospitals, and more.
- Required reserves — $123M. Rainy-day and stabilization deposits the charter requires.
- The rest of the General Fund — $4.8B. Mostly debt payments, ratified labor contracts, and named baselines the budget book lists but doesn’t price — which leaves only a sliver genuinely up for debate.
The General Fund figure here is the budget book's gross sources-and-uses total, slightly different from the $100 receipt's spending view. The discretionary share is a range, not a single number: its exact size depends on the Controller's June Revenue Letter, which prices each set-aside.
What changed
The budget closes a deficit and still grows about 5.4 percent. Here are the biggest department moves, and a few that are not what they look like.
Biggest increases
Biggest cuts
See all 54 (coming soon)
Positions and people
Headlines say the budget cuts hundreds of city positions: more than 400, even 550-plus. Two things hide inside that number: real people are losing their jobs, and most of the headline is something else.
People are losing their jobs
These cuts land on actual paychecks: city employees, and the nonprofit and community-organization workers the city pays to deliver services.
- 127 city workers got layoff notices in April 2026, across 18 departments. That's separate from the vacant-position cuts, and bumping/recall rules mean the final number who actually leave can differ and isn't disclosed.
- 9 more filled jobs the proposal would cut.
- 300–1,050 nonprofit and community-org layoffs tied to proposed contract cuts, projected, not executed. None had taken effect, because the budget wasn't adopted; estimates vary widely by method.
These layoff counts are reported (news coverage and a city personnel report to the Civil Service Commission, spring 2026), not extracted from the budget tables like the rest of this page.
So why do you hear “hundreds of positions cut”? Most of that figure is bookkeeping, not people. The city's own books show authorized positions falling by about 197, which splits in two:
Funded jobs being removed
~32
Real salaried jobs the city is removing. A net figure, so it already absorbs bigger moves underneath, like Building Inspection down ~58 while Planning adds ~56.
Unfunded "paper" positions
~165
Budget lines the city stopped funding years ago, kept on the books as "attrition savings." Cutting one removes no worker and saves no new money. The proposal's real savings come mostly from slow-walking hiring, not from deleting these.
Two different things hide inside one scary number. The headline, “hundreds of positions cut,” is mostly bookkeeping. The layoffs are what actually lands on people: 127 city workers so far, with hundreds more nonprofit jobs at stake if the budget passes as written. Both are real; the headline just collapses them into one.
Why you may see a bigger number
Broader vacancy counts get you to more than 400. The 550-plus version also rolls in a separate, older effort: Muni has shed about 500 vacancies since FY2019-20 (plus 89 more in April 2026), which the budget book cites as precedent, not this year's action.
Where it isn't painless
Not all painless: some cut vacancies were real unmet need (a police budget-manager job empty since December 2022; 911 dispatch short-staffed, hiring 45). Others had gone dormant under a long hiring slowdown. Neither all cleanup nor all lost service.
What a dollar buys
A budget is abstract until you ask what a dollar actually buys. Take one thing the city spends on — its response to homelessness. Here is what a year of each approach costs to serve one person or household.
These are not substitutes. The city funds all three because they serve people at different moments: prevention keeps a household that still has its home from losing it, while shelter and supportive housing serve people who are already unhoused. Read this as what each approach costs per year, not a menu to swap between.
One caveat: a household, a housing slot, and a single bed aren't the same unit, so read these as rough yearly costs, not a fair head-to-head.
One vote, two years
This is a two-year budget: this summer the Board approves both years together. Year one barely moves. Year two is where the real cuts are scheduled.
Year one (FY2026-27)
-31.99
net city positions, barely a dent. Most departments actually grow.
Year two (FY2027-28)
-248.80
net city positions. Homelessness support drops -$53M; parks, arts and culture drop -$69M. The cuts are approved now, scheduled for later.
Yes, but those were separate. In spring 2026 the city carried out a round of current-year layoffs, and this proposal eliminates vacant positions on top of that. Both are broken down earlier on this page, under Positions and people: most of the “positions cut” headline turns out not to be people losing jobs. What this scene adds is the year-two reductions above, approved now and scheduled for later.
Where it is now
This budget isn't final yet.
The Board of Supervisors rewrites the Mayor's proposal before voting. Track it like a package:
- Jun 1 Proposed
- June Board hearings you are here
- Jul 21 First vote
- Jul 28 Final vote
Go deeper
Want the detail behind the headlines? Three ways in.
Sources
Every figure on this page is machine-extracted from the documents below and verified against their printed totals — no numbers from press coverage or memory.
The number
The map (100 squares)
- Mayor's Proposed June 1st Budget Book, FY2026-27 & FY2027-28 (2026-06-01)
- Mayor's Proposed June 1st Budget Book, FY2026-27 & FY2027-28 — p.11, citywide sources by fund type (enterprise vs General Fund) (2026-06-01)
- tldrsf GF receipt build — General Fund current uses by service area (Budget Book p.58 Major Fund Recap) + transfers by recipient (interim AAO), verified to total $7.55B (gf_receipt.csv, methodology in RECEIPT.md) (2026-06-11)
Your receipt
What's actually up for debate
What changed
Positions and people
What a dollar buys
- SF Dept of Homelessness & Supportive Housing — “A Place For All” report (prevention $6,524/household, Figure 5 permanent-housing operating cost per slot) (2023-03-24)
- SF Controller, City Performance — Assessment of the San Francisco Shelter System (FY23 adult+TAY average $126.25/filled bed-night × 365 = $46,081/yr; ranges $38,854–$64,271 by site/program type) (2025-03-10)