How much do freelance web developers charge? A guide for web developer freelancers to price their work

Table of contents
Hamburger menu icon
March 24, 2021
5 minute read

Regardless of if it's as a web developer or another profession, one of the hardest things about being a freelancer isn’t getting the work done—it’s figuring out how much to get paid for the work. You can count on whenever you get a bunch of freelancers together, eventually someone is going to ask—“I’m wondering, how do you set your rates?”

The answer is never cut and dry. It’s never a simple “creating a web site costs…”, because:

  • Every web designer is different
  • Every client is different
  • Every project is different

There’s so much to factor into setting your freelance web developer rates. If you go with a simple answer, there’s a good chance it’s going to be wrong.

Setting freelance web development rates involves trial and error

Before getting into how to start thinking about your rates for web design, you need to know you will get it wrong. You’re going to charge too little and too much. It’s a fact of freelancing life. You will have projects you should have charged a lot more for and just as many jobs you lose because you priced yourself too high.

It’s okay. You’ll get the hang of it. After you’ve done a few website projects you’ll have a better sense of what to charge.

But don’t worry, you’ll still make a mistake (and it’ll still be okay).

Ask other freelancers like graphic designers, writers for advice

If you know other freelancers, ask them what they charge. Ask how they handle hourly vs project vs retainer rates. If you have a project you’d like to bid on, ask how they’d price it.

One of the most important things to learn from other freelance web designers is how to avoid the pitfalls that come with all freelance work. Things like:

  • Scope creep (or no scope)
  • Not getting paid for your work
  • Getting caught in another companies internal strife

Many a freelance web developer has horror stories of clients who signed off on a project, agreed to a price, and it all went downhill from there. Getting advice from other professionals and development resources will help you not only set the right rate, but also set up each engagement for success.

Don’t compare your freelance developer rates to work-for-hire sites

If you try to win a web developer job on Fiverr or Upwork on cost alone, you will lose. People on those sites are pricing on getting a lot of website and development work on a race to the bottom model. If a client only has a budget for bottom of the barrel rates, they might not be worth your time.

It is good to check out the rates on work-for-hire sites. It’s good to see the competition. If you’d like to build up a portfolio of work, bidding on some work could help you, so long as you don’t keep your rates artificially low. Know when it’s time to get work at a rate you can live with.

Freelance web development is global: Price for a global market

Not long ago, designers, developers, and writers set their rates based on what other people charged in their city. A web developer in Silicon Valley building an e-commerce website for a web design company would command higher rates than someone in another part of the country.

Until now.

Fiverr and Upwork are just companies leveraging people able to work on projects anywhere in the world from anywhere in the world. This means if you’re good at what you do, you can pitch and win work in places where the going rate is much higher than your area. There is a catch to this.

You need to walk a fine line between quoting what you’re worth based on your local market versus the global one. You might be able to raise your rates 10–15%, but if you’re going to command a higher rate, your work will need to stand out on a global level too.

To compete on the global stage your websites have to be global calibre too.

By the hour, per project, on retainer—setting the right rate for the job

Most freelancers have three ways to charge for their work:

  • Hourly rate
  • Per project rate
  • Retainer rate

Each rate is built on the others. Start with a solid hourly rate you can use for quick things you know shouldn’t take very long. Your project rate is based on how long it will take you to complete a project (plus a little extra for unexpected issues). Your retainer rate is what you quote to allocate a certain amount of hours to a client each month.

Each rate has pros and cons, but project and retainer rates are always less than your flat hourly rate. Projects and retainers are guaranteed income streams you can count on—you can afford to charge less because the money is coming in. Sometimes figuring out how much to charge isn't as important as figuring out how to charge for the work.

Per hour rate pitfall: sticker shock

The biggest risk in doing everything at an hourly rate is sticker shock. You and a client agree on a new small business website project. You tell them your hourly rate is $200 and estimate it will take five hours to finish. The client thinks, okay $1000 is good, I can do that.

And you start on the project.

Partway in you realize it’s a bigger website project than you thought. Or the client requests a lot of changes. Or whatever…and that five hours has ballooned to fifteen hours and the bill is $3000—more than twice the original cost. If you’re sending in weekly invoices, your client might not catch the overrun right away, but if you bill at the end of the project—your client is going to notice.

