Calculate freelance rate

Find the day rate needed to cover a target annual income, business costs, and a chosen buffer across realistic billable days.

freeworks offlinenothing uploaded
ToolFreelance Rate Calculator
Input
Output
Put this on your own site

The frame below runs the same code as this page, in the reader's own browser. Nothing is sent to us, and nothing is sent to you.

Pick a dark background and the text and panels follow it, so the frame stays readable on a dark page.

Preview

How it works

Target income and annual operating costs are added before the optional margin is applied, then the required revenue is divided by billable days. The hourly comparison divides the day rate by 7 as an explicit planning convention, not a legal definition of a working day.

Formula
required revenue = (target income + annual costs) × (1 + margin percentage)
day rate = required revenue ÷ billable days
  • Business costs default to 0 so software, insurance, and accountancy are included only when supplied.
  • The margin also defaults to 0%, avoiding an invisible premium for slow periods or unpaid administration.

Worked example

40,000 target income, 180 billable days
5,000 of business costs on top
Input
											Target annual income: 40000
Annual business costs: 5000
Billable days per year: 180
										
Output
												Required annual revenue: 45000
Day rate: 250
Hourly rate at7 hours: 35.71
Margin percent assumed: 0
											

When to use this

Independent consultants preparing statements of work, freelance designers budgeting non-billable costs, and contractors comparing offers all need a billable-day rate rather than a salary divided by 365.

Edge cases

  • Using 365 billable days leaves no allowance for weekends, holiday, administration, or gaps; the calculation permits it but exposes the assumption in the input.
  • A billable-day count above 365 is rejected rather than implying more than one billed day per calendar day.
  • A 200% buffer triples income plus costs because the percentage is added on top; values above 200% are rejected.