How to Write an Upwork Proposal That Gets Read
By Fiaz Ahmad · Updated October 30, 2026
A client posting a job on Upwork gets twenty to fifty proposals within hours. They do not read them. They scan a stacked list where each proposal shows your photo, your headline, and roughly the first two lines of your cover letter — then they open maybe five. Everything in this guide follows from that one fact: the proposal is not a document, it's a list entry fighting to be opened, and then a short pitch fighting to be answered. I write proposals for client work every week; this is the structure that gets replies.
The two lines that decide everything
The preview shows your opening before the client clicks anything. Most freelancers spend it on themselves: "Hi, I'm a full-stack developer with 8 years of experience in..." — and the client's eye slides to the next card, because every card says that. The opening line has one job: prove you read their post.
- Weak: "Hello! I am an experienced WordPress developer and I would love to work on your project."
- Strong: "Your checkout is dropping mobile users at the payment step — I fixed the same WooCommerce + Stripe conflict for a store doing 400 orders/day last month."
The strong version names their problem in their vocabulary, and it fits inside the preview. Your bio can wait; it's on your profile anyway, one click away.
A structure that gets replies
Once opened, a proposal has perhaps thirty seconds of attention. Four short moves fill them better than four paragraphs of selling:
- Mirror the job post's own words. If they wrote "migrate our store off Shopify," say "migrate your store off Shopify" — not "e-commerce replatforming services." Clients skim for their own phrases; matching vocabulary reads as understanding.
- One relevant proof point, not a portfolio. A single line — "I did this exact thing for X, result Y" — with one link if it genuinely matches. Three links is a chore; one is evidence.
- A concrete first step. "First thing I'd do is profile the three slowest queries — that's usually where this symptom comes from." This is the line that separates people who can do the work from people who want the work.
- A question that invites a reply. Not "let me know if interested" but something they have to answer to brief anyone: "Is the data in Postgres or still in the legacy MySQL instance?" Questions convert because replying starts the interview.
What to bold — and what never to bold
Upwork's proposal box is plain text, so the only way to make a word stand out is Unicode styled characters — it's the reason this site exists. Used well, bolding does for a skimming client what the preview did for the list: it carries your three most important facts even if nothing else gets read. Used badly, it looks like a ransom note.
- Bold the client's deliverable: "a working 𝐒𝐭𝐫𝐢𝐩𝐞 𝐜𝐡𝐞𝐜𝐤𝐨𝐮𝐭 on your staging site"
- Bold the number: "cut load time from 6s to 𝟏.𝟐𝐬"
- Bold the deadline: "delivered by 𝐅𝐫𝐢𝐝𝐚𝐲"
- Never bold whole sentences — if everything is emphasized, nothing is. Three to five bolded phrases in a proposal is the ceiling; past that, emphasis turns into noise.
The Upwork Proposal Generator does this selection for you: paste the draft, and the AI bolds the deliverable, the numbers and the deadline rather than decorating at random.
The proposal killers
- The generic opener. Anything that could be pasted into any job post unchanged. Clients have seen the exact sentence a hundred times and treat it as spam.
- The pasted portfolio. Ten links with no explanation of which one matters here. Pick the one relevant piece or skip it.
- The overlong bio. A paragraph about your journey, your team, your values. The client is hiring for their problem, not your story — the profile page already holds the biography.
- AI-sounding text. "I am thrilled to express my keen interest in this exciting opportunity" reads as machine-written even when it isn't, and clients increasingly skip it on sight. If you draft with AI, edit the tone out — here's how to make AI text sound human.
Connects: why fewer, better proposals win
Every proposal costs Connects — Upwork's paid bidding tokens, typically a few dollars' worth per application once you're buying them. That changes the math: ten template proposals that each take two minutes cost more and convert worse than three researched ones that each take twenty. A specific proposal on a job posted an hour ago, where you can name the client's actual problem, beats volume every time I've measured it on my own account. Spend the research time; the Connects take care of themselves.
Before and after
Before — generic:
Hello, I hope you are doing well. I am a professional web developer with 8+ years of experience in HTML, CSS, JavaScript, React, Node.js and many other technologies. I have read your job description carefully and I am confident I can do this job perfectly. Please check my portfolio. I am available to start immediately and look forward to your positive response. Thank you.
After — specific, with sensible bolding:
Your product pages are taking 6+ seconds to load — on a Next.js store that's almost always unoptimized images plus a blocking third-party script. I fixed the same pattern for a furniture retailer in March: 𝐋𝐂𝐏 𝐟𝐫𝐨𝐦 𝟔.𝟐𝐬 𝐭𝐨 𝟏.𝟖𝐬 (happy to share the case study). First step here would be a Lighthouse trace on your two slowest templates — I can have findings to you by 𝐓𝐡𝐮𝐫𝐬𝐝𝐚𝐲. Quick question so I scope this right: are the product images served through Shopify's CDN or your own S3 bucket?
The "after" opens with their symptom, carries one proof point with a bolded number, commits to a first step with a bolded day, and ends on a question the client can answer in five words. That's the whole method.
Draft written? Paste it into the Upwork Proposal Generator and let AI bold the deliverable, the numbers and the deadline.
Open the Upwork Proposal GeneratorFrequently asked questions
How long should an Upwork proposal be?
150–250 words. Long enough for the four moves above, short enough that a client actually finishes it. If a job genuinely needs more detail, offer it in the question: "I can outline the full migration plan on a call."
Does bold text actually work in Upwork proposals?
Yes — Unicode bold characters render in Upwork's proposal view and in the client's notification emails. Keep it to a few key phrases; this is one of the platforms where Unicode styling is the only option, since the proposal box strips all real formatting. The free bold text tool handles the conversion.
Should I use AI to write my proposals?
Use it to edit, not to generate. A fully AI-written proposal converges on the same phrasing as everyone else's fully AI-written proposal. Draft the specific parts yourself — the client's problem, your proof point, the first step — then use AI to tighten and format.