Skip to content
NNumvella
Finance

VAT Calculator

Add or remove VAT (or sales tax) to find the net, tax, and gross amounts.

Loading…

100% freeNo sign-up Your inputs stay in your browserPrivacy

Add VAT to a VAT-exclusive (ex VAT) price, or remove VAT from a VAT-inclusive (inc VAT) price. Enter the applicable rate to see the net amount, VAT amount, and gross total together.

The same math works for any percentage-based sales tax — just enter your local rate.

📖 Read the guide: How to Calculate VAT: Adding and Removing Tax

Formula

Add VAT

net × (1 + rate ÷ 100) = gross

Example: £100 + 20% VAT → 100 × 1.20 = £120 gross, £20 VAT.

Remove VAT

gross ÷ (1 + rate ÷ 100) = net

Example: £120 ÷ 1.20 = £100 net, £20 VAT.

Examples

ExampleInputResult
Add 20%£100 net, 20%£20 VAT · £120 gross
Remove 20%£120 gross, 20%£100 net · £20 VAT
Custom VAT rate€50 net, 21%€10.50 VAT · €60.50 gross

How to use the VAT calculator

  1. 1Choose whether to add VAT to a net price or remove VAT from a gross price.
  2. 2Enter the amount and the VAT (or sales tax) rate.
  3. 3Read the net, VAT, and gross figures; copy any of them.

Adding vs. removing VAT

To add VAT, multiply the net price by one plus the rate as a decimal: at 20%, multiply by 1.20. To remove VAT and find the original net price from a tax-inclusive total, divide by the same figure — divide by 1.20, don't subtract 20%. Subtracting 20% from a gross price gives the wrong answer because the VAT was charged on the smaller net amount.

For example, £120 including 20% VAT has a net price of £100 (120 ÷ 1.20), not £96 (120 − 20%).

VAT and sales tax

VAT (value added tax) is used across the UK, EU, and many other countries; US sales tax works the same way mathematically. Enter whatever rate applies to you. Rates and rules differ by country and product, so treat the result as an estimate.

Assumptions and limitations

  • You must enter the applicable VAT rate. Rates and tax treatment vary by country, product, and service; reduced, zero-rated, and exempt supplies are not determined by this calculator.
  • This is percentage arithmetic, not a tax determination. It does not decide whether VAT is due, whether you must register, or whether you can reclaim it.
  • Net, VAT, and gross are rounded to two decimal places, including intermediate values. If you enter an amount with more than two decimal places, the displayed figures may not reconcile exactly.

How this calculation is tested

The math for this tool lives in lib/calc-engine/money.ts — a plain function with no interface code around it. The page you are using and the automated tests call that same function, so the tests check the behaviour you actually get.

The tests check:

  • adding 20% VAT to a net of 100, giving 20 VAT and a gross of 120
  • removing 20% VAT from a gross of 120, giving 100 net and 20 VAT

Automated tests reduce implementation errors — they confirm the code computes the formula it is supposed to. They are not a professional review, and they cannot tell you whether this formula is the right one for your situation. More detail on how calculations are built and tested.

This tool provides estimates only. VAT and sales tax rates and rules vary by country and product — consult a tax professional for official calculations.

Frequently asked questions

How do I add VAT to a price?

Multiply the net price by (1 + rate ÷ 100). At 20%, multiply by 1.20: £100 becomes £120.

How do I remove VAT from a gross price?

Divide the VAT-inclusive (gross) price by (1 + rate ÷ 100). At 20%, £120 inc VAT ÷ 1.20 = £100 ex VAT. Do not subtract 20%; VAT was calculated from the smaller net amount.

Can I use this for US sales tax?

Yes. The math is identical — just enter your local sales tax rate.

Is my data private?

Yes. All calculations run in your browser.

Embed this calculator

Add the VAT Calculator to your own website — free. Copy and paste this snippet:

<iframe src="https://numvella.com/embed/vat-calculator" width="100%" height="460" style="border:1px solid #e2e8f0;border-radius:12px" title="VAT Calculator — Numvella" loading="lazy"></iframe>