Charge for a website by what you build and how long it takes.
A landing page, a business site, and a small web app are different products. They need different prices and different proposals.
The numbers below are a guide, not a universal rate card. Your speed, your local costs, your freelance rates, and the Upwork fees in your account all change the final price. Check the fee before you quote.
Start from days, then add the fee
Write how long the last similar site took. Count revisions and the time to ship it.
If you have never tracked this, time a demo this week. Guessing a weekend for a five-page site can turn into three weeks.
Pick the amount you want to keep each day after fees. Multiply it by the number of days. Then add the fee back in so you reach the client price.
If you need $700 after fees and the fee is 10 percent, you bill about $778, not $700. If you skip this step, every project gets a quiet discount.
Round the number to one you can say out loud. Then tie it to a written scope. A price with no page list is a discount waiting to happen.
A landing page
A landing page is one screen with one clear action: a form, a booking link, or a checkout for one offer. It can include your layout, their text, mobile design, and one revision round. It does not include a blog, a logo, or extra sections added later.
For many freelancers, this takes one to three days. Price the days, not the fact that it is only one page. A page with custom interactions, rough brand assets, or copy you must write takes longer. Say that and raise the price, or remove those parts.
On Upwork, this is a good first fixed-price contract if the client already has text and photos. It is the wrong job to use to prove you can build their whole company.
A business site
A business site is a small set of pages: home, about, services, contact, maybe a gallery. The client supplies the words unless copy is part of the price. Two rounds of edits are enough to write into the contract. A third round is a new milestone.
This is often a one- to two-week job for a developer who is not also doing the design. If you are designing from scratch, add days or charge more. Developers who include branding for free are not being generous. They are hiding unpaid time inside a site price that was already tight.
A fair business website price is several times the landing page price because the work is much larger. You also have a shared header, a footer, and delays when content arrives late. If their budget matches your landing page number, sell the landing page. Do not squeeze five pages into that budget and call it a package.
A small web app
A small web app has accounts, saved data, or a workflow. Think client portal, booking tool with a database, or an internal dashboard. This is not a business site with a contact form. The unknowns are bigger, so one fixed price for the app often turns into months of extra work.
Price the first slice instead. For example: sign in, one main screen, and a way to edit one kind of record. Give it a set number of weeks and a weekly check in. Later slices become new milestones.
If the client cannot describe the first slice, you are not late on a quote. They are early on the spec. Offer a paid discovery milestone, or walk away.
Hourly pricing can work for this slice if the client accepts a weekly cap. A fixed price can also work if the slice is truly fixed. Do not mix unlimited tweaks with a fixed app price. That is scope creep.
How to say the number on Upwork
In the proposal, tie the price to the scope:
Landing page, their copy, one revision round, delivered in a week, for X
Or five pages, your existing logo, two revision rounds, delivered in two weeks, for Y
Put X or Y where they can see it. Say that extra pages are a separate milestone. If their posted budget is lower, answer with the smaller product, not with an apology and a match of their budget.
Raise the price when they add copywriting, a shop, or a rush date. Do not raise it halfway through because you feel busy. Change the number before you accept the offer.
A floor you will actually keep
Write your three floors in a note: landing page, business site, and first slice of a small app. Each floor is the client price after the fee math. When a job pays under the floor, do not take it for the review unless you shrink the scope until it fits the floor again.
Clients can tell when a price is random. They can also tell when you know what a page costs. That second version gets fewer jobs and better ones. That is the point of having a rate at all.






