A Webstarted Toolbox widget · macOS & Windows

A freelance rate calculator that also does the tax step.

Hourly ↔ daily ↔ monthly ↔ yearly, in both directions and counting the weeks you actually bill. Then the part everyone gets wrong: adding a percentage to a base, or extracting it from an amount that already includes it. Offline, in your menu bar.

Already have Toolbox? Open this widget

Free · No account · 100% offline · Installs from the Toolbox catalog
Both directionsFrom the rate, or from the yearly goal
Billable weeksVacation and holidays counted
Add or extract taxbase = total ÷ (1 + rate)
OfflineYour numbers stay on your machine
Rate mode

The four numbers you get asked for, from whichever one you know.

A client asks for a day rate. A recruiter asks for an annual figure. A retainer is monthly. They are all the same rate wearing different clothes, and converting between them in your head — with vacation in the mix — is how you end up quoting two inconsistent numbers in the same week.

Type your hourly rate and the day, month and year fall out of it. Or go the other way: type the yearly income you are targeting and get the hourly rate that reaches it. Two inputs shape both directions — hours per week (default 40) and billable weeks per year (default 48) — so the result reflects your actual working year instead of a theoretical 52-week one. The day rate is derived from your weekly hours over a five-day week, not a hardcoded eight hours.

  • Hourly, daily, monthly and yearly — always in sync
  • Solve from the rate or from the yearly target
  • Hours per week and billable weeks are yours to set
  • Pure calculation, unit-tested — no rounding surprises
Tax mode

Subtracting the percentage is not how you get the base.

This is the one worth internalizing. A client transferred 121 and the rate is 21%. What was the base? Almost everyone reaches for “take off 21%” and gets 95.59. The right answer is 100, because the tax was applied on top of the base: you divide, you don’t subtract. base = total ÷ (1 + rate).

So the widget has two explicit modes instead of one ambiguous field. Add takes a base and gives you the invoice total. Extract takes an amount that already includes the tax and splits it back into base and tax. Each mode says in one line what it assumes about the number you typed, which is exactly the ambiguity that produces wrong invoices.

The percentage chips are configurable: load the rates you use — 21%, 10.5%, a withholding rate, your local sales tax — and they are one tap away.

  • Add: base → tax → invoice total
  • Extract: total → base + tax, by division, not subtraction
  • Configurable percentage chips + free-typed rates
  • Base, tax and total always shown together, never just the answer
What it isn’t

Arithmetic you can check, not advice you have to trust.

This widget does not know your tax residence, your deductions, whether you cross a registration threshold, or which of two rates applies to the service you sold. It applies the percentage you give it, in the direction you pick, and shows you base, tax and total so you can sanity-check the result in a second. It is not accounting or tax advice — that conversation belongs with your accountant.

What it is good for is the moment before you send something: the sanity check on a quote, the reverse-engineering of a payment that arrived with the tax baked in, the “wait, what does that make my hourly rate?” before you agree to a monthly retainer. It lives in your menu bar precisely because those moments are 20 seconds long, and neither a spreadsheet nor a web calculator with a cookie banner is worth opening for them.

  • No account, no cloud, no numbers leaving your machine
  • Currency setting affects formatting only — never a conversion
  • Every intermediate value visible, so nothing is a black box
  • Not tax, legal or financial advice
Amount 121 · rate 21%Result
Extract (÷ 1.21)100.00 ✓
Subtract 21% of 12195.59 ✗
Add 21% to a base of 100121.00 ✓
Tax portion of that total21.00
Yearly ÷ 52 vs. ÷ 48 weeks≈ 8% short
Part of Webstarted Toolbox

Installed from the catalog, in one click.

Rates & Tax isn’t bundled into the app — it’s a widget in the Webstarted Toolbox catalog. Download Toolbox, open the catalog tab (🧰), press the “+” next to Rates & Tax, and it lands in your Finance tab. No reinstall, no app update. Here are a few of its neighbors:

FAQ

Questions, answered.

Why does it ask for billable weeks instead of assuming 52?

Because you do not bill 52 weeks. Take out vacation, public holidays and the weeks that go to admin, sales and sick days, and most independents land somewhere between 44 and 48 — the widget defaults to 48. That single field is the difference between a rate that looks fine on paper and one that actually reaches your target income: at 40 h/week, dividing a yearly goal by 52 weeks instead of 48 undershoots your hourly rate by about 8%.

Can it work backwards, from the income I want?

