Examples and structure

Upwork cover letter examples that open with the job

The structure that works, an example you can judge for yourself, and a way to generate one from your own history.

14-day trial, no card. Then a free plan with 5 credits a month.

What is an Upwork cover letter?

An Upwork cover letter is the message attached to a proposal, read in about ten seconds and usually on a phone. The ones that earn a reply open with the client's problem, offer one specific piece of evidence, and close with a single question about scope.

A cover letter on Upwork is read in about ten seconds, usually on a phone, next to twenty others. The ones that get a reply open with the client's problem and offer one piece of specific evidence. The ones that do not open with "I am a passionate developer with 10 years of experience".

How do you structure an Upwork cover letter?

  1. 1

    Open with their problem

    First sentence: restate the hard part of the job in your own words. It proves you read past the title.

  2. 2

    Give one piece of proof

    One relevant project, what it involved, what happened. Specific beats impressive.

  3. 3

    Close with one question

    A single question about scope invites a reply. A list of questions reads like homework.

A worked example

Your Shopify theme is fighting the app you installed for bundles, which is why the cart total is wrong on mobile only. That combination is a known conflict. I untangled the same one for a skincare brand in March: the bundle app was recalculating the cart after the theme had already rendered it, so the fix was moving the recalculation into the theme's own cart drawer rather than patching the app. Took two days including regression checks on the checkout. Is your bundle app Bold or Rebuy? The fix is different for each.

Yours is written from your own history, so it will read differently.

24 Upwork cover letter samples you can copy

Twenty-four samples across eight industries. Each opens with the client's problem, gives a single piece of proof, and closes with one question. Swap the bracketed parts for your own work — the structure is the part worth keeping.

