Germany VAT Rates

The standard rate in Germany is 19%, in force since 1 Jan 2021. Before that, Germany changed it 9 times since 1968 — every change below carries the date it took effect and the Commission record it came from.

Standard rate today

19%

Since 1 Jan 2021 — 5 years

Previous rate

16%

Until 31 Dec 2020

First recorded rate

10%

From 1 Jan 1968

Germany VAT Rates in Force Today

Standard rate
19%
Reduced rates
7%
Super-reduced rate
None
Parking rate
None
Local name
Mehrwertsteuer (MwSt)
Currency
EUR
VAT number format
DE + 9 digits
^DE\d{9}$
EU membership
EU member state

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

Use this VAT rate in your application

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

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

const rate = getRate('DE')
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 Germany

In force fromUntilStandard rate
1 Jan 2021Current19%
1 Jul 202031 Dec 202016%
1 Jan 200730 Jun 202019%
1 Apr 199831 Dec 200616%
1 Jan 199331 Mar 199815%
1 Jul 198331 Dec 199214%
1 Jul 197930 Jun 198313%
1 Jan 197830 Jun 197912%
1 Jul 196831 Dec 197711%
1 Jan 196830 Jun 196810%

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 German 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.