Yes — it runs in both directions. Type an hourly rate and you get the day, month and year it implies. Or type the yearly income you are aiming for and it tells you the hourly rate that gets you there, given your hours per week and billable weeks. The second direction is the one that matters when you are setting a price rather than reporting one.

What does “extract” tax mean?

It splits a tax that is already inside an amount. If a client paid you 121 and the rate is 21%, the base is 121 ÷ 1.21 = 100 and the tax is 21. The intuitive move — subtracting 21% from 121 — gives 95.59, which is wrong, and it is wrong every single time. Extract mode does the division for you: base = total ÷ (1 + rate). Add mode does the other direction, turning a base into an invoice total.

Can I set my own percentages?

Yes. The quick-percentage chips are configurable in the widget’s settings — put in the ones you actually use (21% and 10.5% VAT, a withholding rate, your local sales tax) and they are one tap away instead of retyped every time. You can also type any percentage directly.

Does it convert currencies?

No. The currency setting only changes how numbers are formatted — the widget never applies an exchange rate. Conversion lives in the Currency Converter widget in the same app, which is explicit about which quote it is using.

Is this accounting or tax advice?

No. It is arithmetic: it applies the percentage you give it, in the direction you choose. Which rate applies to your invoice, what is deductible, and how any of it should be filed are questions for your accountant — this just makes sure the number you write down is the number you meant.

Is it free?

Yes. Webstarted Toolbox is free and needs no account, and Rates & Tax is a free widget in its catalog — you install it in one click from inside the app.

Get Webstarted Toolbox

Free to use. Download the app, then add Rates & Tax from the catalog in one click. macOS 12+ and Windows 10+.

Free beta · macOS · Windows (x64) · Signed & notarized · No account required
Keep exploring

One icon, many small tools

This is just one of the widgets in Webstarted Toolbox. Here are the rest:

Keep Awake Stop your Mac from sleeping, on your terms. 📊 LLM Quota Pace your Claude / AI usage against the clock. 🍅 Pomodoro 25/5 focus cycles in your menu bar. Countdown Live countdowns to anything that matters. Clipboard history Your recent copies, one keystroke away. {} Dev tools JSON, Base64, JWT, regex, epoch — offline. Quick Note A scratchpad that autosaves as you type. 🌐 My IP Your public IPv4 and IPv6, copyable, with ISP and location. 📈 System Info CPU, memory and GPU in your menu bar. 🐹 Topos A 30-second reflex game in your menu bar. 💣 Minesweeper Classic minesweeper in your menu bar. 🪙 Crypto Prices Live crypto prices with 24h change, in your menu bar. 💱 Currency Converter Convert currencies with real parallel rates (blue, MEP, CCL). 🌍 World Clocks Several cities' time at once — daylight saving handled automatically. 🔳 QR Generator QR codes for text, URLs, WiFi or contacts — offline. 🔑 Password Generator Strong passwords & passphrases, fully offline. 🌤️ Weather Any city, now + the days ahead — no API key. 🔥 Habit Tracker Daily streaks — don't break the chain. 100% local. 🔤 Text Tools Change case, slugify, count, dedupe — offline. 🎲 Random Picker Pick from a list at random, or roll dice. 🎨 Color Picker Pick a color, copy hex / rgb / hsl / hsv — offline. 🌐 Translator 18 languages from the menu bar — no API key needed. 🔀 Text Diff Compare two texts line by line — 100% local. Cron Wizard Cron expressions in plain English, with the next runs. 🗃️ Dummy Data Lorem ipsum and fake rows in JSON, CSV or SQL. 🔊 Focus Sounds White, pink or brown noise — synthesized, no files. 🔁 Subscriptions What your recurring services cost per month and year. Network Fees Ethereum gas and Bitcoin fees, right now. 📣 UTM Builder Trackable campaign links, normalized so GA behaves. 🌿 Git Status Which of your repos are dirty, unpushed or behind. 🧮 Calculator Type the calculation, read the result as you go. 🎬 Teleprompter Your script scrolls at the speed you read — in wpm. 📊 Stocks Stocks and ETFs with the day’s change — no API key. 🔥 Fireplace A fireplace generated on the fly — no files, no network. 💼 Job Tracker Your applications, with an OS alarm before each interview. Converter 57 units in 8 categories, converted with zero network. Alarms Clock-time alarms that ring with everything closed. 🗂️ Project Boards Kanban boards with your columns, and a due date that notifies you. 📡 Website Monitor Are your sites up? The code and the latency, from your machine. 📤 Send to another computer Text and images to another computer on your network. 📅 Calendar A month view in your menu bar.