Last updated on Mar 19, 2026

How Upwork Works

Upwork is a two-sided marketplace: clients post jobs, freelancers submit proposals, and Upwork takes a cut of every transaction. But underneath that simple model is a platform that actively ranks, scores, and filters freelancers, and understanding those mechanics is the difference between getting work and getting ignored.

The basic flow

  1. A client posts a job with a description, budget, and required skills.
  2. Freelancers submit proposals using Connects (Upwork's virtual currency).
  3. The client reviews proposals, interviews candidates, and sends a contract offer.
  4. Work happens on the platform, tracked via milestones (fixed price) or the time tracker (hourly).
  5. Payment is released through Upwork's escrow system. Both parties leave feedback.

That feedback loop is critical. Every completed contract affects your Job Success Score, which in turn affects how often Upwork surfaces your profile to future clients.

Freelancer fees

Upwork charges freelancers a service fee on every payment received. The fee is set per contract and ranges from 0% to 15%. It is not a fixed percentage and it does not step down as you bill a client more.

The rate that applies is shown to you before you commit, either when you submit a proposal or when a client sends you an offer. Once that contract begins the rate is locked for the life of the contract, so two contracts running at the same time can carry two different fees. If a client is refunded, the service fee you paid on that amount comes back to you.

The practical consequence is that you cannot assume one number when you price. Read the fee on the proposal screen before you decide what to quote, because the same headline rate nets you a different amount on different contracts.

Watch out Withdrawing your earnings costs a flat amount, not a percentage. Direct to a U.S. bank is free if your tax address is in the U.S. and $2.99 if it is not. Direct to a local bank outside the U.S. is $0.99, Instant Pay is $2.00, and a U.S. dollar wire transfer is $50.00. Pick the method before you plan your cash flow, because the wire fee alone can outweigh a small withdrawal.

The Best Match algorithm

When a client posts a job, Upwork doesn't just show them every proposal in a list. Its Best Match algorithm ranks freelancers and surfaces the ones it thinks are most likely to satisfy the client. The key signals it uses:

  • Profile relevance. Does your title, skills list, and overview match the job's keywords?
  • Job Success Score. Higher JSS = higher ranking, full stop.
  • Recent activity. Dormant accounts rank lower. Regularly applying and completing work keeps your score active.
  • Profile completeness. Incomplete profiles are down-ranked regardless of skill.
  • Client history. Earnings, contract count, and category experience all contribute.
The algorithm is essentially asking: "Based on past performance and profile relevance, how likely is this freelancer to make this client happy?" Your job is to make that answer obvious.

The Job Success Score (JSS)

The JSS is Upwork's single most important metric for freelancers. It is a percentage from 0 to 100 reflecting client satisfaction, and Upwork recalculates it daily, not on a fortnightly cycle.

How it is calculated matters more than most freelancers realise. Upwork scores your 6, 12 and 24 month history separately and shows the best of those three. You are never stuck with a two year average, which is why a bad stretch is escapable faster than the folklore suggests.

What the thresholds mean in practice:

  • 90% and above. Eligible for Top Rated. Upwork promotes your profile harder, and you can request removal of one contract's feedback every 3 months, provided you have completed 10 or more contracts since your last request.
  • 80 to 89%. Functional, but you lose visibility against Top Rated competitors.
  • Below 79%. Upwork's own guidance is that it becomes difficult to connect with new clients or win new projects. It does not describe this as a suspension threshold.
Note A new account with fewer than two completed contracts has no JSS yet. This isn't a disadvantage, clients know new accounts won't have a score. What matters early on is getting those first two contracts done well. One bad outcome in your first three contracts can damage your score significantly because there's no positive history to offset it. See Getting Your First Job for how to approach this.

Contract types

Every Upwork job runs on one of two contract structures:

Hourly Fixed Price
Payment basis Hours logged via time tracker Milestones agreed upfront
Payment protection Hourly Protection. Upwork guarantees payment for tracked hours Escrow, client funds each milestone before work begins
Best for Ongoing work, unclear scope, long engagements Defined deliverables, project-based work
Risk Client can end contract at any time Scope creep if milestones aren't defined precisely

The choice of contract type matters more than most new freelancers realize. See Fixed Price vs Hourly for a full breakdown.

Payment protection

Upwork holds client funds in escrow before work begins on fixed-price contracts. For hourly contracts, Upwork's Hourly Protection guarantees payment for hours logged with the time tracker as long as the work diary (screenshots) shows active work. Working outside Upwork, accepting payment through PayPal, bank transfer, or any off-platform method, voids all protections and violates Upwork's Terms of Service.