Website development in San Francisco, priced from published data
The median web developer wage here is $152,450, but the occupation code hides where the work and the cost really sit.
Last reviewed 2026-10-03.
Every figure below is from the BLS Occupational Employment and Wage Statistics May 2025 metropolitan file for the San Francisco-Oakland-Fremont, CA area, compared against the national file for the same survey. Nothing here is a survey of agencies or a quoted rate. It is the published wage data, which is the only cost evidence in this market that does not come from somebody selling something.
What one web developer costs here
The occupation BLS calls web developers, SOC 15-1254, has a median annual wage of $152,450 in this metro against $92,650 nationally. That is a premium of about 65 percent for the same occupation code, and it ranks 2 of the 163 metro areas where the figure is published.
| Measure | San Francisco | United States |
|---|---|---|
| Median annual wage | $152,450 | $92,650 |
| 25th percentile | $115,170 | $64,230 |
| 75th percentile | $179,950 | $126,230 |
| 90th percentile | $216,060 | $162,290 |
| Employment | 1,420 | 70,190 |
Source: BLS Occupational Employment and Wage Statistics, May 2025 metropolitan and national files, SOC 15-1254.
Read the spread rather than the median. The gap between the 25th and 75th percentile here is $64,780, which is wider than many entire markets. A budget set at the median buys the middle of a very broad distribution, and in a city where the top of that distribution competes with product engineering salaries, the middle is where most hiring actually happens.
The title trap, and why it changes the budget
San Francisco is the clearest example in the country of why the job title you advertise decides the market you are shopping in. Three different occupation codes all do work a buyer would call website development, and they are not priced alike.
| Occupation | Median wage | Employment | Concentration vs national |
|---|---|---|---|
| Web developers (15-1254) | $152,450 | 1,420 | 1.33 |
| Web and digital interface designers (15-1255) | $163,810 | 6,630 | 3.83 |
| Software developers (15-1252) | $186,640 | 69,030 | 2.68 |
| Software QA analysts and testers (15-1253) | $134,630 | 5,880 | 2.06 |
Concentration is the BLS location quotient: employment share in this metro divided by the national share. Above 1.00 means the occupation is more concentrated here than in the country at large.
The interesting line is the second one. Web and digital interface designers are concentrated here at 3.83 times the national rate, and this metro employs 6,630 of them against 1,420 web developers. The design and interface side of web work is the larger and better paid profession in San Francisco, at a median of $163,810 versus $104,000 nationally. That is a real structural fact about this city rather than a quirk of coding, and it explains why a brief here so often turns out to be a design systems problem that someone described as a website.
Practical use of that table: if the work is a marketing site with a design system and a component library, you are hiring from the second row and should budget accordingly. If the work is an application surface, you are competing with the third row, which is the most expensive market in the table and the hardest to win a candidate from. Advertising a web developer role at a web developer wage for work that is really in the third row is the most common reason a search stalls.
The number above the salary
The wage is not the cost. At the metro median of $152,450, the employer side of social security and Medicare alone adds $11,662, using the 2026 contribution base published by the Social Security Administration. That brings the statutory floor to $164,112 before anything optional.
Then come the items that vary by employer and are not in any public table: unemployment insurance, workers compensation, health coverage, paid leave, equipment, software, recruiting cost and the time your own engineers spend interviewing. We do not publish a multiplier for those because any single number would be invented. What is defensible is the direction: the statutory floor is the minimum, every other line adds, and a plan built on the salary figure alone is short by a margin large enough to matter.
The comparison that matters is not contractor rate against salary. It is total cost against total cost, including the months before a hire starts and the risk that the search does not land. A role that takes a quarter to fill has already cost a quarter of delivery.
The published headcount fell, and how to read that
| Survey | Median wage | Employment |
|---|---|---|
| May 2023 | $141,980 | 2,820 |
| May 2024 | $157,490 | 2,730 |
| May 2025 | $152,450 | 1,420 |
Source: BLS Occupational Employment and Wage Statistics, metropolitan files for May 2023, May 2024 and May 2025, SOC 15-1254.
The published employment estimate for this occupation in this metro has dropped sharply across those three surveys while the median wage has stayed near its high. It is tempting to read that as the end of web development as a job here, and that reading is not supported by the data.
Two cautions. OEWS is a survey with sampling variability, and estimates for a single occupation in a single metro move more than the underlying labour market does, especially when the occupational employment is in the low thousands. Metropolitan area definitions and titles have also changed over this period, so a year on year comparison for one area is not quite like for like. What the series supports is a narrower claim: the published count of people carrying this specific occupation code here is small and falling, while the wage for those who carry it stays high and the adjacent interface design code stays large.
The staffing conclusion that follows is the useful part. In this metro you are not hiring from a deep pool of people whose job title matches the work. You are either paying up into software engineering, hiring from the design and interface side, or sourcing the capability somewhere other than within the metro. Those are the three options, and pretending there is a fourth is what makes a search take two quarters.
Three ways to staff a web build
| Model | What it actually buys | Where it fails |
|---|---|---|
| Local agency | A delivered scope and someone else's project management | Continuous product change, because the retainer is shaped for projects and the work is no longer a project |
| Local contractor | Speed and local timezone overlap at a high rate | Continuity. The knowledge leaves when the contract ends unless it was written down, and it usually was not |
| In-house hire | Long term ownership and institutional memory | Time to hire and the breadth problem. One person rarely covers design, front end, back end and infrastructure at this standard |
| Distributed team alongside yours | Sustained capacity while your side keeps the decisions | When nobody internal owns priorities, so the team waits for input |
These are not ranked. They answer different questions, and the deciding variable is usually whether the work ends.
Our own position is the last row, and we are specific about when it is the wrong answer. If the work genuinely ends in eight weeks and never changes again, a local contractor or an agency is a better fit than building a team relationship. If the site is a product surface that will change every week for years, the row that fails on continuity is the expensive one. The staff augmentation and dedicated teams pages set out how we structure it, vetting covers how candidates are assessed, and the San Francisco market page carries the full wage tables for every technical occupation in this metro rather than just the web ones.
What San Francisco briefs usually need technically
The industries concentrated in this metro, venture-backed SaaS, fintech, AI and machine learning, marketplaces, produce a recognisable brief. It is rarely a brochure site. It is usually a marketing surface that shares a design system with a product, needs to ship content without an engineer in the loop, and has to hold up under a technical audience that will open the network tab.
- A rendering strategy chosen deliberately, which in practice means Next.js or an equivalent framework, with static and dynamic boundaries decided rather than inherited.
- A component library shared with the product, which is where React depth and design systems experience matter more than page building speed.
- A headless content model, so marketing ships copy without a deploy, with an editing experience that non engineers will actually use.
- Instrumentation and experiment plumbing that works without turning every page into a client side application.
- Infrastructure someone owns, which usually means AWS or an equivalent and a real deployment pipeline rather than a hosting dashboard.
- Automated checks on the parts that break silently, which is the QA automation argument.
The gap worth naming: that list is four or five specialisms, and the wage table above is for one. A single hire at the web developer median covering all of it is not a staffing plan, it is a hope. Either the scope is smaller than it looks or the team is wider than one person.
How to decide
Three questions, in this order, settle most of these decisions without a spreadsheet.
- Does the work end? If yes, buy a delivery. If no, build capacity.
- Which of the three occupation codes above is the work really in? That sets the market and the budget, and it is usually one code higher than the brief suggests.
- Who internally will own priorities every week? If the answer is nobody, fix that before choosing a model, because every model fails on it.
If the answers point at sustained capacity rather than a delivered scope, that is the conversation we are useful in.
Frequently asked questions
What does a web developer earn in San Francisco?
The median annual wage for web developers, SOC 15-1254, in the San Francisco-Oakland-Fremont, CA area is $152,450 in the BLS May 2025 metropolitan file, against $92,650 nationally. The 25th to 75th percentile range runs from $115,170 to $179,950, which is the number to plan against rather than the median alone.
Why is the employment number for web developers so small?
Partly because the occupation code is narrow. Much of the work a buyer calls website development sits under web and digital interface designers or under software developers in the same survey, and both of those codes are far larger in this metro. Partly because OEWS is a survey, so a single occupation in a single metro moves more year to year than the labour market does.
Is it cheaper to hire a contractor or an employee?
The comparison has to be total cost against total cost. On the employee side, the employer share of social security and Medicare alone adds about $11,662 to the metro median wage, before unemployment insurance, workers compensation, benefits, equipment and recruiting. On the contractor side the rate is higher but the commitment is shorter. Which wins depends on whether the work ends.
Should I hire a web developer or a designer for a marketing site?
In this metro, look at the concentration figures first. Web and digital interface designers are employed here at 3.83 times the national rate and the median is $163,810, higher than the web developer median. If the work is a marketing surface with a design system, that is the market you are actually hiring in.
Can a distributed team work with a San Francisco schedule?
It depends on how the work is structured rather than on the timezone. Work that needs several hours of live collaboration a day needs overlap, and work that moves through written handover and review does not. The failure mode is not distance. It is that nobody on the client side owns priorities, which stalls a local team just as reliably.
Where do the wage figures on this page come from?
The BLS Occupational Employment and Wage Statistics programme, May 2025 metropolitan and national files, with the May 2023 and May 2024 metropolitan files used for the trend table, and the Social Security Administration contribution and benefit base for 2026 for the payroll tax line. Every figure on this page is published and checkable.