Higher than expected invoices always lead to awkward conversations. Even if the website is stellar, the client will want to know why their thousand dollar project cost them three times as much.

If you’ve kept your client in the loop, and they approved the additional hours, everything should be fine. If you drop a bomb on the client, you might get push back on your higher-than-expected bill. Your client is going to want to know why there was such a big difference between estimated and actual hours. Justifying your hours and rate isn’t a fun conversation.

This is the biggest pitfall of only using hourly rates. You must keep your client in the loop when things take longer than expected. Sticker shock never builds good relationships. If your client isn’t asking about how many hours you’ve spent on the project—tell them anyway. If the project is taking longer than you thought, have a chat with your client and talk about switching to a flat-rate project cost. Project costing shares the risk between you and your client. You charge a little less than you would hourly, but the client knows exactly how much it’s going to cost.

Good communication will save a project from disaster and having “well, that’s too much, I’m not paying you” conversations.

Per project pricing: Shared risk, shared reward

When you use a project-priced model your client isn’t going to get a surprise at the end of a project. Hourly billing puts all the risk on the client. They have a rough idea of the cost, but won’t be sure until it’s all said and done.

Project-based pricing shares the risk. You estimate how long it’ll take to do the work (plus some extra for meetings and overruns) and say you’ll do the whole thing for a set price. If you guess wrong and it takes longer than you expected (but has stayed within the scope) you know better for next time. If it goes smoother than expected, you’re ahead of the game. Here’s how to figure out project-based pricing.

Think about how long the project will take if you’re working on nothing else and do the math based on your hourly rate. That number might be pretty high and could scare off a client, so what you do is give project work at a discount off straight hourly (shared risk). For example:

Your hourly rate is $200/hour. You’ve been asked to make a landing page for lead capture. It might take you 12 hours to code it, plus 4 hours of meetings and 5 more hours of revisions. At your book rate (the rate you quote before knowing anything about a project) that’s $4,200. If you give a flat 10% discount that’s about $3,700, or you could say a flat $4,000 or $3,900. It’s important when you give a project cost you tell the client you’re discounting your usual rate because it’s a flat fee.

Your client might push back and say that’s too much. In that case, ask their budget and see if you can tighten the scope. The key here is you’re not lowering your rate, you’re reducing the amount of time you’re working on the project. There is some wiggle room here if you think this could be a good, long-term client. However, be careful always cutting your price because the client thinks it’s too much. Don’t sell yourself short. Discounts are great as long as the client knows it’s a discount—and the discount won’t be forever.

Retainer rate gives people flexibility

Retainers are a different way to set rates and charge for work. With a retainer you’re allocating a certain number of hours to a client for a set rate lower than your hourly rate. Like project-based pricing, a retainer is bankable money you can count on. Also, you can lower your rate to show a discount, but keep it high enough for the client to know your value. If your rate is $200/hour, don’t set a retainer at $100/hour. Try $150–175/hour instead. The client is getting a deal and you’re getting income you can count on.

Retainers are great for clients whose web design and web development needs change a lot. Maybe they need work on their website one month, but an e-commerce website the next, and setting up a content management system the next. Each of those are very different projects that might call for very different costs, but on retainer you tell your client the retainer covers a certain portion of the website project this month and into the next. If they'd like to get more hours from you to complete the website quicker, you can quote how much additional freelance development hours cost.

Setting up retainers is a topic for a separate post, but a word of caution: Don’t sell more hours than you can provide. It’s okay to have several retainer clients and oversubscribe by 125–150% because the chances of all the clients needing all their hours at once isn’t likely. But if you sell 200% of your hours, you might have committed yourself to way more hours than you could possibly provide.

Special rates for special circumstances

All freelance web and graphic designers have “rush job” rates. This is a rate you afford to drop everything—and risk delaying other work at the expense of other clients—and work on something urgently. Don’t skimp on this rate. If your standard rate is $200 an hour, saying your “drop everything” rate is $300 or even $400 an hour isn’t unheard of. Remember, you’re taking a risk. The client might have an urgent need, but if you’ve committed to work for other clients, you have to put them on the back burner.

Also consider special rates for:

  • Expanding the project scope
  • Additional rounds of changes beyond what you agreed to
  • Project delays

