The principle
If you cannot read a calculator's logic, you cannot trust the calculator's output. The site treats that as a hard rule. Every page that performs a calculation:
- States the tax year, rates, and assumptions in the About this calculator footer.
- Cites the HMRC, FCA, or other primary source the figures come from.
- Ships its calculation code as plain unminified JavaScript in
/assets/that any visitor can read in browser DevTools. - Links (where available) to a methodology page that walks the formula step by step.
How to inspect any calculator
- Open the calculator — pick any one, e.g. Tax Calculator.
- Open browser DevTools — F12 in most browsers, or right-click → Inspect.
- Open the Sources / Debugger tab and look in
uktaxdrag.co.uk/assets/. The calculator's logic lives there as a readable.jsfile (e.g.tdx-tax-calculator-page.js). - Read the math — the rate constants, threshold numbers, and step order are all visible. Where a comment says "// HMRC: …" the source is named explicitly.
- Compare with HMRC — if you have an HMRC tool that does the same job (e.g. their income-tax estimator), put the same inputs in both. Differences are signal.
What "open" actually means here
The site uses no obfuscated bundle, no minifier, no source-map-stripped build. The JavaScript that runs in your browser is the same JavaScript a developer would read on disk. There is no hidden server-side calculation: every figure on a calculator page is computed in your own browser, on the visible inputs, using the visible code.
Per-calculator methodology pages
For the most-used calculators, there is a dedicated methodology page that walks the formula in plain English (e.g. how Income Tax is layered with NI, how the personal-allowance taper is applied above £100,000, how SDLT bands compose). Each calculator's About this calculator footer links to its methodology page where one exists.
If you want a methodology page added for a specific calculator, the contact route on the About page is the right place to ask.
Reproducibility
Every calculator output should be reproducible by hand on a single sheet of paper given the same inputs and the published rates. If you ever find a figure on the site you cannot reproduce — even after reading the methodology page — that is a defect. Please report it; the calculation will be reviewed and either corrected or the methodology page will be updated to explain the discrepancy.
What we openly do not publish
Some operational pieces are not publicly inspectable for good reason — for example the secret used to sign the optional scenario-sync magic-link, and the email-delivery API key. Those run in a Netlify Function and are kept out of the client because they are server-side credentials, not calculation logic.
Related
See also: Independence statement · Site-wide methodology · Editorial policy · Changelog.
Last updated: April 2026.