Most quote templates online give you a blank table and leave you to fill it in. The table isn't the hard part. The hard part is deciding what number goes in it, so you don't underprice the work, scare the client off, or end up doing twice the scope for the same fee. This guide walks through a repeatable method, one worked example, a free calculator, and a quote you can copy.
Your floor is the lowest hourly rate you can accept and still cover your costs and income target. Work it out once and keep it, so it doesn't change every time a client mentions their budget:
Floor rate = (target yearly income + yearly business costs) ÷ billable hours per year
Billable hours are fewer than you think. After admin, sales, holidays and sick days, many solo freelancers bill somewhere between 900 and 1,400 hours a year, not 2,000. Use your own numbers if you've tracked them. This number is internal. You never show it to the client, but every quote has to land above it.
Don't estimate "a website". Estimate the pieces: discovery call and brief, wireframes, design, build, content entry, testing, launch, handover. Small tasks are easier to estimate honestly, and the list doubles as your scope. If a task is too vague to estimate, it's a sign you need to ask the client a question before you quote.
Include the work people forget: meetings, email back-and-forth, revision rounds, exporting files, and project management. A common rule of thumb is to add 10–20% of the total for communication alone.
Estimates are almost always optimistic. Add a contingency buffer, usually 10–25% depending on how well-defined the project is: low for repeat work you've done many times, high for anything new to you or with an unclear brief. You can show it as a separate line ("Contingency, 15%") or fold it into the task estimates. Showing it is more honest and rarely gets challenged.
Hours × rate gives you a cost-based price. Then ask: what is this worth to the client? A landing page for a product launch is worth more than an internal "about us" page with the same hours. If the value is clearly higher, price above your hourly math. If the client's budget is below your floor, reduce scope, don't cut your rate.
A single price invites a yes/no decision, and often a no. Three tiers turn it into "which one?":
Each tier should differ in scope or outcome, not just in price, and each one must be above your floor.
For new clients, 30–50% upfront is a common deposit, with the rest at milestones or on delivery. State the number of revision rounds included, what counts as extra work, how long the quote is valid (14–30 days is typical), and your payment terms (for example "due within 14 days of invoice").
Enter your rate and the estimated hours. The calculator adds contingency and builds three tiers with deposits. Everything runs in your browser and nothing is sent anywhere.
A designer's floor rate is 55/hour and their normal rate is 65/hour. A client wants a five-page website. The task breakdown for the recommended scope:
| Task | Hours |
|---|---|
| Discovery call, brief and sitemap | 3 |
| Wireframes (5 pages) | 5 |
| Visual design, 2 revision rounds | 12 |
| Build and responsive testing | 12 |
| Content entry and basic on-page SEO | 4 |
| Launch, handover and a 30-minute training call | 4 |
| Total | 40 |
40 hours × 65 = 2,600. Add 15% contingency: 2,990, rounded to 2,990. That's the Standard tier. Essential (one-page site plus contact form, about 26 hours) comes to 1,950. Premium (Standard plus a blog setup, copywriting help and 60 days of support, about 60 hours) comes to 4,490. A 40% deposit on Standard is 1,196. These are exactly the numbers the calculator above shows with its default values, so you can check the math.
The Freelance Pricing & Quote Kit ($12) is an offline calculator and spreadsheet that works out your floor rate from your real costs and hours, lets you list tasks line by line, and builds a three-tier quote with contingency and deposit as copyable text. It autosaves in your browser.
Get the Pricing & Quote KitGeneral information, not financial or legal advice. Figures in the example are illustrative. Last updated October 2026.