German IBAN Validator

Validate a German IBAN with ISO 7064 MOD-97, BLZ structure and Kontonummer checks.

Ad placeholder (leaderboard)
Enjoying the tools? Go Pro for £4.99 (one-time) and remove all ads — forever, on this device. Remove ads — £4.99

The German IBAN Validator checks whether a German bank account number in IBAN format is structurally correct. It verifies the country code, the total 22-character length, the Bankleitzahl (BLZ) clearing-area digit, the Kontonummer format, and the full ISO 7064 MOD-97-10 checksum — all without sending a single character to a server.

German IBANs became mandatory for domestic payments on 1 February 2014 under the SEPA migration, replacing the older BLZ + Kontonummer pair. Today, every wire transfer, direct debit mandate, and payroll run in Germany requires a valid IBAN, which makes a fast, offline validator useful for catching typos in HR systems, accounting imports, and form validation.

How it works

A German IBAN has a precisely defined structure laid out in the SWIFT IBAN Registry:

  • DE — the ISO 3166-1 alpha-2 country code for Germany (always uppercase)
  • kk — 2 check digits computed by the ISO 7064 MOD-97-10 algorithm
  • bbbbbbbb — the 8-digit Bankleitzahl (BLZ), where the first digit encodes one of nine clearing areas (1 = Berlin/East Germany through 9 = Northern Bavaria)
  • cccccccccc — the 10-digit Kontonummer (account number at the named bank)

Total: 22 characters, all alphanumeric, with only digits in the BBAN section (positions 5–22).

The checksum calculation follows ISO 13616 / ISO 7064 MOD-97-10 exactly:

  1. Strip spaces and convert to uppercase.
  2. Move the first four characters (DE + check digits) to the end.
  3. Replace each letter with its 2-digit numeric code: D = 13, E = 14, giving 1314 for DE.
  4. Interpret the resulting string as an integer and compute the remainder when divided by 97, folding progressively to avoid overflow.
  5. The IBAN is valid if and only if the remainder equals 1.

The tool also extracts and labels the BLZ and Kontonummer so you can confirm the right bank-region is encoded.

Worked example

Take the IBAN DE44 5001 0517 5407 3249 31:

  • Country code: DE — Germany
  • Check digits: 44
  • BLZ: 50010517 — first digit 5 maps to the North Rhine-Westphalia (south) / Cologne / Dusseldorf clearing area
  • Kontonummer: 5407324931

To verify the checksum, move DE44 to the end and expand the letters:

50010517540732493113 1444

Fold this over mod 97: the remainder is 1, so the IBAN is valid.

FieldValueMeaning
CountryDEGermany
Check digits44MOD-97 checksum pair
BLZ50010517Commerzbank Frankfurt (clearing area 5)
Kontonummer5407324931Account at that bank
Total length22Matches the SWIFT registry

Changing any single digit in a valid IBAN almost always produces a remainder other than 1, which is why the checksum catches most typos.

Every character is processed locally — nothing is uploaded, logged, or transmitted.

Ad placeholder (rectangle)