Pricing by neighborhood — Flooring · San Francisco, CA
| Neighborhood | Low | High | Why the price moves |
|---|---|---|---|
| Pacific Heights / Russian Hill / Marina | $95 | $165 | Pre-1906 Victorian + Edwardian, original old-growth Douglas fir, quartersawn oak restoration $12-$20/sqft |
| Mission / Castro / Noe Valley | $85 | $140 | Victorian flats refinish work $8-$14/sqft, lath-and-plaster sensitivity, gentrification turnover |
| SOMA / South Beach / Mission Bay | $80 | $135 | Loft + high-rise condo, polished concrete and engineered hardwood, HOA freight-elevator slots |
| Sunset / Richmond | $75 | $120 | 1920s row houses, original Douglas fir refinish, humidity from coastal fog affects acclimation |
| Bernal Heights / Glen Park | $75 | $115 | Mid-tier residential, mixed pre-war + mid-century stock, hillside access can add labor |
| Western Addition / Hayes Valley / NoPa | $80 | $130 | Mixed Victorian + mid-rise, transit-corridor parking issues, refinish + engineered installs |
| Bayview / Hunters Point | $65 | $100 | Working-class single-family + duplex, budget LVP and laminate, faster turnover schedules |
| Excelsior / Outer Mission | $65 | $100 | South-side budget end, post-war single-family, easier access, budget LVP dominant |
Flooring hourly rate by neighborhood in San Francisco, CA. Ranges reflect typical contractor pricing including travel time, building-type access, and local labor density.
How much does a flooring cost in San Francisco?
San Francisco flooring installers charge $70-$120 per hour for scheduled work, with an average of $95/hr. Most installers also quote by the square foot: $5-$12 for laminate, $6-$13 for luxury vinyl plank, $10-$20 for engineered hardwood, $14-$25 for solid hardwood install, and $5-$12 for refinishing existing hardwood. Neighborhood matters: Pacific Heights and Marina Victorian restoration sits at the top of the range because of original Douglas fir, quartersawn oak, and parking + HOA friction. Bayview, Excelsior, and Outer Mission turnover work sits at the bottom.
The Bureau of Labor Statistics reports the median hourly wage for floor layers, carpet installers, and tile setters in the San Francisco-Oakland-Hayward metro at $40.33. The gap between that and the $95/hr you actually pay is real and explainable, and the rest of this article walks through where every dollar goes, which CSLB licensing and EPA certifications apply, and what to ask when comparing quotes.
San Francisco Flooring Rates by Neighborhood
San Francisco is not one flooring market. A Pacific Heights Victorian parlor with original old-growth Douglas fir and a Historic Preservation Commission review is a different job than an Excelsior post-war single-family where LVP needs to be down before the next tenant moves in. The full per-neighborhood breakdown sits at the top of this page; this section explains the why behind the numbers.
The premium for Pacific Heights, Russian Hill, Marina, and the inner Mission is structural. Pre-1906 housing carries original old-growth Douglas fir and quartersawn oak that require species-matched salvage stock and slow hand-sanding around historic patches. Article 10 and Article 11 districts trigger Historic Preservation Commission review on visible work. Parking in these neighborhoods adds $25-$50 in paid lots and meter fees per service call. South-side neighborhoods (Bayview, Excelsior, Outer Mission) run cheaper because the product is typically LVP or laminate, the subfloor is post-war plywood, and parking is free.
Comparable cities for cross-reference:
- Los Angeles flooring costs — $60-$100/hr
- San Jose flooring costs — $68-$115/hr
- Seattle flooring costs — $65-$110/hr
- Boston flooring costs — $66-$109/hr
San Francisco sits at the top of the national range, roughly 15-25% above the California metro average, mostly explained by Victorian restoration premiums, EPA RRP requirements on the 95%+ pre-1978 housing stock, and the cost of parking and access in dense neighborhoods.
San Francisco Flooring Pricing by Building Type
Neighborhood is one axis. Building type is the other, and it often matters more than the zip code. A Pacific Heights pre-1906 Victorian with original old-growth Douglas fir costs noticeably more to refinish than a 2015 Mission Bay condo with engineered oak on the same block, because the work itself is slower, the material is non-standard, and salvage-stock matching adds days to the schedule.
| Building type | Hourly rate | Why the price moves |
|---|---|---|
| Pre-1906 Victorian / Edwardian (Pacific Heights, Marina, Mission, Castro) | $100-$165 | Original old-growth Douglas fir, quartersawn oak refinishing, lath-and-plaster sensitivity, Historic Preservation Commission review, narrow stair access |
| 1920s-1940s row house (Sunset, Richmond, Bernal) | $80-$130 | Original Douglas fir refinish work, plank subfloors with gaps, coastal-fog humidity affects acclimation |
| Mid-century single-family (Excelsior, Outer Mission, Bayview) | $70-$110 | Post-war plywood subfloors, possible asbestos mastic in pre-1980 vinyl, standardized rooms |
| SOMA / Mission Bay loft + high-rise condo (post-2000) | $80-$130 | Concrete subfloors, HOA acoustic underlayment requirements (IIC 50+), freight-elevator slot scheduling |
| New construction / luxury custom | $85-$135 | Wide-plank European white oak, custom borders, herringbone or chevron patterns, radiant-heat substrate prep |
The Victorian premium is real and not arbitrary. Original old-growth Douglas fir in Pacific Heights, Marina, and Cow Hollow is tighter-grained than anything commercially milled today, and the boards have already been refinished 4-6 times over 120 years. The remaining sand depth is minimal, requiring careful work with a buffer instead of a drum sander on the final passes. Most SF flooring crews either specialize in pre-1906 refinishing or actively avoid it. If your building was built before 1939, ask whether the contractor has refinished original Douglas fir or quartersawn oak in the last 12 months and whether they have salvage-stock relationships for species-matched repairs.
What Your Billed Hour Actually Covers
The $40.33 BLS wage is take-home pay for the flooring installer, not what the customer pays. The customer rate of $70-$120/hr covers everything the business needs to legally operate in San Francisco.
Roughly: 50% labor, 13% commercial liability and bonding insurance ($10,000-$18,000/yr per crew in SF because dust, finish overspray, and California’s tort exposure drive higher property-damage claim rates, plus the $25,000 CSLB contractor bond and $15,000 LLC bond), 10% vehicle and specialty tools (drum sander, edger, dust-containment vacuum, miter saw, moisture meter, concrete grinder for SOMA work), 11% California-specific licensing and overhead (CSLB C-15 renewal, EPA RRP firm certification, SF Public Works contractor filing, parking, dispatch), and 16% contractor profit margin. Strip any of those out and the business cannot stay open.
This is why the cheapest quote is not always the right one. An installer bidding $45/hr is either operating without a current CSLB C-15 (cannot legally take work over $500), without EPA RRP certification in pre-1978 stock (lead-disturbance fines reach $40,000 per violation), or without the required $40K in combined bonding. Your homeowner’s policy will not cover the resulting damage, and a denied claim during a sale kills the deal.
San Francisco Flooring Permits, Licensing, and What They Cost
Most like-for-like flooring replacement does not need a building permit in San Francisco, but the licensing and certification stack is meaningful and Historic Preservation Commission review can stop a job cold in Article 10 and Article 11 districts. Skipping the certification step is the most common way SF homeowners turn a $6,000 job into a $14,000 problem.
| Requirement | Issuer | Typical cost | Lead time |
|---|---|---|---|
| CSLB C-15 Flooring & Floor Covering Contractor license | CA Contractors State License Board | $200-$400 renewal (paid by contractor) + $25,000 bond | Verified on cslb.ca.gov |
| EPA Lead Renovator (RRP) firm + worker certification | EPA / CA DTSC | $300-$550 firm + $200/installer | Required for pre-1978 housing |
| SF DBI building permit for subfloor structural work | SF Dept of Building Inspection | $175-$600 | 3-8 business days |
| Historic Preservation Commission review (Article 10/11) | SF HPC | $0-$500 application; cost is time | 4-12 weeks |
| Condo / TIC / HOA alteration approval | Building / management | $0-$1,000 admin fee | 1-4 weeks |
Your installer’s CSLB C-15 license number must appear on the written contract — it is the customer’s primary protection under California law. EPA RRP applies to anything built before 1978, which is the vast majority of SF housing stock; if the contractor is not RRP-certified, they cannot legally disturb painted surfaces or old vinyl that may contain lead or asbestos mastic. For visible work in Article 10 and Article 11 districts (Pacific Heights landmark blocks, the Mission’s NEMIZ, parts of the Castro), pre-engaging an SF general contractor familiar with HPC filings is the cleanest path. California Prop 65 also requires upfront disclosure of any adhesives or finishes containing listed chemicals (urethane finishes, certain glues) before they enter your home.
Common Flooring Job Pricing in San Francisco
These are typical all-in prices, including labor, standard underlayment, transition strips, disposal, and a 1-year workmanship warranty. Pacific Heights, Russian Hill, Marina, and inner Mission Victorian work sits at the high end of each range; Bayview, Excelsior, and Outer Mission single-family work at the low end.
| Job | Total cost | Labor hours | Notes |
|---|---|---|---|
| Laminate install (500 sqft) | $2,800-$6,000 | 12-20 | Underlayment included; leveling extra in pre-war flats |
| Luxury vinyl plank install (500 sqft) | $3,200-$6,500 | 12-20 | Most common rental-turnover spec; HOA acoustic underlayment +$1-$2/sqft |
| Engineered hardwood install (500 sqft) | $5,500-$10,500 | 16-28 | Floating or glue-down; acclimate 5-7 days for SF humidity swings |
| Solid hardwood install (500 sqft) | $7,000-$12,500 | 20-32 | Nail-down white oak or maple; pre-finished or site-finished |
| Original Douglas fir / quartersawn oak refinish (1,000 sqft Victorian parlor) | $8,000-$18,000 | 24-44 | $8-$18/sqft; specialty salvage stock matching for patches |
| Polished concrete (1,200 sqft SOMA loft) | $9,600-$21,600 | 32-60 | Two trades; abatement extra if pre-1980 adhesive present |
| Subfloor repair and leveling | $400-$3,500 | 4-20 | Pre-war flats; rotted joists or settled floors run higher |
| Asbestos 9x9 tile / mastic abatement | $8-$15/sqft | Licensed CSLB ASB abatement | Pre-1980 stock; separate from flooring crew |
| Carpet install (1,000 sqft) | $2,200-$5,000 | 8-14 | Pad included; HOA sound rules may require upgraded underlayment |
| Ceramic / porcelain tile (200 sqft) | $2,400-$5,500 | 16-30 | Heat-resistant tile near radiator perimeter in Victorian flats common |
Original Douglas fir restoration deserves its own callout. SF’s pre-1906 Victorians were built when old-growth Douglas fir was the cheap, abundant local lumber — they were not luxury at the time. Today that exact wood is among the rarest residential flooring on the market. Salvage stock from demo projects sells for $14-$22 per board foot, and species-matched repair patches in a Pacific Heights parlor can cost more than a full LVP install in a Bayview duplex. Most homeowners refinish rather than replace, because replacement at modern lumber prices is roughly 3-4x the cost of a careful sand-and-finish.
How to Get and Compare San Francisco Flooring Quotes
Three things separate a useful quote from a useless one in SF, and they all come down to specificity.
-
Tell the installer the building age, type, and parking situation. “1903 Pacific Heights Victorian parlor, owner-occupied, original Douglas fir refinish only, RPP zone D, no driveway” gets a different number than “2014 Mission Bay condo, 12th floor, 950 sqft, engineered oak install, deeded garage.” Installers price the job partly off material acclimation, access logistics, RRP containment requirements, and parking, so generic “I want to replace my floors” estimates are worth less than a detailed brief with photos.
-
Ask for an itemized written estimate that breaks out square footage, material (with brand and grade), labor hours, underlayment, transition strips, disposal, leveling, and any abatement or HPC fees. Verbal estimates are not enforceable in California; CSLB contracts must be written for any job over $500. Reputable SF flooring companies email itemized PDFs within 24-48 hours of the site visit. If an installer will not put it in writing, walk.
-
Verify the CSLB C-15 license and EPA RRP certification before you book. Pull the contractor’s license number from the CSLB license search and confirm active status, the $25,000 contractor bond, and any disciplinary history. Confirm EPA RRP firm certification if your building is pre-1978 (which covers nearly all SF housing). Request a current Certificate of Insurance showing $1M general liability and California workers’ comp. All three checks take ten minutes and rule out 90% of the contractors who later become problems.
How We Calculated These Prices
The SF flooring hourly rate of $70-$120 starts with the BLS Occupational Employment and Wage Statistics median hourly wage for floor layers, carpet installers, and tile setters in the San Francisco-Oakland-Hayward metropolitan statistical area: $40.33 as of May 2024. We apply a 1.7x-3x consumer multiplier covering business overhead, the CSLB contractor and LLC bonds, commercial liability insurance, EPA RRP firm and worker certification, vehicle and specialty tool costs, employer-paid taxes, and contractor profit margin, calibrated against current market quotes from C-15 licensed flooring contractors operating in SF.
Neighborhood-level adjustments reflect building stock (pre-1906 Douglas fir versus modern engineered), access logistics (Pacific Heights parking, SOMA freight scheduling, narrow Victorian stairs), and the cost of Historic Preservation Commission review in Article 10 and Article 11 districts. Per-square-foot prices reflect current quotes from licensed installers across all eight neighborhood groups. The full formula and source list lives on our methodology page.
Other San Francisco Service Costs You Might Need
Flooring rarely happens in isolation. A full-room refresh typically pulls in 2-4 trades, and getting quotes from all of them at the same time is faster than serial calls.
- SF carpenter costs — for baseboard, quarter-round, and door undercutting after a new floor goes in
- SF painter costs — paint before the new floor, not after, to avoid finish damage
- SF plumber costs — required if the flooring project crosses a kitchen or bathroom tile transition or a radiant-heat manifold
- SF handyman costs — for sub-CSLB tasks like single-plank repairs or transition strips under the $500 threshold
- SF general contractor costs — when the project crosses 3+ trades or needs combined DBI + HPC filings