How to quote a freelance project without underpricing
Quoting raw "hours × rate" feels logical, but it almost always loses money, because human time estimates are reliably too optimistic. This tool turns your hours estimate into a defensible quote by adding a buffer for scope creep and any fixed extras, then showing a safe range to quote within.
Why "hours × rate" is a floor, not a quote
The 10-hour job becomes 14 once you count the back-and-forth, the "small" extra request, and the revision you didn't budget for. So hours × rate isn't your quote — it's your floor, the minimum before reality adds its surcharge.
Add a buffer for what you can't see
- 20% buffer for familiar work with a clear brief.
- 35–50% buffer for unfamiliar work, vague briefs, new tech, or clients you don't know yet.
Fixed price means you carry the risk
When you bill hourly, the client absorbs overruns. When you give a fixed quote, you do — if the job runs long, that's your time, unpaid. That's why a fixed quote should always be higher than a raw hourly estimate: you're selling certainty, and certainty is worth a premium.
Define scope before you define price
Undefined scope is the number-one cause of scope creep. Before you send a number, write down exactly what's included, how many revision rounds are covered, and what's explicitly not included. Then add a change-request rate so extra work means extra pay.
Tip: present good/better/best options and anchor high. Letting clients pick a tier quietly raises your average project value. New to setting your rate? Start with the Hourly Rate Calculator.
Quick questions
Should I show the client my hourly rate? Usually no — quote the project as a whole. Clients buy outcomes, not an audit of your hours.
Should I take a deposit? Yes. 30–50% upfront is standard and filters out non-serious leads.