# House Hacking in San Francisco (94110): Two BART stops and the deepest 2–4-unit stock in SF · The Rent Hacker

> San Francisco 94110 for house hackers: Mature, capital-backed upzoning, the deepest 2–4-unit stock in the metro, and two in-ZIP BART stations: a durable, tran

Canonical: https://therenthacker.com/house-hacking/sf-mission-bernal-94110/
Source: The Rent Hacker (https://therenthacker.com/). License: RSL, attribution required — https://therenthacker.com/license.xml

---

[San Francisco guide](/house-hacking/san-francisco/) · Tier A · Rank #4 of 27

# House hacking in San Francisco (Mission / Bernal Heights).

Mature, capital-backed upzoning, the deepest 2–4-unit stock in the metro, and two in-ZIP BART stations: a durable, transit-first house-hack ZIP that doesn't depend on any single future project.

**Status check:** Verified 2026-07-14: the Family Zoning Plan explicitly excludes the Eastern Neighborhoods (already upzoned historically), so it changes nothing about this ZIP's existing zoning capacity.

## What's actually happening in 94110

-   Adopted 2009; controlling
    
    Eastern Neighborhoods / Mission Area Plan (adopted Jan 2009): flexible height by street width, with density-limit and parking-minimum removal near the Mission, Valencia, and 24th St transit corridors. The mature, controlling upzoning. [SF General Plan Mission Area Plan](https://generalplan.sfplanning.org/Mission.htm)
    
-   Approved; construction 2027–2030
    
    Potrero Yard Modernization: an SFMTA bus-yard rebuild with up to ~100 affordable units at Bryant and Mariposa (straddling 94110/94103); Board approved March 2026, construction 2027–2030, opens 2030. The unit count has already been scoped down once. [SFMTA Potrero Yard Modernization Project](https://www.sfmta.com/projects/potrero-yard-modernization-project)
    
-   Operational
    
    16th St and 24th St Mission BART: two in or adjacent stations at 5–10 minutes to the Financial District, plus the 14/14R Mission, one of the city's highest-frequency bus corridors. SF General Plan Mission Area Plan
    

## The numbers

Median price

$1,225,000 (Redfin, May 2026)

Market rent

~$3,700/mo median (Zumper)

Property tax (San Francisco County)

1.183% combined effective (SF Treasurer FY2025-26, consolidated city and county); new buyers pay about 1.183% of purchase price in year one, then assessed value rises at the 2%/yr Prop 13 cap until resale

Per-bed rent band

$1,500–2,100/mo per room

ADU rent band

$2,800–3,500/mo (ADU or in-law)

Whole-home rent band

$5,500–7,000/mo whole-home

Underwriting vacancy

3.0% underwriting vacancy (structurally tight)

Appreciation scenarios

3 / 5 / 6 %/yr (conservative / base / upside)

Vacancy is structurally tight at ~3%. Appreciation basis: Durable transit-first base; upside on Potrero Yard plus corridor infill. Rent bands are city-level medians; confirm the specific parcel before trusting any of them. [Run your own scenario in the calculator](/calculator/).

## Buildings we underwrote in 94110

71 buildings in 94110 carry a record. 10 beat renting and index funds, 1 rejected; the rest did not. Every row links to its own page, with the numbers it was scored on.

Property

At our defaults

Status

[2-unit building · Inner Mission flats (26th St near Mission St; nearest neighborhood centroid)](/property/rh-9opuri/) Members 2 units

+$90,717 House-Hack

Underwritten — beats renting and index funds, below the publish cut

[3159-3163 23rd St](/property/rh-vbf7de/3159-3163-23rd-st/) 4 units · $1,595,000

+$163,143 House-Hack

Underwritten — beats renting and index funds, below the publish cut

[28-30 Camp St](/property/rh-q0ix89/28-30-camp-st/) 2 units · $1,059,000

+$82,593 House-Hack

Underwritten — beats renting and index funds, below the publish cut

[1383-1385 Florida St](/property/rh-r31abn/1383-1385-florida-st/) 2 units · $1,299,000

+$248,084 House-Hack

Published pick #5

[2816 23rd St](/property/rh-uxknqc/2816-23rd-st/) 2 units · $999,000

+$186,763 House-Hack

Underwritten — beats renting and index funds, below the publish cut

[2877 Cesar Chavez St](/property/rh-7l10an/2877-cesar-chavez-st/) 2 units · $899,000

+$158,969 House-Hack

Underwritten — beats renting and index funds, below the publish cut

[380 Dolores St, Apt 9](/property/rh-fhkd2y/380-dolores-st-apt-9/) 1 unit · $246,000

+$347,530 House-Hack

Rejected — the verified listing record is filed under ZIP 94114, our listing feed says 94110 — ZIP disagreement (listing-feed ZIP error) · tenancy-in-common

[3660 20th St](/property/rh-4m43u6/3660-20th-st/) 2 units · $1,350,000

+$67,396 House-Hack

Underwritten — beats renting and index funds, below the publish cut

[3755-3759 Mission St](/property/rh-9zbn2g/3755-3759-mission-st/) 2 units · $1,399,000

+$9,784 House-Hack

Underwritten — beats renting and index funds, below the publish cut

[2388-2390 Bryant St](/property/rh-r24qg8/2388-2390-bryant-st/) 2 units · $1,495,000

+$6,305 House-Hack

Underwritten — beats renting and index funds, below the publish cut

[161 Capp St](/property/rh-qq3j4m/161-capp-st/) 1 unit · $779,000

−$10,743 S&P 500

Underwritten — the index wins at our defaults

[380 Dolores St, Apt 10](/property/rh-x3wl1l/380-dolores-st-apt-10/) 1 unit · $639,000

−$13,205 S&P 500

Underwritten — the index wins at our defaults

[3173 21st St](/property/rh-fyvu9j/3173-21st-st/) 2 units · $1,750,000

−$50,265 S&P 500

Underwritten — the index wins at our defaults

[1056-1058 Treat Ave](/property/rh-vmv2fk/1056-1058-treat-ave/) 2 units · $1,125,000

−$59,782 S&P 500

Underwritten — the index wins at our defaults

[20-26 Dorland St](/property/rh-ojloni/20-26-dorland-st/) 4 units · $1,199,000

−$75,588 S&P 500

Underwritten — the index wins at our defaults

[2924-2926 Cesar Chavez St](/property/rh-j868sd/2924-2926-cesar-chavez-st/) 2 units · $1,328,000

−$97,665 S&P 500

Underwritten — the index wins at our defaults

[2782 Harrison St](/property/rh-z3901m/2782-harrison-st/) 2 units · $1,500,000

−$135,487 S&P 500

Underwritten — the index wins at our defaults

[2911 Folsom St](/property/rh-6mef0m/2911-folsom-st/) 2 units · $1,500,000

−$135,487 S&P 500

Underwritten — the index wins at our defaults

[578 San Jose Ave](/property/rh-ug2lq3/578-san-jose-ave/) 3 units · $1,150,000

−$140,158 S&P 500

Underwritten — the index wins at our defaults

[2171 Mission St, Apt 201](/property/rh-f4tru3/2171-mission-st-apt-201/) 1 unit · $799,000

−$158,406 S&P 500

Underwritten — the index wins at our defaults

[2269 Bryant St](/property/rh-0t2qil/2269-bryant-st/) 2 units · $1,195,000

−$162,126 S&P 500

Underwritten — the index wins at our defaults

[71 Santa Marina St](/property/rh-dqduil/71-santa-marina-st/) 2 units · $895,000

−$235,296 S&P 500

Underwritten — the index wins at our defaults

[108 Albion St](/property/rh-cvpei8/108-albion-st/) 1 unit · $599,000

−$295,214 S&P 500

Underwritten — the index wins at our defaults

[366-368 Richland Ave](/property/rh-gkac9k/366-368-richland-ave/) 2 units · $1,295,000

−$307,074 S&P 500

Underwritten — the index wins at our defaults

[2967-2969 26th St](/property/rh-lsq3x7/2967-2969-26th-st/) 2 units · $1,095,000

−$320,271 S&P 500

Underwritten — the index wins at our defaults

[333 Holly Park Cir](/property/rh-r8sblq/333-holly-park-cir/) 1 unit · $1,159,000

−$407,701 S&P 500

Underwritten — the index wins at our defaults

[3356-3360 24th St](/property/rh-5h5765/3356-3360-24th-st/) 3 units · $2,200,000

−$364,554 S&P 500

Underwritten — the index wins at our defaults

[3001 25th St](/property/rh-7turjb/3001-25th-st/) 2 units · $1,795,000

−$455,810 S&P 500

Underwritten — the index wins at our defaults

[632 Shotwell St](/property/rh-iel102/632-shotwell-st/) 1 unit · $1,149,000

−$459,548 S&P 500

Underwritten — the index wins at our defaults

[2906 Folsom St](/property/rh-k3ny5o/2906-folsom-st/) 2 units · $1,800,000

−$528,828 S&P 500

Underwritten — the index wins at our defaults

[1629 Dolores St, Apt 3](/property/rh-czk17e/1629-dolores-st-apt-3/) 1 unit · $1,095,000

−$570,039 S&P 500

Underwritten — the index wins at our defaults

[45 Bartlett St, Unit 408](/property/rh-rweg8m/45-bartlett-st-unit-408/) 1 unit · $999,000

−$582,002 S&P 500

Underwritten — the index wins at our defaults

[2725 20th St](/property/rh-d07c7m/2725-20th-st/) 2 units · $1,388,000

−$592,240 S&P 500

Underwritten — the index wins at our defaults

[2963 23rd St](/property/rh-a6b2qq/2963-23rd-st/) 2 units · $1,600,000

−$592,453 S&P 500

Underwritten — the index wins at our defaults

[2619 Folsom St](/property/rh-m270f9/2619-folsom-st/) 2 units · $1,699,000

−$594,539 S&P 500

Underwritten — the index wins at our defaults

[2437-2441 24th St](/property/rh-e276ok/2437-2441-24th-st/) 3 units · $1,550,000

−$602,162 S&P 500

Underwritten — the index wins at our defaults

[Harrison St](/property/rh-ttpqgg/harrison-st/) 1 unit · $1,250,000

−$632,985 S&P 500

Underwritten — the index wins at our defaults

[2773 Folsom St, Apt 201](/property/rh-2ioy8j/2773-folsom-st-apt-201/) 1 unit · $1,149,000

−$637,606 S&P 500

Underwritten — the index wins at our defaults

[1294 Guerrero St](/property/rh-nxgxgx/1294-guerrero-st/) 3 units · $1,749,000

−$640,611 S&P 500

Underwritten — the index wins at our defaults

[739 Ellsworth St](/property/rh-p113mp/739-ellsworth-st/) 1 unit · $1,395,000

−$660,132 S&P 500

Underwritten — the index wins at our defaults

[2950-2952 25th St](/property/rh-d03vh9/2950-2952-25th-st/) 1 unit · $1,499,000

−$686,600 S&P 500

Underwritten — the index wins at our defaults

[3774 Mission St](/property/rh-gmqoe1/3774-mission-st/) 2 units · $1,900,000

−$700,116 S&P 500

Underwritten — the index wins at our defaults

[3697-3699 Mission St](/property/rh-bqfcuc/3697-3699-mission-st/) 2 units · $1,895,000

−$707,896 S&P 500

Underwritten — the index wins at our defaults

[431 Capp St, Unit A](/property/rh-1hguhd/431-capp-st-unit-a/) 1 unit · $1,124,999

−$716,796 S&P 500

Underwritten — the index wins at our defaults

[103 Tiffany Ave](/property/rh-uomyag/103-tiffany-ave/) 1 unit · $1,195,000

−$718,669 S&P 500

Underwritten — the index wins at our defaults

[3323-3325 26th St](/property/rh-figdnk/3323-3325-26th-st/) 2 units · $1,695,000

−$743,392 S&P 500

Underwritten — the index wins at our defaults

[199 Tiffany Ave, Apt 304](/property/rh-jj0dcp/199-tiffany-ave-apt-304/) 1 unit · $1,195,000

−$790,698 S&P 500

Underwritten — the index wins at our defaults

[3235 17th St](/property/rh-6vm7u9/3235-17th-st/) 1 unit · $1,298,000

−$809,891 S&P 500

Underwritten — the index wins at our defaults

[301-303 San Jose Ave](/property/rh-fbyst9/301-303-san-jose-ave/) 2 units · $1,560,000

−$885,966 S&P 500

Underwritten — the index wins at our defaults

[2770 23rd St](/property/rh-hbjeza/2770-23rd-st/) 2 units · $1,999,999

−$907,403 S&P 500

Underwritten — the index wins at our defaults

[3380 22nd St](/property/rh-4398qf/3380-22nd-st/) 1 unit · $1,495,000

−$933,411 S&P 500

Underwritten — the index wins at our defaults

[3691-3695 Mission St](/property/rh-n21wqa/3691-3695-mission-st/) 2 units · $2,095,000

−$997,723 S&P 500

Underwritten — the index wins at our defaults

[39 San Carlos St, Apt 401](/property/rh-carfv4/39-san-carlos-st-apt-401/) 1 unit · $1,550,000

−$1,052,696 S&P 500

Underwritten — the index wins at our defaults

[90 Peralta Ave](/property/rh-1e0t77/90-peralta-ave/) 2 units · $1,595,000

−$1,190,341 S&P 500

Underwritten — the index wins at our defaults

[282 Fair Oaks St](/property/rh-s484kt/282-fair-oaks-st/) 1 unit · $1,750,000

−$1,306,165 S&P 500

Underwritten — the index wins at our defaults

[8 Porter St](/property/rh-owdpp7/8-porter-st/) 1 unit · $1,988,888

−$1,329,723 S&P 500

Underwritten — the index wins at our defaults

[751-753 Capp St](/property/rh-h2omci/751-753-capp-st/) 3 units · $3,648,000

−$1,498,047 S&P 500

Underwritten — the index wins at our defaults

[2730 23rd St](/property/rh-0cx0ru/2730-23rd-st/) 2 units · $2,998,888

−$1,502,722 S&P 500

Underwritten — the index wins at our defaults

[3475-3479 18th St](/property/rh-eiw6pt/3475-3479-18th-st/) 1 unit · $1,750,000

−$1,552,023 S&P 500

Underwritten — the index wins at our defaults

[280 Fair Oaks St](/property/rh-aq0xfa/280-fair-oaks-st/) 2 units · $2,395,000

−$1,847,153 S&P 500

Underwritten — the index wins at our defaults

[3545 20th St](/property/rh-oynvvb/3545-20th-st/) 1 unit · $2,700,000

−$1,869,326 S&P 500

Underwritten — the index wins at our defaults

[942 S Van Ness Ave](/property/rh-nl520d/942-s-van-ness-ave/) 1 unit · $2,295,000

−$1,918,667 S&P 500

Underwritten — the index wins at our defaults

[50 Arnold Ave](/property/rh-6uquq6/50-arnold-ave/) 1 unit · $2,488,000

−$1,945,216 S&P 500

Underwritten — the index wins at our defaults

[834-838 Dolores St](/property/rh-7cj8sq/834-838-dolores-st/) 2 units · $2,595,000

−$2,047,614 S&P 500

Underwritten — the index wins at our defaults

[257 San Jose Ave](/property/rh-3st6f3/257-san-jose-ave/) 2 units · $3,298,000

−$2,278,034 S&P 500

Underwritten — the index wins at our defaults

[323-327 San Jose Ave](/property/rh-xinjdr/323-327-san-jose-ave/) 3 units · $3,450,000

−$2,287,696 S&P 500

Underwritten — the index wins at our defaults

[101-103 Elsie St](/property/rh-2j698m/101-103-elsie-st/) 2 units · $2,795,000

−$2,458,374 S&P 500

Underwritten — the index wins at our defaults

[23-25 Peralta Ave](/property/rh-vzdwq8/23-25-peralta-ave/) 2 units · $2,995,000

−$2,965,477 S&P 500

Underwritten — the index wins at our defaults

[30 Fair Oaks St](/property/rh-5tw8qg/30-fair-oaks-st/) 2 units · $3,495,000

−$3,294,332 S&P 500

Underwritten — the index wins at our defaults

[280-282 Fair Oaks St](/property/rh-khgeyc/280-282-fair-oaks-st/) 2 units · $4,295,000

−$3,314,758 S&P 500

Underwritten — the index wins at our defaults

[653 Dolores St](/property/rh-t2x2sz/653-dolores-st/) 1 unit · $6,800,000

−$6,386,374 S&P 500

Underwritten — the index wins at our defaults

The full [board](/board/) shows every region's current week; this table is every record we hold for 94110, newest basis first.

## The house-hack angle

The metro's richest supply of pre-1940 2–4-unit flats with separable in-law units. Mission and Bernal tenant demand is structurally deep (young professionals, artists, tech), so room-by-room and small-multi both work.

## What breaks it

-   Premium land basis for the unit count, against Prop 13-driven low-basis incumbent competition
-   Strong rent-control exposure on older multi-unit stock: verify vacancy-decontrol status per building before modeling market rents
-   Potrero Yard housing units are at risk (already scoped down once)

This page is the standing analysis. The weekly part, actual San Francisco-area listings that pass the math, lands on the San Francisco board every Tuesday.

[This week's San Francisco board](/board/sf-proper/)

Have a specific address? [Look up any San Francisco building](/lookup/) — free parcel facts, and Underwrite an address — $79 for the full one.

Want this analysis for a specific building? Any San Francisco address, underwritten the same way: cautious rents, the registry, the S&P line.

[Look up any San Francisco address →](/lookup/)

A full report for an address you pick: Underwrite an address — $79, delivered within one business day.

[This week's San Francisco board](/board/sf-proper/) · [Read past San Francisco issues](/issues/sf-proper/) · [Every pick, on the record](/track-record/) · [How a deal becomes a pick](/methodology/)

Data synthesized 2026-07-06, catalysts re-verified 2026-07-14. Mortgage-rate basis: 6.43% (Freddie Mac PMMS, a seven-week low; 6.67% a year ago). Sources are the public planning documents and market listings named above, fetched on the synthesis date. Nothing here is investment advice; every deal needs a bindable insurance quote and parcel-level verification.