Software & development

  1. 1. Web developer

    A marketing site rebuild with a CMS the marketing team can run

    You want the site rebuilt so your marketing team can change copy without a developer. The reason that usually fails is not the CMS choice — it is that the page templates end up too rigid to say anything new in. I rebuilt [site] on [CMS] last [year] with a block-based editor: about eight composable sections the team combines themselves. They have shipped [number] new pages since without opening a ticket. Which pages do your team change most often? That tells me which blocks are worth building first.

  2. 2. WordPress developer

    A plugin conflict breaking a live checkout

    Your checkout breaks when the booking plugin is active, and only on mobile. That pattern is almost always two plugins enqueuing conflicting jQuery on the same hook. I fixed the same class of conflict on [site] — the booking plugin was loading its own jQuery build after the theme had bound the checkout handlers. The fix was dequeuing the duplicate and rebinding, not disabling either plugin, so the client kept both features. Can you tell me which booking plugin it is? The dequeue differs between them.

  3. 3. Mobile app developer

    An app rejected by App Store review

    You have been rejected twice under guideline [number], which is almost always about how the app explains what it does with the data it asks for — not about the data itself. I took [app] through the same rejection last [year]. The fix was rewriting the permission prompts to name the specific feature each one enables, plus a privacy screen before the first request. It passed on the next submission. What does your current rejection notice say verbatim? The wording tells you which of the two problems it is.

  4. 4. Frontend developer

    A slow, janky interface the team cannot speed up

    Your dashboard feels slow on the table view specifically, which usually means the list is re-rendering every row on every keystroke rather than the one that changed. I fixed exactly that on [project]: virtualised the list, moved the filter state out of the row components, and the input went from visibly laggy to immediate. No backend changes. Roughly how many rows are you rendering at once, and is the filtering happening client-side? That decides whether virtualisation alone is enough.

  5. 5. Backend developer

    An API that falls over under load

    Your API times out under load but the database looks idle. That combination usually points at connection-pool exhaustion or a synchronous call to a third party inside the request, not at query performance. I traced the same symptom on [project] to a payment provider call made inline on every checkout. Moving it to a queued job with a webhook callback took p95 from [seconds] to well under a second. Are there any outbound HTTP calls in the request path? That is where I would look first.

  6. 6. Full-stack developer

    A solo build where the client needs one person across the whole stack

    You need someone who can take this from schema to deployed without handing off three times. The risk in that is not capability, it is that a solo build has no second pair of eyes on the decisions that are expensive to reverse. I built [project] end to end — [stack] — and handled it by agreeing the data model and the deploy story with the client in week one, before writing feature code. Both survived to launch unchanged. Do you have a schema already, or is that part of the work?

  7. 7. React developer

    A checkout rebuild with legacy discount rules to preserve

    You want the checkout rebuilt in React with Stripe Payment Element, and the existing coupon logic left intact. That last part is where most rebuilds go wrong — the discount rules are usually older and stranger than anyone remembers. I did the same migration for [client type] last [year]: single-page React checkout, Stripe Elements, Apple and Google Pay, with the legacy rules ported rather than reimplemented. The coupon edge cases took longer than the payment work. Could I see your current discount rules before quoting? That is the part that decides the timeline.

  8. 8. Shopify developer

    A theme customisation that keeps breaking on theme updates

    Your customisations keep disappearing when the theme updates, which means they were made directly in the theme files rather than through an app block or a theme extension. I moved [store]'s customisations into theme app extensions so updates stop overwriting them. Same visual result, but the changes survive every update and can be toggled off from the editor. How many customisations are we talking about, and is the theme from the Shopify store or custom-built? That changes which route is cheapest.

  9. 9. Python developer

    A data pipeline that fails silently

    Your pipeline finishes without errors but the numbers are wrong some days. Silent partial failure almost always means an exception is being swallowed inside a per-row try block. On [project] I found the same thing: rows that failed validation were logged and skipped, but nothing surfaced the skip count, so a bad upstream file looked like a quiet day. Adding a failure threshold that halts the run fixed it in an afternoon. Does your pipeline record how many rows it processed versus how many it expected?

  10. 10. DevOps engineer

    Deploys that require a maintenance window

    You want to stop taking the site down to deploy. The blocker is usually not the deploy tooling — it is that migrations and application code have to be able to run in either order during the rollout. I moved [project] to zero-downtime deploys by splitting every schema change into an additive step and a cleanup step released separately. The pipeline change was the small part; the migration discipline was the work. How often do your releases include schema changes? That decides how much of this you actually need.

  11. 11. QA engineer

    A test suite nobody trusts

    Your suite is green but bugs still ship, which usually means the tests assert on implementation rather than on what the user can observe. On [project] I rewrote the highest-churn suites to drive the UI the way a user does and assert on visible state. The suite got slower and caught considerably more. I also quarantined the flaky tests rather than deleting them, so the team could see what they were losing. Roughly what share of your tests are unit versus end-to-end right now?

  12. 12. AI/ML engineer

    An LLM feature that works in demos and fails in production

    Your feature works in testing and produces nonsense on real inputs. That gap is nearly always the prompt being tuned on clean examples while production data is messy, truncated, or in another language. On [project] I fixed it by building an eval set out of real failing inputs first, then changing the prompt against that rather than against handpicked cases. The failure rate dropped and, more usefully, became measurable. Do you have examples of the inputs where it fails? Those are worth more than any prompt rewrite.

Design & creative

  1. 13. Brand identity designer

    A rebrand that has to work as an app icon and on a banner

    You need the brand rebuilt so it still reads at 24px in an app icon and on a trade-show banner. That range is where most identity work quietly falls apart. I solved the same problem for [client type] in [year]: one mark with a simplified glyph below 32px, a type scale a non-designer can set without breaking it, and a one-page rule sheet so their team stopped asking me to resize things. Is there an existing wordmark you want kept, or is this a clean slate?

  2. 14. UI/UX designer

    A product nobody finishes onboarding in

    People are signing up and not reaching the point where your product does anything for them. That is almost never a visual problem — it is usually that the first screen asks for work before it has shown any value. I reworked the same flow for [product type]: moved account setup after the first useful action, cut the initial form to two fields, and completion went from [x] to [y]. Do you have funnel data on where people stop, or is that part of the work?

  3. 15. Video editor

    Long-form footage that has to become short-form

    You have [duration] of footage and you want shorts out of it. The part that eats the budget is not the cutting — it is that footage shot for long-form usually has no moment that works as a cold open. I handled the same brief for [client type]: pulled [number] clips, re-framed to vertical with the speaker held on the safe area, and captioned for silent playback, which is how most of it gets watched. Is the footage scripted or conversational? That decides how much is actually usable.

