Course Pricing Calculator

Estimate per-student pricing to reach your target income. All calculations stay on this page.

Inputs

Calculator inputs
Settings

Stores your latest calculator values in local storage so they're ready the next time you visit from this browser.

Export or import your setup

Download all current settings as a JSON file so you can move them to another browser, then import them later to restore every field.

Format version 1.0.0

Desired income

Entering an income value will update the lesson cost automatically.

Acceptable income range (optional) Monthly

Leave either value blank if you do not have a minimum or maximum target.

Extra safety margin

This % adds an extra percentage cushion on top of your desired specified income. The "buffered" row in the results table uses this value to suggest a lesson price that covers surprises.

Taxes
Costs
Fixed costs

Enter either the monthly or annual amount for each category. The other column updates automatically. Think about rent, business insurance, disability cover (AOV), pension contributions, health insurance, marketing, materials, software, and training.

Location / venue
Business insurance
Disability insurance (AOV)
Health insurance premium
Pension contributions
Marketing
Materials
Admin / software
Professional development

Need benchmarks? Visit the helpful resources page.

Calculated automatically from the breakdown above.

Variable costs
Schedule and capacity
Lesson price preferences

Entering a lesson price updates the net income values above.

Preferred price range (incl. VAT)

Prices outside this range are highlighted in the pricing table. Leave blank to skip highlighting.

Time-off planner
32.5
130

Your Info Is Safe

This calculator runs entirely in your browser. There are no sign-ins, accounts, or background network calls. Everything you type stays on this page. By default the only thing saved between visits is your light/dark mode preference (course-pricing-theme). If you turn on “Remember my inputs,” the calculator also stores your latest form values (course-pricing-saved-inputs) plus a small flag (course-pricing-save-enabled) in local storage. Switch it off or press “Reset to defaults” to remove them instantly.

When you export results, the CSV file is generated on your device: the app assembles the rows, wraps them in a Blob, spawns a temporary download link, clicks it for you, and immediately cleans it up again, so nothing leaves your device. Want to dig deeper? The full source code is available on GitHub, review it yourself or with a developer you trust to confirm exactly how the site works.

Exporting your calculator setup works the same way: clicking “Export JSON” bundles every field, toggle, and layout preference into a .json file in your browser. Keep that file wherever you like, then use “Import JSON” later to apply the exact same settings on this or another device. Imports only touch local storage if you tell the app to remember inputs; otherwise everything stays in memory for the current session.

Easy ways to verify this yourself

  1. Check that no cookies are created. Open DevTools → Application/Storage → Cookies, reload the page, and interact with the calculator. The cookies list will stay empty.
  2. Inspect local storage. In the same panel, open “Local Storage,” select the site origin, and confirm you see course-pricing-theme, plus course-pricing-saved-inputs and course-pricing-save-enabled only if you enabled “Remember my inputs.” Toggle it off or use “Reset to defaults” to clear the extra entries.
  3. Watch for network requests. Keep the Network tab open with “Preserve log” enabled as you adjust inputs and export CSV. You’ll see no additional requests after the initial page load because every calculation happens locally.
  4. Review the page source. Search for calls like fetch, XMLHttpRequest, or navigator.sendBeacon. You’ll only find localStorage.getItem/setItem for the theme preference and the optional saved inputs toggle.
  5. Browse the GitHub repository. Inspect the project files directly on GitHub to confirm exactly what the site ships and how it behaves.