What to Actually Charge for a Web Development Project
Pricing a web development project wrong is one of the fastest ways to kill a freelance business or agency. Quote too low and you're working nights for free. Quote too high with no justification and you lose the client to someone who explained their number better. The good news: pricing isn't guesswork if you break it into the right components.
Why Flat-Rate Guessing Fails
Most beginners price projects by picking a number that "feels right" — $2,000 for a website, $5,000 for an app. This fails because it ignores three variables that actually determine cost:
- Scope volatility — clients change their minds mid-project, and undefined scope eats your margin
- Skill and time required — a 5-page brochure site and a custom booking system are not the same job
- Ongoing maintenance expectations — clients often assume "free updates forever" unless you state otherwise
If you're not accounting for these, you're not pricing a project — you're pricing a hope.
The Three Core Pricing Models
1. Hourly Rate
Best for projects with unclear or evolving scope, like ongoing feature work or a client who says "let's figure it out as we go."
- Typical range for freelancers: $40–$100/hr depending on experience and region
- Agencies typically charge $75–$200/hr
- Downside: clients hate open-ended invoices, and you get penalized for working efficiently
2. Fixed-Price Project
Best for well-defined projects like a 6-page marketing site or a landing page with a clear brief.
- Requires a locked scope document before you quote
- Protects your margin if you estimate accurately
- Punishes you hard if scope creeps and you didn't define boundaries
3. Value-Based Pricing
Best for projects tied directly to revenue outcomes — an e-commerce rebuild, a lead-gen funnel, a SaaS MVP.
- Price based on what the result is worth to the client, not hours spent
- Example: a checkout flow redesign that could increase conversions by 2% on $500,000/year in sales is worth far more than 40 hours of dev time — price accordingly
- Requires you to understand the client's business, not just their tech stack
A Real Pricing Breakdown by Project Type
Here's what realistic ranges look like for common small business projects (freelancer/small agency rates, not enterprise):
- Simple brochure website (5–8 pages): $1,500–$4,000
- Custom design + CMS (Webflow/WordPress): $3,000–$8,000
- E-commerce store (Shopify or custom): $4,000–$15,000
- Web app with user accounts/database: $8,000–$40,000+
- Ongoing maintenance retainer: $100–$500/month
These ranges vary by region and complexity, but if your quote for a 5-page site is $12,000 with no custom functionality, expect pushback — and if you're quoting $800 for a custom web app, expect burnout.
How to Build a Quote Step by Step
Step 1: Get a Written Scope
Never quote from a vague call. Get the client to answer:
- How many pages/screens are needed?
- Is there custom functionality (booking, payments, logins)?
- Do they need copywriting, photography, or content migration?
- What's the timeline?
Step 2: Break the Project Into Line Items
Instead of one lump number, itemize:
- Design (wireframes + visual design)
- Development (frontend + backend)
- Content setup
- Testing/QA
- Launch + deployment
This does two things: it forces you to estimate accurately, and it lets the client see exactly what they're paying for — which reduces "why is this so expensive" pushback.
Step 3: Add a Buffer for Scope Creep
Add 15–20% on top of your estimate. Projects almost always take longer than planned because of feedback rounds, revisions, and "one small addition" requests that aren't actually small.
Step 4: Define What's NOT Included
This is the step most freelancers skip and regret. Explicitly state:
- Number of revision rounds included (e.g., 2 rounds of design feedback)
- What counts as a new feature vs. included scope
- Whether hosting, domain, and third-party tool costs are separate
Common Pricing Mistakes to Avoid
- Quoting before scope is locked — leads to endless renegotiation
- Underpricing to "win the client" — attracts clients who don't value the work and will haggle on everything else too
- No deposit upfront — always take 30–50% before starting; it filters out non-serious clients
- Ignoring maintenance revenue — a website isn't "done" at launch; recurring retainers are where sustainable agencies make real margin
- Comparing yourself to Fiverr rates — a $150 website and a $5,000 website are different products solving different problems, not the same service at different prices
How to Present Your Price So Clients Don't Flinch
- Lead with the outcome, not the hours ("This will let you take bookings online and cut phone-call admin") before mentioning cost
- Offer 2–3 package tiers instead of one number — anchoring against a higher tier makes the mid-tier feel reasonable
- Never say "it depends" without immediately following with what it depends on and rough ranges
At Axoxweb, this is exactly how we structure client proposals — clear scope, itemized deliverables, and pricing tied to business outcomes rather than arbitrary hourly guesses. It's part of why clients rarely push back on quotes once they see the breakdown.
When to Raise Your Rates
If you're consistently winning every quote you send without any negotiation, your prices are too low. A healthy signal is losing roughly 20–30% of quotes on price — it means you're priced at the ceiling of what your market will bear, not the floor.
If you'd rather skip the pricing spreadsheets and get a website built by people who already do this daily, Axoxweb handles design, development, and pricing transparency from the first conversation — get in touch to scope your project properly.