DEV Community

Black
Black

Posted on

How to calculate your freelance hourly rate backwards from take-home pay

Most freelance rate advice says "take your old salary, divide by 2,080 hours, and double it." That rule is easy to remember, but it hides the three things that set your real rate: how many hours you can actually bill, self-employment tax, and the costs an employer used to pay for you.

Here is how to work the rate out backwards from the money you want to take home. I also put the whole thing in a free freelance rate calculator that runs in your browser.

1. Count billable hours, not working hours

A full-time freelancer works about 40 hours a week. Only part of that time is billable. Email, quotes, invoicing, sales calls and learning take up the rest. For solo freelancers, 60 to 70% billable is a realistic range.

billable hours = hours per week x billable share x (52 - weeks off)
               = 40 x 0.65 x (52 - 6)
               = 1,196 hours
Enter fullscreen mode Exit fullscreen mode

Six weeks off covers holidays, a vacation, sick days and the slow week between projects. That's 1,196 hours, not 2,080. This one change explains most of the gap between a salary and a freelance rate.

2. Add the costs your employer used to pay

Per year:

  • Health insurance, for example $550 a month = $6,600
  • Software, gear, phone, accounting: $250 a month = $3,000
  • Retirement: no employer match, so set aside your own (5% of $60,000 = $3,000)
  • Platform or card fees, for example 3% of revenue

3. Self-employment tax is the surprise

An employee pays 7.65% for Social Security and Medicare, and the employer pays the other 7.65%. A freelancer pays both halves:

SE tax = profit x 0.9235 x 15.3%
Enter fullscreen mode Exit fullscreen mode

For 2026, the 12.4% Social Security part stops at $184,500 of earnings. The 2.9% Medicare part has no cap. Half of SE tax is deducted before income tax, and most freelancers also get the 20% qualified business income deduction.

4. Solve for revenue

You can't just add everything up, because tax depends on revenue and revenue depends on tax. The easy fix is a binary search: guess a revenue, work out what you keep, and move the guess up or down. Sixty passes is far more than enough.

let lo = 0, hi = 5e6;
for (let i = 0; i < 60; i++) {
  const mid = (lo + hi) / 2;
  keep(mid) < target ? (lo = mid) : (hi = mid);
}
const rate = hi / billableHours;
Enter fullscreen mode Exit fullscreen mode

keep(revenue) subtracts fees and costs, then SE tax, federal tax (2026 brackets and standard deduction) and state tax. A spreadsheet can do the same thing with Goal Seek.

The result

For $60,000 take-home with the numbers above (single filer, 4% state tax):

Revenue needed about $96,400
Hourly rate about $81
Day rate (8 h) about $645
Take-home per hour actually worked about $29

So $29 for each hour worked becomes $81 per billed hour. Tax, costs and unbilled time make up the difference, which is why a fair freelance rate looks high next to a salary.

Then track it

A rate only works if clients pay on time. My Invoice Tracker spreadsheet flags overdue invoices and shows how many days each client takes to pay. For the tax side, the Self-Employed Tax Tracker handles quarterly estimates. Both work in Excel and Google Sheets.

If these free tools help, I post new ones on patreon.com/123black.

This is an estimate for a single US filer, not tax advice.

Top comments (0)