Belgium VAT Rates

The standard rate in Belgium is 21%, in force since 1 Jan 1996. Before that, Belgium changed it 6 times since 1971 — every change below carries the date it took effect and the Commission record it came from.

Standard rate today

21%

Since 1 Jan 1996 — 30 years

Previous rate

20.5%

Until 31 Dec 1995

First recorded rate

18%

From 1 Jan 1971

Belgium VAT Rates in Force Today

Standard rate
21%
Reduced rates
6%, 12%
Super-reduced rate
None
Parking rate
12%
Local name
Belasting over de toegevoegde waarde (BTW)
Currency
EUR
VAT number format
BE + 0/1 + 9 digits
^BE[01]\d{9}$
EU membership
EU member state

Checking a Belgian VAT number rather than a rate? The number format, its regex and verified example numbers are on the Belgium VAT number page.

Use this VAT rate in your application

Copy a package, CDN, or keyless HTTP example for BE.

import { getRate } from 'eu-vat-rates-data'

const rate = getRate('BE')
console.log(rate.standard, rate.reduced)

The CDN URL is cached for distribution. Use a version tag instead of @main when you need reproducible builds.

Standard Rate Changes in Belgium

In force fromUntilStandard rate
1 Jan 1996Current21%
1 Jan 199431 Dec 199520.5%
1 Apr 199231 Dec 199319.5%
1 Jan 198331 Mar 199219%
1 Jul 198131 Dec 198217%
1 Jan 197830 Jun 198116%
1 Jan 197131 Dec 197718%

Where This Data Comes From

Two European Commission sources, joined at 1 Jan 2017, where they agree on every member state. Nothing here is estimated, and periods are never rewritten once published – a rate change is a new record, not an edit to an old one.

The whole series for all 27 member states is one JSON file, MIT licensed, no API key: eu-vat-rates-history.json. Last rebuilt 27 Sep 2026.

Current EU rates last fetched from EC TEDB: 27 Sep 2026. This is the source-fetch date, not the date the rate last changed.

Historical rates are published for reference. Which rate applies to a given supply also depends on the place-of-supply and time-of-supply rules in force at the time, which this dataset does not model. For Belgian filings, confirm with the tax authority or an adviser. The Commission’s own record has gaps – where one is known, the missing period is filled from national legislation and labelled as such above. Spot another, and the issue tracker is open.

The update scripts, source data, and audit trail are public in the canonical GitHub repository. If this dataset is useful in your project, a star helps other developers find it.