DevsWizard
Costs

What a website actually costs in 2026 — and why quotes vary by 10x

Jul 11, 2026·7 min read·By DevsWizard·10 reads
Share
What a website actually costs in 2026 — and why quotes vary by 10x

Someone emails us a one-line brief: "I need a website for my business." Over the next week they collect five quotes. The lowest is $1,800. The highest is $22,000. Same brief, same industry, both from real developers who could do the work.

This is the single most confusing thing about buying software, so let us take it apart. We have quoted more than 240 projects since 2020 — won some, lost plenty, and stayed in touch long enough to see what happened after launch. Here is where the number actually comes from, and how to read a quote so the price stops feeling random.

The short answer

Most business websites land in one of four brackets. Not because of a rulebook — because of how much of the thing is built from scratch.

TypeTypical rangeTimelineWho it is for
Template site$1,000 – $3,0001–2 weeksA brochure: who you are, what you do, how to reach you
Custom marketing site$4,000 – $12,0003–6 weeksA design that is yours, real copy, some interactivity
Web application$15,000 – $60,0002–5 monthsLogins, dashboards, payments, real data
Ongoing platform$60,000+ContinuousThe product is the business

If your quotes span two of these brackets, the people quoting heard two different projects. That is almost always a briefing problem, not a pricing one.

A real example. A dentist wanted "a website with online booking." Quote A was $2,400: a template with a third-party booking widget dropped in. Quote B was $16,000: a custom system that synced to the calendar their front desk already used. Both were honest. Only one of them would still work the day they opened a second clinic.

Why the same brief gets a $2,000 quote and a $25,000 quote

Two things move the number more than everything else combined: how much is custom, and who is holding the keyboard.

Template versus custom

A template site is assembly. Someone takes a theme, swaps your logo and colours, pours in your text, and ships. It can look genuinely good. It is cheap because the hard parts — the layout system, the interactions, the fiddly responsive edge cases — were solved by someone else, months ago, for thousands of other sites.

Custom means the design is drawn for you, and the front end is built to match it, detail by detail. That is not vanity. A custom build is what lets you keep changing the site for the next five years without fighting a theme that was never designed to do the thing you now need it to do.

A template is cheaper to buy and more expensive to own. Custom is the reverse. Pick the trade you can live with.

The mistake is treating them as the same product at different prices. They are different products. A $2,000 template and a $12,000 custom build are not "the same website, one is overpriced." They are a rented suit and a tailored one.

Who actually does the work

The other half is rates, and rates are about certainty, not skill. A solo developer working evenings bills nothing like a ten-person studio in London, and neither matches a weekend freelancer. None of them is wrong — you are buying different amounts of "this will still be here in June."

  • A weekend freelancer — cheapest, slowest to reply, highest chance of going quiet
  • A small focused team — mid-range, and you talk directly to the people building it
  • A large agency — most expensive, most process, most account managers standing between you and the code

There is no correct answer. There is only the answer that matches how much risk you can carry yourself.

Where the money actually goes

People picture they are paying for "the website" — the part they can see and click. Most of the cost is the part they cannot.

  • Discovery — working out what you actually need, which is rarely what the brief said
  • Design — not decoration; the decisions that make the thing usable at all
  • Build — the visible site, plus everything wired up behind it
  • The invisible third — performance, accessibility, the SEO basics, a sane robots.txt, analytics, forms that both email you and store the lead, spam protection that works

That last bucket is exactly where a cheap site quietly cuts corners. It is invisible on day one and expensive on day ninety, when the contact form has been silently dropping enquiries for six weeks and nobody noticed.

Three rising columns showing website cost tiers — template, custom, and web application — in purple and cyan
Three rising columns showing website cost tiers — template, custom, and web application — in purple and cyan

The five-figure decisions people make by accident

Some choices look tiny in a kickoff call and quietly set the price for years. Roughly in order of how much they move the number:

  1. Custom design versus a template — the single biggest lever, often a 3–4x swing on its own
  2. A real CMS versus hard-coded pages — cheap to skip now, painful the tenth time you need to change a sentence yourself
  3. Payments and logins — the moment you add accounts, you are building an application, not a site, and the whole estimate shifts brackets
  4. Integrations — every third-party system you connect is a small project hiding inside the big one
  5. Content — somebody has to write the words; "we will supply the copy ourselves" is the most broken promise in this entire industry

None of these are wrong to want. They are only expensive to discover halfway through, after the quote was built assuming you did not need them.

How we actually quote

We do not pull a number out of the air, and you should be suspicious of anyone who does. We estimate in rough hour bands per feature, then sanity-check the total against projects that genuinely shipped at that size. Stripped down, the logic looks like this:

function estimate(features, hourlyRate) {
  const hours = features.reduce((total, f) => {
    const band = { simple: 6, medium: 20, complex: 60 }[f.size];
    return total + band * (f.custom ? 1.5 : 1);
  }, 0);

  // A flat 15% for the invisible work nobody itemises on a quote.
  const withOverhead = hours * 1.15;
  return Math.round(withOverhead * hourlyRate);
}

The honest part is hourlyRate. Ours sits in the middle — not weekend-cheap, not agency-inflated — and we tell you what it is. If a quote arrives as one flat round number with no breakdown, ask what the hours behind it were. A real estimate can always show its working; a guess cannot.

What to ask before you sign anything

You do not need to understand the code. You need to understand the shape of the deal. Three questions do most of the work:

  • What is fixed and what is hourly? A fixed price is not free certainty — the risk is baked into a buffer that you pay for whether it is needed or not.
  • Who owns the code and the accounts? The domain, the hosting, the repository, the analytics. The answer should be you, in writing.
  • What happens after launch? Silence here is the real cost. Software is not finished when it ships; it is finished when you stop using it.

A website is not a one-off purchase. It is the start of a working relationship with whoever built it. The cheapest quote and the most expensive quote can both be the right call — as long as you know which relationship you are actually buying.

If you want a real number for your own project, tell us what you are building and we will show the working. No sales team, no follow-up sequence — just the hours, the rate, and an honest bracket.

Need help with something like this?

Tell us what you are building. We reply within 24 hours — no sales team, no follow-up sequence.