Why this exists
Freelance pricing advice tends to arrive as encouragement rather than arithmetic. Charge more. Know your value. Raise your rates. All fine, and none of it tells you the number below which the work is costing you money. That number is calculable from four inputs, and it is what this site produces.
How the calculators are built
Every calculation runs as a plain JavaScript function in your browser. There is no server, no API call, and no database. Each function is covered by an automated test suite that runs on every change, and every page publishes the formula it uses so you can check it by hand.
Where a result depends on an assumption — how much of your time is billable, what employer overhead really costs — that assumption is an input you control rather than a constant chosen for you. Where the published worked example quotes a figure, a test asserts the calculator actually returns it, so the copy cannot drift away from the code.
What it deliberately does not do
It will not ask you to create an account, will not email you, and does not store the numbers you type. It is not tax advice, accounting advice, or a substitute for someone who knows your jurisdiction. Tax rules vary enormously by country and by trading structure, which is why the calculators take your effective tax rate as an input rather than pretending to know it.
It also will not tell you what to charge. It tells you what you cannot charge less than. The distance between the two is positioning, demand, and nerve, and no calculator settles it.
How the site is funded
The calculators are free and will stay free. Some outbound links to third-party business tools may earn a commission, which is disclosed on the affiliate disclosure page and marked wherever it applies. No result changes because of a commission — the arithmetic is published on the page that uses it.
Reporting an error
If a calculator disagrees with your accountant, the accountant is right about your tax and the calculator is right about the division. If the maths itself is wrong, that is a bug worth reporting, and the published formula on each page should make it straightforward to point at.