Work backwards from the money you keep
Start with the income you want before personal tax, add business expenses, and gross the total up for your combined tax rate: revenue = (income + expenses) / (1 - tax rate). At a 30% rate, $100,000 of income and $20,000 of expenses need $171,429 of revenue, because the tax is charged on the way in rather than out of the number you meant to keep.
Divide that revenue by billable hours, not working hours. Someone who bills 25 hours a week for 48 weeks has 1,200 billable hours, so the rate is about $143 an hour before unpaid holiday is counted. That figure is printed in the build table as "rate before unpaid time off is counted", and it is a floor for the rest of the page, not the headline.
The combined rate is your input because income tax, self-employment tax and state tax depend on where you live and what you earn. It is clamped between 0% and 80%, the billable hours per week between 0 and 80, total hours between 0 and 100, and weeks worked between 1 and 52. Zero billable hours a week returns a warning instead of a rate, because a per-hour price with no billable hour in it is not a number the page can defend.
Why utilization is the hidden variable
Admin, invoicing, proposals, marketing, learning and answering email are all real work and none of it is billable. A freelancer billing 25 of 40 working hours has a utilization rate of 62.5%, and every unbilled hour lowers the effective rate - not the invoice, but the value of the week that produced it.
The effective rate across all working hours is the honest comparison against a salaried job. The same $171,429 of revenue spread across 1,920 hours is $89 an hour, not $143, and the gap between those two figures is the price of running a business rather than holding a job.
That is why the page prints both instead of choosing the flattering one. A rate built only on billable hours looks comfortable next to a salary until the unbilled hours and the unpaid holiday are put back into the denominator, and by then the quote is already in a client’s inbox.
Replacing a salary properly
A salaried package is bigger than the salary. The employer also pays its share of payroll tax - 6.2% of wages up to the Social Security wage base plus 1.45% for Medicare - along with health insurance, a retirement match, equipment and training. The page adds that payroll tax and the benefits figure you enter to the salary to get a package value; at the defaults, a $100,000 salary becomes $119,650 once $7,650 of payroll tax and $12,000 of benefits are included.
Paid time off cuts the other way. Fifteen days off is 120 hours that an employer used to cover and you now have to fund, so they come off the 1,200 billable hours, leaving 1,080. The same grossed-up revenue divided by fewer hours is the rate that actually replaces the job: $199,500 over 1,080 hours is $184.72 an hour, against $143 before the holiday was counted. The day rate multiplies that by eight billable hours, the weekly rate by your billable hours a week, and the monthly retainer by those hours times 52/12.
The hour count has a floor at zero rather than a guard. If the days off you enter are large enough to consume every billable hour, the division is skipped and the replacement rate prints $0.00 - the page does not block that case, and it is worth knowing which empty answer comes from which cause.
Turning the rate into quotes
A day rate of eight billable hours is the simplest way to quote project work, and a monthly retainer is the hourly rate times the billable hours in an average month. Retainers usually hide a discount, so check the implied hourly rate before signing one: the page prints the weekly and monthly equivalents so that check takes a glance rather than a spreadsheet.
Charge a minimum engagement so that a fifteen-minute call is not billed as a fraction of an hour, and price rush work, extra revisions and out-of-scope requests separately rather than absorbing them into the rate. The quote note suggests a minimum of twice the hourly rate, which is a starting convention rather than a rule the arithmetic requires.
What the page will not do is decide what the market pays. It hands you a floor that funds the income, the expenses and the tax without paying for a single hour of unplanned work, and it stops short of profit share, equity, unpaid invoices and bad debt. Those are real parts of a freelance year, and they belong in the expenses field or in a negotiation, not in a formula pretending to know them.
What the rate has to survive
A freelance rate is not a price, it is a survival threshold. It has to cover the hours you can bill, the hours you cannot, the expenses that used to arrive on a company card, and the benefits that used to arrive as a line on a payslip - and it has to do all of that in a year with fewer working weeks than the one it is being compared to.
The counterexample is the rate that looks generous and is not. Quoting $75 an hour against a $65,000 salary looks like a step up; at 25 billable hours across a 46-week year that is $86,250 of revenue, minus $8,000 of expenses and 30% tax, which lands below the salary once the lost health cover and the unpaid holidays are priced in.
That is why the page prints two rates: the one you need to charge, and the one that results once every working hour - billed or not - is counted. The second number is the honest comparison with a salary, because a salary pays for all of them.
Keep the hourly floor and the project quote apart
The two numbers get confused constantly. The hourly rate is your floor when you sell time by the hour; a project quote is the total you put on a fixed scope divided by the hours you expect it to take - and between those two sits scope, revision rounds and risk. Quoting a project with an unclear scope at your hourly floor treats every one of those as free.
The order cannot be reversed either. Work out the floor first, then adjust per project. Doing it the other way - reading what peers charge and back-solving your own costs - usually ends with a floor that was already below the survival line and never got calculated, because the market price looked like an answer.
What this page gives you is the floor: the rate below which the year does not work. Every quote you send afterwards should sit above it, and the ones that cannot are the ones to decline rather than discount.