Marketing & growth

  1. 16. SEO specialist

    Traffic that grew while revenue did not

    Sessions are up and the revenue has not moved, which usually means the pages that grew are the ones ranking for queries with no buying intent behind them. I found the same pattern at [client type] in [year]: about [share] of new traffic was landing on informational posts with no route onward. Adding a genuine next step to the ten biggest ones, and re-targeting four of them, moved assisted conversions without adding a page. Can you share Search Console access? I would want to see query intent before quoting.

  2. 17. Paid ads specialist

    Reported ROAS nobody in finance believes

    The platform says the ads work and the accounting disagrees. That gap is usually double-counted conversions on a page people reach more than once. I untangled the same thing for [client type]: deduplicated the events, moved the primary goal server-side, and reported ROAS fell by about a third overnight. That was the real number, and the budget decisions after it were finally the right ones. Are you on a standard ecommerce setup or a custom one? That decides whether this is days or weeks.

  3. 18. Email marketer

    A big list that has stopped earning

    A list this size that is not producing revenue is usually a deliverability problem wearing a content problem's clothes — once enough of the list stopped opening, the engaged part stopped reaching the inbox too. I rebuilt sending for [client type]: segmented by genuine engagement, suppressed the rest, warmed back over [duration]. Volume dropped and revenue per send went up, which is the trade worth making. What does your open rate look like on the last ninety days versus the last year?

AI & automation

  1. 19. AI automation specialist

    Inbound enquiries that need triage and routing

    You want enquiries triaged and routed with a summary attached. The part that breaks is not the routing — it is what happens to the ones the classifier is unsure about, because silently misfiling those is worse than not automating at all. I built the same flow for [client type]: classification with a confidence threshold, anything below it into a human queue rather than guessed, and a weekly report on what landed there so the prompt could be tightened against real cases. Roughly what volume a week, and is the CRM already decided?

Engineering & architecture

  1. 20. Mechanical engineer

    A part that passes simulation and fails in production

    It works in simulation and fails on the line, which usually means the model assumes a tolerance the process cannot actually hold. I worked the same problem for [client type]: measured what the process was really delivering rather than what the drawing asked for, moved the critical dimension onto the feature that could hold it, and the reject rate dropped without changing the supplier. Do you have measurement data from the failing batches, or would that be the first step?

Writing & translation

  1. 21. Content writer

    Long-form that has to rank without reading like it

    You want pieces that rank without reading like they were written to rank. That is a harder brief than it sounds — most SEO writing solves the second problem by ignoring the first. I wrote [number] pieces in [subject area] for [client type], built from interviews rather than from the other top-ten results. They ranked, and they were also the pages the sales team actually sent to prospects, which is the test that matters. Do you have subject-matter experts I can interview, or is this desk research?

  2. 22. Translator

    Marketing copy that cannot be translated literally

    Marketing copy rarely survives a literal translation — the line that works in [source language] is usually working because of a rhythm or a pun that does not exist in [target language]. I handled the same set for [client type]: translated the intent rather than the sentence, flagged the three headlines that needed rewriting outright, and gave you both options so the decision stayed yours. Is there a glossary or existing localised material I should match?

Admin & support

  1. 23. Virtual assistant

    Mornings lost to inbox and scheduling

    You are spending your mornings on inbox and scheduling, and the real cost is the context-switching rather than the minutes. I ran the same setup for [client type] for [duration]: everything triaged before 9am against rules we agreed in week one, anything genuinely needing you batched into one afternoon slot, and a Friday summary so nothing needed chasing. After a month they stopped opening the shared inbox. What are you using for scheduling, and is there anyone else I would coordinate with?

