Loading
{ "global": { "icon": "info", "start": "", "end": "" }, "responsive_group_1": { "country": "All", "usertype": "all", "icon": "info", "start": "", "end": "" }, "responsive_group_2": { "country": "All", "usertype": "all", "icon": "info", "start": "", "end": "" } }
[ "filter-cl", "filter-en", "how to hire someone", "how to hire", "hire freelancer" ]

Hiring on Upwork involves sending a clear, complete offer through the job post or freelancer’s profile. You can customize payment terms, switch between hourly and fixed-price, and even hire directly without a job post. Offers expire after seven days, and only pending offers can be edited or withdrawn.


Once you’ve found the right freelancer or agency for your project, hiring them is easy.

Important to know:

You’re entering into a contract, so double-check that the project description is clear and complete and that the rate or total amount and milestones are correct.

To hire a freelancer or agency

  1. Go to Hire talent > Job posts and proposals
  2. Open the job post
  3. Locate the freelancer or agency you want to hire
  4. Select the Hire button
  5. Send an offer

Once you’ve selected Hire, you can update the offer to include the project title, description, payment terms, and milestones for fixed-price jobs.

Create milestones with Uma, Upwork's Mindful AI

For a fixed-price job post, you may see the option to "Generate milestones" to get help from Uma, Upwork's Mindful AI — it's not available to everyone yet. To use this feature:

  1. In the milestones section, select Generate milestones
  2. You can accept, edit, add, or delete the suggestions, or ask for new suggestions

If the freelancer included milestones in their proposal, you can use those, create your own, or select Generate milestones to get help. If you generate milestones with Uma, you’ll still be able to see what the freelancer suggested.

Sending offers to agencies

When hiring an agency, your offer is sent to a specific team member—but payments go to the agency, not that individual. The agency handles internal payments to their team outside of Upwork.

After you send the offer

The freelancer or agency can respond in one of several ways.

They could:

  • Accept the offer, and you'll have a contract
  • Request changes to the offer directly from the offer — not available to agencies
  • Message you to discuss different terms
  • Decline your offer and withdraw their proposal

The freelancer or agency has seven days to respond before the offer expires. If they request changes, the original offer still stays open for the initial seven days unless you send a revised offer. A new seven-day window begins once you send an updated offer.

You can confirm your new contract is active by going to your dashboard and checking the contract list. For hourly jobs, your freelancer can’t log time until the start date.

Heads-up if you’re just getting started:

If you're new to Upwork or haven't hired (and paid) a freelancer yet, you might notice a limit on how many offers you can send each day. No worries—it’s just a temporary cap to help keep things safe for everyone. If you hit your daily limit, you’ll see a message letting you know.

Change or withdraw an offer

You can withdraw or change your offer — as long as the freelancer or agency hasn’t already accepted it. You can even switch between hourly and fixed-price. If your offer has already been accepted, you’ll need to end the contract,

To change your pending job offer:

  1. Go to Hire talent > Pending offers
  2. Find their pending offer and select See Offer
  3. Select Modify offer
  4. Select Continue

To withdraw your pending job offer:

  1. Go to Hire talent > Pending offers
  2. Find their pending offer and select See Offer
  3. Select  Withdraw offer

Resend a canceled offer

If you withdraw an offer by mistake, change your mind, or the freelancer accidentally declines it, you can easily send a new one.

  1. Go to your conversation with the freelancer in your messages
  2. Find the message that contains the offer and select View offer
  3. Open the offer’s menu (...) and choose Make new offer
  4. Update the offer terms and select Send offer

Frequently Asked Questions

What’s the difference between fixed-price and hourly contracts?

Hourly contracts are billed weekly based on time that your freelancer logs in their Work Diary. In most cases they are covered by Upwork Hourly Protection.

Fixed-price contracts are billed by milestone and are based on deliverables. You make a payment in advance — we hold it and release it to your freelancer as they complete milestones. They’re covered by Upwork Fixed-Price Protection.

To learn more about the differences, go here.

What fees should I be aware of when I send an offer?

You’ll pay a Client Marketplace Fee on all client payments and a Contract Initiation Fee for each new contract. 

Can I hire a freelancer without creating a job post first?

Yes. To do so, open the freelancer’s profile and choose Hire to create and send the offer terms. If you’ve worked with someone before, you can choose the Rehire button on their profile and send your offer. Learn more about hiring directly here.

Was this article helpful?

Upwork Help

Do you need additional help?

Get Support

Log in for personalized service and assistance.

Learning Hub

Expand your Upwork knowledge.