Your hourly rates are how you’re compensated for your time. If project delays cost you extra time, the client should pay for them. If you agree to two rounds of revisions, but after the third round they want more changes, you need to charge for that. If you don’t value your time enough to charge for things taking time away from other clients, winning new business, or your life, neither will your clients.

Sliding web development rates offer flexibility

A lot of designers, writers, and other freelancers offer sliding scales for rates. You might say creating ad creative costs between $100–200 an hour depending on if it’s static or animated, or if they have all the assets ready for you. Sliding scales let clients know you’re willing to charge less for easy things, but charge more for harder things.

You can also offer a sliding scale based on the size or kind of company. A startup doing something really interesting you’d like to be a part of might not be able to afford your book rate, so you cut them a deal. Many freelancers give steep discounts or donate their time for charitable causes they believe in.

Use a sliding scale to show you can be flexible in your pricing, but still need to earn a living.

Introductory rates are fine, but make the discount clear

When you’re trying to win clients—especially if you’re trying to break into freelance web design and development—offering a new business discount is a great way to win the business and a client. There’s a catch though: You need to tell the client you’re giving them a deal as a first time client. If they think this 15–20% discount is your usual rate, you’re going to be in trouble trying to explain raising your design and development rates later on.

How much should I charge as a freelancer?

It’s tempting when you’re setting your rate to perform a calculation like this:

“I made $90,000 a year, so 37.5 hours a week multiplied by 52 weeks is 1,950 hours. So to earn that freelancing I should charge $46 per hour.”

Not so fast.

At $46 per hour, you're not going to be able to make ends meet. Very few freelancers work 37.5 hours a week. And, what about taking time off for vacation or sick time? When you're in a full time job, those employee benefits are covered. If you want to take a vacation as a freelancer, you need to bank money ahead of time to compensate for not working for a week.

When you’re freelancing you have to cover taxes, benefits, and the fact you won’t be working a solid 1,950 hours. Because work doesn’t magically appear, especially early on, you have to charge $150, $200, $250, or more an hour. This covers the time when you're not working, plus all the extra expenses you're on the hook for.

As a freelancer you are your own boss, you're deciding how much your time and expertise is worth. A full-time job takes all the pressure off hustling and wondering if you’ll get paid on time. Freelancing will let you earn as much, or as little, as you like.

This circles back to talking to people you know, such as web developers, graphic designers, writers, essentially, all the freelancers you know, and finding out what they charge. Get a feel for the going rate. Freelancers work with other freelancers, they know what other people charge—or can find out quickly.

Join groups on Facebook, LinkedIn, and Slack where you can find community among your peers. You’re an expert. Set a rate you feel good about, and stick to it. Never justify your rates. Your rate is your rate. Clients who poke and prod asking “well is that really how much it will cost”, might not be the clients you want.

Think of it this way. If you hire a lawyer or an accountant—and you will as a freelancer—you find out their rate and you say “okay”. You don’t have to give that person your business if the rate is more than you can afford, but you don’t ask a lawyer to justify their rate.

You don’t do it to other professionals, don’t let others do it to you, and never do it to yourself.

Setting the right expectations: Estimating how long work takes

You’ll see variations of this line all over:

I spent the last 30 years learning how to do it in 30 minutes. You’re not paying for my time, you’re paying for my experience.

One of the hardest things about being a freelancer, besides finding clients and getting paid, is estimating how long it will take to do something. If you’ve been working a full time job that didn’t require you to track your time, you might not have ever thought about how long it takes to code a landing page or set up a new WordPress site.

People coming from an agency have some sense of how long it takes to do work, so if that’s you, you have a head start. When you're just getting up and running, guess high. Double your first guess and then add 10% more. Until you get a sense of how long it really takes to do something, err on the side of taking longer.

Because it will probably take even longer than that.

Getting paid is easy with Wave

Have a competitive rate and doing great work doesn’t matter much if you can’t get paid for your work. Wave makes it easy to create unlimited invoices for free and get paid online. Don’t worry about sending reminders if the invoice is late, Wave will do it for you automatically. Hate getting checks? Wave lets you set up online payments in minutes.

Wave can’t help you get more clients or win pitches, but it can help you get paid faster. Give Wave a try now and start getting paid for your work.