Knowing how to price freelance web development is one of the hardest parts of the job, and getting it wrong costs you either the deal or your weekends. Price too low and you resent the project; price too high without justification and the client walks. This guide gives you a practical framework: choosing a pricing model, estimating with ranges and buffers, protecting yourself with deposits and change requests, and handling Indian and international clients.
There is no universal “correct” rate. What follows is a way of thinking that keeps your prices defensible, your scope clear and your cash flow healthy.
Know your floor before you quote anything
Before choosing a pricing model, work out the minimum you need to earn per working hour to run a sustainable business. Most freelancers skip this and end up pricing by gut feel or by what competitors charge.
A simple way to calculate it:
- Add up your yearly personal income goal, business costs (software, hardware, hosting, accounting) and taxes.
- Estimate your billable hours per year. Remember that sales, admin, learning and time off are not billable.
- Divide the total by billable hours.
Illustrative example only (made-up figures):
Income goal + costs + tax buffer = 18,00,000 INR / year
Billable hours (approx.) = 1,000 hours / year
Floor rate = 18,00,000 / 1,000 = 1,800 INR / hour
That number is your floor, not your price. You should rarely sell at it, but you should never go below it without a deliberate reason.
Hourly, fixed, value-based or retainer?
Each model suits different situations. Here’s how I think about them:
| Model | Best for | Watch out for |
|---|---|---|
| Hourly / daily | Unclear scope, ongoing fixes, agency overflow | Clients watching the clock; you are penalised for being fast |
| Fixed price | Well-defined builds with clear deliverables | Scope creep and underestimation risk sit with you |
| Value-based | Projects tied to measurable business outcomes | Needs deep discovery and a client who can articulate value |
| Retainer | Maintenance, continuous improvements, priority support | Define hours, response times and rollover rules clearly |
Fixed pricing is what most small business clients prefer because it gives them certainty. My recommendation is to estimate in hours internally, then present a fixed project price, with hourly rates reserved for work outside the agreed scope.
A note on value-based pricing
Value-based pricing means anchoring your fee to the outcome the project is worth to the client rather than your hours. It works when you can have an honest conversation about what success looks like: more bookings, fewer support emails, a faster checkout. It doesn’t work when you’re guessing. Start by asking better questions on discovery calls, and the value conversation becomes natural over time.
Scoping and discovery calls
You can’t price what you don’t understand. A short discovery call, often 30 to 45 minutes, should leave you with enough information to estimate confidently. Questions worth asking:
- What problem is the website meant to solve, and what happens if it isn’t solved?
- Who are the users and what do they need to do on the site?
- What does success look like in three to six months?
- What content exists already, and who is responsible for writing or supplying it?
- What integrations are needed (payments, CRM, booking, email marketing)?
- Who makes the final decision, and what budget range have they set aside?
- What is the deadline, and what is driving it?
Asking about budget feels awkward, but it saves everyone time. If a client won’t share a figure, offer ranges: “Projects like this usually fall somewhere between X and Y depending on scope. Does that fit what you had in mind?”
Estimate with ranges and buffers
Single-number estimates are almost always wrong. Break the project into tasks, estimate each as a range, then add a buffer for the unknowns you’ll inevitably meet.
Illustrative example only (hours):
Task Low High
Discovery & planning 6 10
Design (5 templates) 20 30
Development 40 60
Content entry & QA 10 16
Launch & handover 4 6
-------------------------------------
Subtotal 80 122
Buffer (approx. 15–20%) 12 24
Total estimate 92 146 hours
Multiply by your target rate (not your floor) and you have a defensible price range. For a fixed quote, I’d suggest pricing closer to the upper end if the client is new, the content isn’t ready, or there are third-party integrations you haven’t used before. Unknowns are risk, and risk should be priced in.
Deposits, milestones and payment terms
Cash flow problems kill more freelance businesses than lack of work. Protect yours with clear payment terms written into every proposal and contract.
- Upfront deposit: a meaningful deposit before work begins (many freelancers use something in the range of a third to a half) filters out unserious clients and funds your early time.
- Milestone payments: tie remaining payments to clear checkpoints such as design approval, development complete, and launch.
- Final payment before handover: transfer domain access, admin credentials or source code once the final invoice is paid.
- Due dates and late terms: state when invoices are due and what happens if they’re late, such as pausing work.
Change requests and maintenance plans
Handling change requests
Scope creep rarely arrives as a big demand. It comes as a series of small “quick” asks. The fix is a written scope with a simple change process:
- Acknowledge the request positively.
- Explain that it sits outside the agreed scope.
- Send a short written estimate of extra cost and timeline impact.
- Start only after written approval.
This isn’t about being rigid. It’s about making trade-offs visible so the client can make informed decisions.
Maintenance plans
Websites need updates, backups, security patches and small content changes. Offering a monthly maintenance or care plan gives clients peace of mind and gives you predictable income. Define what’s included (for example, updates, uptime monitoring, a set number of small edit hours, response times) and what’s billed separately.
Pricing for Indian vs international clients
If you’re based in India, you’ll likely work with both domestic and international clients, and the practicalities differ.
Currency and rates
Budgets and expectations vary widely between markets and between clients within the same market. Rather than keeping one rate and converting it, many freelancers keep separate rate cards per currency, based on the value they deliver and what the market supports. Whatever you do, quote in a clear currency and state who bears conversion differences.
Payment gateways
- Razorpay and similar Indian gateways are convenient for domestic clients paying via UPI, cards or net banking.
- PayPal is familiar to many international clients but fees and currency conversion can be significant, so check current rates before relying on it.
- Wise and direct bank transfers can be cost-effective for international invoices; compare the total amount received, not just the headline fee.
Fees and rules change, so check each provider’s current pricing and any compliance requirements for receiving foreign payments. Speak to a chartered accountant about GST, export of services and invoicing, because I’m not giving tax advice here.
When to say no
Turning down work is part of pricing well. Consider walking away when:
- The budget is well below your floor and there’s no strategic reason to go lower.
- The client resists deposits, contracts or written scope.
- The timeline is unrealistic and they won’t reduce scope.
- The project is outside your skills and you can’t bring in a trusted collaborator.
- Your gut says the relationship will be difficult.
A polite “I don’t think I’m the right fit, but here’s what I’d suggest” protects your reputation and leaves the door open. Once your price is set, the way you present it matters just as much; see how to write a freelance proposal that wins clients.
Key takeaways
- Calculate your floor rate first; never price blind.
- Estimate internally in hours, present a fixed price for well-scoped work.
- Use discovery calls to understand goals, users, content and budget.
- Estimate in ranges and add a buffer for unknowns.
- Protect cash flow with deposits, milestones and clear payment terms.
- Handle change requests in writing and offer maintenance plans for recurring income.
- Choose payment gateways by total amount received, and get proper tax advice.
Frequently asked questions
Should I charge hourly or a fixed price for website projects?
For well-defined builds, a fixed price is usually easier for clients to approve, while hourly suits unclear or ongoing work. A common approach is to estimate in hours internally and present a fixed price with an hourly rate for out-of-scope changes.
How much deposit should a freelance web developer ask for?
Many freelancers ask for somewhere between a third and a half of the project fee before starting, with the rest tied to milestones. The exact figure matters less than making it a firm, written condition before work begins.
How do I handle scope creep without upsetting clients?
Agree a written scope, then treat every new request as a change: acknowledge it, estimate the extra cost and time, and start only after written approval. This keeps the relationship positive while making trade-offs clear.
Should I charge international clients more than Indian clients?
Many freelancers keep separate rate cards per market, since budgets and expectations differ. Base each rate on the value you deliver and your costs, and always quote in a clearly stated currency.
Need a website built by someone who scopes carefully, prices transparently and delivers on time? Get in touch and tell me about your project; I’ll come back with questions and a clear estimate.