One of the most common questions for developers just entering the freelance market is: what do I actually charge? Not a guess, not "what feels right" — real market rates that clients pay today. Here's a breakdown based on platform data, job boards and community surveys from early 2025.
What "junior" actually means to clients
Clients don't think in years of experience. They think in what you can deliver. A junior on Upwork is typically someone with 0–2 years of professional experience, a thin portfolio, and rates that reflect that. But "thin portfolio" doesn't mean cheap — it means you have to price strategically to win your first projects and build proof.
Hourly rates by platform (2025)
| Platform | Junior Range | Sweet spot |
|---|---|---|
| Upwork | $10 – $35 / hr | $18 – $25 |
| Fiverr | $5 – $25 / hr | $15 – $20 |
| Toptal / Arc | Not beginner-friendly | $50+ minimum |
| Direct clients | $20 – $60 / hr | $30 – $45 |
| Local / referrals | $15 – $50 / hr | $25 – $40 |
Rates by tech stack
Not all junior developers charge the same. Stack matters more than experience at the junior level because clients are paying for a specific output, not a general capability.
| Stack | Avg junior rate (Upwork) |
|---|---|
| HTML / CSS / vanilla JS | $12 – $18 / hr |
| React / Next.js | $18 – $30 / hr |
| Node.js / Express | $20 – $32 / hr |
| Python (scripts / automation) | $20 – $35 / hr |
| WordPress / Webflow | $15 – $25 / hr |
| Mobile (React Native / Flutter) | $22 – $38 / hr |
The gross vs. net trap
This is where most juniors get burned. You agree to $20/hr, work 40 hours, invoice $800 — and then realize you're keeping maybe $500 after Upwork's cut plus taxes. That's a 37% haircut on your gross.
The math goes roughly like this for a $20/hr Upwork contract:
| Item | Amount |
|---|---|
| Gross (40h × $20) | $800.00 |
| Upwork fee (20%) | − $160.00 |
| After fees | $640.00 |
| Self-employment tax (~15%) | − $96.00 |
| Income tax estimate (~10%) | − $64.00 |
| Real take-home | $480.00 |
Should you start low to get reviews?
The "start cheap to build your profile" strategy has limits. Going under $10/hr signals desperation more than it signals value — and you attract clients who are price-shopping, not quality-seeking. A better approach: start at your real floor (the minimum you need to keep, worked backward from net), write a strong proposal, and offer a limited-scope first project at a slight discount rather than slashing your hourly.
One completed project at $20/hr with a 5-star review beats 10 projects at $6/hr. The algorithm weighs success rate and client satisfaction more than volume.
What about region?
Platform clients are global. If you're billing in USD, your location doesn't set your ceiling — your skills and presentation do. Latin American and Eastern European developers consistently charge $20–$45/hr on Upwork at the junior/mid level, competing head-to-head with US-based freelancers on quality, not price.
Calculate what YOU should actually charge
Enter your target take-home, platform fees and tax rate. Get the gross rate you need to bill — and stop leaving money on the table.
Calculate My Rate →