How Much to Charge as a Freelance Developer (2026 Rates)
Two developers with the same years of experience can quote very different numbers for the same week of work, and the difference is almost always specialization: the expensive one owns the parts where mistakes cost money — payments, authentication, data integrity, performance — while the cheaper one sells interchangeable implementation hours. That premium compounds with seniority, which is why this guide prices both axes instead of handing you a single average that describes nobody. This guide replaces guesswork with directional 2026 numbers you can actually quote — hourly bands by stack and by seniority, day-rate conversions with the arithmetic shown, retainer support priced in hours-per-month bundles, and productized fixed-scope offers for work you have priced a dozen times. Every figure is a commonly cited estimate for orientation, not a guarantee: your market, stack depth, and client type move it. Run your own through the hourly rate calculator before you send a quote, and keep the contract rate tool open for the client who wants everything in one document.
Hourly rates by stack
Commonly cited 2026 figures show stack acting as a multiplier on the base rate — same seniority, different market value, because demand and the cost of mistakes differ by domain:
| Stack / focus | Directional hourly range (2026) |
|---|---|
| Front-end (HTML, CSS, JavaScript) | $40–$75/hr |
| Back-end (Node, Python, PHP, Java) | $60–$110/hr |
| Full-stack (front + back) | $75–$150/hr |
| React / Next.js | $75–$140/hr |
| WordPress / CMS | $30–$85/hr |
These bands overlap on purpose: a deep WordPress specialist with performance and security chops sits at the top of their row and above a shallow generalist in any row. Treat the stack as pricing context, not destiny — the work that moves you toward the top of a band is the work where mistakes are expensive (payments, data integrity, authentication) or where you are the person who can say why the page is slow.
Hourly rates by seniority
Stack tells clients what you build; seniority tells them what they will not have to manage:
| Level | Typical experience | Directional hourly range (2026) |
|---|---|---|
| Junior | 0–2 years | $25–$50/hr |
| Mid-level | 3–5 years | $50–$95/hr |
| Senior | 6+ years | $95–$180/hr |
Read the two tables as a matrix, not a ladder. A senior WordPress developer who ships without hand-holding competes in a different market from a junior full-stack quoting the same project, and specialist domains — payments, compliance-heavy back-ends, AI integrations — carry premiums above the plain bands. Directionally, most solo developers selling to US and Western European clients live between $50 and $150 an hour; below $50 you are usually competing on price with global marketplace supply, and above $180 you are selling specialist judgment or outcomes rather than implementation hours.
One note on how to use the bands: quote from the middle of your band with evidence, not from its top with hope. Clients rarely challenge a number that arrives with a plan — estimated hours, deliverables, a payment schedule — but they will challenge a bare hourly figure no matter how defensible it is. The move from junior to mid is mostly demonstrated judgment: you stopped needing the brief rewritten before you could start. The move from mid to senior is mostly reduced risk: you are being hired for the year of similar systems sitting behind you. Price the risk you remove, not the hours you type.
Developer day rates: the 7-to-8× conversion
Day rates convert from hourly at seven to eight times the number, because a working day holds seven to eight billable hours once standups, code review, context switching, and admin are subtracted. Formula: day rate = hourly rate × 7–8 paid hours. Worked across the bands above:
| Hourly | Day rate at 7h | Day rate at 8h |
|---|---|---|
| $40 (junior band) | $280 | $320 |
| $75 (mid / React band) | $525 | $600 |
| $95 (senior floor) | $665 | $760 |
| $150 (full-stack top) | $1,050 | $1,200 |
The $95 × 8h = $760 line is the one to remember: it is the senior floor converted honestly, and it is the number you compare against agency day rates when a client asks what a week costs — $760 × 5 = $3,800 a week at the floor, $6,000 a week at $150/hr. Confirm the client's definition of a day before agreeing; "day rate" means anything from six billable hours to full availability, and the day rate calculator converts any hourly number both ways.
Practitioner note: In practice, the 7-vs-8 question matters less than whose definition you use. Quote the 8-hour $760 into a client who means six focused hours and you earn $127 for every hour of effort — generous. Quote the 7-hour $665 into an 8-hour-plus day and every hour is discounted by an eighth before the work starts. Confirm the day length in the proposal; the table above only holds when both sides count the same hours.
From salary to contract rate
If you are leaving a salaried role, run the conversion both ways before you quote anybody. A full-time year is roughly 1,800 hours on the clock, but solo billable time typically lands at 60–70% of that — about 1,100–1,300 hours once sales, admin, and gaps between projects are counted. Dividing a $120,000 income target by 1,300 billable hours gives $120,000 ÷ 1,300 ≈ $92/hour — and that is before benefits, equipment, and both halves of payroll tax that an employer used to cover. The quicker heuristic our salary to contract rate guide sets out is the rule of 1,000: salary ÷ 1,000 approximates the equivalent contract hourly rate, so $120,000 points to about $120 an hour with those costs, gaps, and a risk margin already built in. Read the two as a bracket: the billable-hours division is your floor, the rule of 1,000 is the target, and where you land depends on how much of your year you can actually sell. What both agree on is the direction — a contract rate that merely matches the salary's hourly equivalent is a pay cut wrapped in arithmetic, because the salary also paid for the weeks you did not bill.
Hourly, retainer, or productized — match the package to the buying pattern: if the pipeline is thin, sell hours — hourly converts fastest and the $95 senior floor keeps you honest. If two or more clients buy steady small fixes, sell the retainer — 10 hours at $95 ($950 a month) trades a small discount for income that arrives without a sales cycle. If you keep quoting the same audit or landing page, productize it — $1,500 fixed against a 15-hour boundary pays $100 an hour and removes the estimate from every future sales call.
Monthly retainers for maintenance and support
Project work is lumpy; support retainers are not. Bundle the hours you are willing to hold open each month and price the bundle with a small discount against your hourly — enough to reward commitment, not enough to erode the floor:
| Monthly bundle | Bundled hourly | Monthly price |
|---|---|---|
| 10 hours (light support) | $95/hr | $950 |
| 20 hours (active maintenance) | $90/hr | $1,800 |
| 40 hours (part-time capacity) | $85/hr | $3,400 |
The arithmetic is just hours × rate: 10 × $95 = $950, 20 × $90 = $1,800, 40 × $85 = $3,400 — each a 0–15% discount off a $95–$100 standard hourly, which is the price of predictability on both sides. Define the bundle in writing: what counts against the hours (bug fixes, small features, production support, advisory calls), the response-time expectation (next business day, not next minute), whether unused hours roll over (one month is a common compromise), and the notice period to cancel (30 days). Sell it as reserved capacity — you are holding a slice of your month that another client cannot buy.
Two mistakes kill retainers before they work. The first is selling capacity you do not have: if next month realistically holds five spare hours, do not sell ten — one under-delivered retainer poisons the relationship faster than no retainer at all. The second is billing in arrears: charge the first month up front or on the first of the month in advance, which filters out clients who were never going to pay and sets the expectation that the hours are reserved, not floating. Review each bundle every six months; usage pinned at the cap for two months running is the signal to offer the next tier up.
Productized offerings
Some work you have priced so many times that quoting it fresh is wasted motion. Productizing turns it into a fixed-scope, fixed-price, pre-paid offer with a published boundary:
| Productized offer | Fixed price | Estimated hours | Effective hourly |
|---|---|---|---|
| Performance / code audit | $1,500 | 15h | $100/hr |
| Landing page build (design to deploy) | $3,000 | 30h | $100/hr |
The estimated-hours column is your margin guard, not a promise to the client: $1,500 ÷ 15 hours and $3,000 ÷ 30 hours both land at $100/hr, and if your last three audits actually took 22 hours, the price is wrong even though the table looks fine — reprice, or tighten the deliverable until the estimate holds. Productized offers sell well because the buyer knows the cost before the call, and they convert into project work: an audit that surfaces a $12,000 refactor is the best sales pitch you will ever send. They also scope cleanly: the audit's written boundary — what is checked, and what is explicitly not — becomes the first draft of the project proposal, and the fixed price becomes the deposit on the larger engagement that follows.
Check your rate against your own invoices
Pick your band from the two tables, convert it to a day rate, then check your last five invoices against it — if the effective hourly sits below your band, one of three things is wrong: the rate, the scope, or the client. The hourly rate calculator builds the floor from your costs, billable hours, and income target; the contract rate tool packages it for the client who wants rate, schedule, and terms in one place. Next reads: Salary to Contract Rate for the leap from employment, and How to Raise Your Freelance Rates when your band and your invoices stop agreeing. This guide is for education only — not financial, tax, or legal advice; before a large rate change or a retainer that shifts your tax picture, a quick conversation with your accountant is worth the hour.