Finance & accounting

  1. 24. Bookkeeper

    Two years of unreconciled books before a deadline

    Two years of unreconciled books before a filing deadline is a different job from ongoing bookkeeping, and the risk is that whoever takes it starts at month one and runs out of time. I took the same situation for [client type]: worked backwards from the closing balance to find where it diverged — a single mis-mapped clearing account repeating monthly — then reconciled forward from there. A fraction of the time a straight rebuild would have taken. Which software are the books in, and is the deadline fixed?

These are written examples, not customer submissions. The bracketed parts are placeholders: a cover letter that names a project you did not do is worse than no cover letter.

Why the first two lines decide it

A client posting a job gets somewhere between five and fifty replies, and reads them on a phone between other things. They are not evaluating your writing. They are scanning for a reason to open the next one.

That makes the opening line load-bearing in a way most freelancers underrate. "I am a passionate full-stack developer with 10 years of experience" gives a reader nothing to hold on to, because it would be true of the forty letters underneath it. Restating the awkward part of their job in your own words does the opposite: it proves in one sentence that you read past the title, which is the only thing they cannot get from your profile.

The second line has to earn the first. One relevant project, what it actually involved, what happened. Not a list. Specific beats impressive, every time, because specific is checkable.

Everything after that is you making it easy to reply.

Writing these by hand

Most freelancers keep a template and edit it per job. That is a reasonable instinct and it goes wrong in a predictable way.

The template holds the shape of a letter that once worked. Each edit tweaks the surface — the client's name, the stack, a line about the deadline — while the structure underneath stays fixed. So the letter keeps opening the way it opened two years ago, usually with you rather than with them, and the edits are cosmetic.

The other failure mode is time. Written properly, one of these takes fifteen to twenty minutes: re-reading the post, finding the right piece of proof from your own past, and cutting it down to something a person will read on a phone. Do four and the morning is gone. Rush the last two and they read like the template they are.

A generator does not fix your judgement about which proof to use. What it fixes is the blank page and the digging, so the fifteen minutes goes into the edit rather than the setup.

What to write when you have no directly relevant proof

This is the case the examples never cover, and it is the one most people actually face. The job wants a stack you have used twice, or an industry you have never worked in.

The instinct is to stretch — to describe a tangential project as though it were the same thing. Clients who know their own field spot that immediately, and it costs you more than saying nothing would have.

The better move is to name the nearest true thing and be explicit about the distance. "I have not worked in healthcare, but the compliance constraints you are describing are the same shape as the PCI work I did on a payments rebuild last year" is a sentence a client can evaluate. It gives them a real basis to judge, and it signals that you will not overstate things later either, which is a substantial part of what they are buying.

If the gap is genuinely too wide to bridge honestly, that is information. Spend the connects on a job where your proof is direct.

When a better cover letter will not save you

If the job is a bad fit, no letter rescues it. The client who wants ten years of a framework you touched once is not persuaded by prose, and the connects are better spent elsewhere. The free job scorer exists precisely so you can make that call before you write anything.

If the client has posted repeatedly and hired almost never, the letter is not the variable either. Some jobs are never awarded.

And if you are applying to fifty jobs a week, the problem is upstream of the writing. Ten applications where you genuinely have the proof will beat fifty where you do not, and this page is not going to argue otherwise.

Questions about Upwork cover letters

How long should it be?
Short. Three short paragraphs is plenty. Clients skim on a phone, and length reads as padding rather than effort.
Should I mention my rate?
Only if the posting asks. Otherwise the first message is for proving you understood the job.
Should I attach a portfolio link?
One, if it is directly relevant. A single link to a matching case study helps; a list of five reads as a brochure and invites the client to close the tab.
Do these examples work outside Upwork?
The structure does. Open with their problem, give one piece of proof, close with one question. That holds on Fiverr, Freelancer, PeoplePerHour, LinkedIn and cold email; only the length conventions change.
Is it obvious when a letter is AI-written?
When it has no specifics, yes. Clients recognise the fluent, detail-free register instantly. A draft that cites a real project of yours and a real detail of their job does not read that way.

Ready to write your next cover letter?

  • 14-day trial
  • No card required
  • Cancel any time
Generate mine