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:
- Strip spaces and convert to uppercase.
- Move the first four characters (DE + check digits) to the end.
- Replace each letter with its 2-digit numeric code: D = 13, E = 14, giving
1314forDE. - Interpret the resulting string as an integer and compute the remainder when divided by 97, folding progressively to avoid overflow.
- 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 digit5maps 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.
| Field | Value | Meaning |
|---|---|---|
| Country | DE | Germany |
| Check digits | 44 | MOD-97 checksum pair |
| BLZ | 50010517 | Commerzbank Frankfurt (clearing area 5) |
| Kontonummer | 5407324931 | Account at that bank |
| Total length | 22 | Matches 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.