IBAN format · DE
German IBAN format
The German IBAN format is defined by ISO 13616 and is fixed for every account opened in Germany. A German IBAN is always 22 characters long and uses the structure pattern 8!n10!n: 8 digits (0–9), then 10 digits (0–9). The first two characters are the country code DE, the next two are MOD 97 check digits, and the remaining 18 characters form the BBAN, which Germany divides into 2 fields. This page breaks down each field, shows a worked DE IBAN, and explains how the check digits are computed.
Structure breakdown
The Germany BBAN (positions 5–22) is the country-specific part of the IBAN and is 18 characters long. Germany splits it into 2 fields: Field 1 is 8 digits; Field 2 is 10 digits. The exact meaning of each field (bank code, branch, account number) is defined by Germany's national registry and is stable, so any DE IBAN that matches the pattern and length is structurally valid even before the MOD 97 check.
The table below applies the 8!n10!n pattern to a real, MOD 97-valid German IBAN (DE89370400440532013000). Each row shows one field of the IBAN — country code, check digits, then the BBAN fields in order — so you can see exactly how the DE IBAN is assembled. This is the same breakdown the IBAN validator produces when you paste a German IBAN.
German IBAN examples by bank
Bank-specific German IBAN examples are useful for testing parsers because the national skeleton stays constant while the BBAN values change. The table below gives three distinct, deterministic fixtures labelled for Deutsche Bank, Commerzbank, DZ Bank. They are generated to match the Germany pattern (8!n10!n), exact 22-character length, and MOD 97-10 checksum; they are not live accounts and must never be used to send funds. In production, copy the beneficiary's complete IBAN from an official bank document rather than trying to derive one from a public BIC or a bank name. Compare the rows field by field. The country prefix and two check digits occupy positions 1–4 in every row, while the BBAN fields carry the bank's national routing and account data. A parser should preserve every leading zero, retain letters where the pattern allows them, and avoid assuming that all European IBANs have the same length. These fixtures are intentionally different so automated tests can catch code that accidentally hard-codes one sample value or validates only the prefix. When documenting a bank integration, record the source and date of any real example separately from these synthetic fixtures. Banks merge branches, change correspondent arrangements, and may publish different BICs for head office and specialist offices. The IBAN format page can confirm structure; only the account holder or receiving bank can confirm that a particular IBAN is open and ready to receive a payment.
| Bank | BIC/SWIFT | Synthetic IBAN fixture | Checks |
|---|---|---|---|
| Deutsche Bank | Confirm with the receiving bank | DE13123456784567890123 | 22 chars · MOD 97 valid |
| Commerzbank | Confirm with the receiving bank | DE45234567895678901234 | 22 chars · MOD 97 valid |
| DZ Bank | Confirm with the receiving bank | DE63345678906789012345 | 22 chars · MOD 97 valid |
German IBAN check digits
Positions 3–4 of a German IBAN hold two MOD 97-10 check digits. ISO 13616 computes them by rearranging the IBAN so the BBAN leads and the country code plus check digits trail, converting letters to numbers (A=10 … Z=35), and taking the giant resulting integer mod 97. The check digits are chosen so the whole IBAN leaves a remainder of 1. If any single character in the DE IBAN is mistyped, the remainder changes and validation fails — which is why the format checker on this page can flag a typo from one wrong digit.
What makes a German IBAN valid
A German IBAN is structurally valid only when it passes three independent checks at once. First, the character set: the first two characters must be the letters DE, the next two must be digits, and the BBAN may contain only digits and uppercase letters. Second, the length: the DE IBAN must be exactly 22 characters, because Germany fixes its BBAN at 18 characters and ISO 13616 fixes the country code and check digits at four. Third, the MOD 97 checksum. The 8!n10!n pattern adds one more layer — it confirms the BBAN splits into 2 fields of the right size and type, so a German IBAN with the right total length but the wrong internal split still fails. This is why the format checker on this page is stricter than a generic length-only check.
Using a German IBAN in an international transfer
Use this German IBAN format reference as one step in a complete international-transfer workflow. First ask the beneficiary for the legal account name, complete IBAN, receiving-bank SWIFT/BIC, bank address, currency, and payment reference. Normalize the IBAN to uppercase without spaces for the payment payload, but show four-character groups when a person reviews it. Confirm that the first two characters are DE, the value is exactly 22 characters, and every BBAN field follows 8!n10!n. Then open the Germany SWIFT/BIC directory to select the receiving bank's published code. Do not substitute a domestic clearing number, card number, or branch phone number for an IBAN. If the bank portal offers separate fields for bank code, branch, and account number, follow that bank's documented split; never guess from character positions alone. Some portals require an 8-character BIC, while others accept the 11-character branch form. Preserve an 11-character BIC exactly as supplied and do not append XXX unless the bank instructs you to. Before submitting, run the normalized value through the validator and save the result with the invoice or transfer reference. A valid MOD 97 result proves only syntax and arithmetic. It cannot check sanctions screening, account status, beneficiary-name matching, currency restrictions, or correspondent-bank rules. For a first payment or a last-minute change of bank details, verify the instruction through a known phone number or secure banking channel. If a transfer is rejected, give support the exact submitted IBAN, BIC, value date, and return reason; editing digits until the checksum passes can route money to the wrong account.
Common German IBAN format mistakes
Most Germany IBAN format errors come from a handful of avoidable mistakes. Pasting a domestic Germany account number instead of the IBAN is the most common: the IBAN always starts with DE and is exactly 22 characters, while a local account number is usually shorter and has no country prefix. Dropping or adding a character when copying from a statement is next; because the length is fixed, even one extra digit fails. Confusing the country code with a similar one changes both the expected length and the check digits, so the whole IBAN fails. Including spaces in the stored value is harmless when a checker normalizes input, but can break payment forms that count characters literally — strip spaces before submitting the DE IBAN. The internal BBAN boundaries matter as much as the total length. Germany defines field 1 (8 digits), field 2 (10 digits); do not move a leading zero from one field to the next or convert an alphanumeric field to a number in your database. A spreadsheet may silently trim zeroes, an OCR scan may change O to 0, and a copy from a PDF may insert a non-breaking space. Normalize only approved separators, convert letters to uppercase, then validate the complete value again. Never “repair” a failed checksum by changing random digits: request a fresh beneficiary instruction from the bank. For QA, keep negative fixtures for German IBANs: one value with the wrong country prefix, one that is 21 characters, one that is 23 characters, one with an illegal symbol, and one with a single changed check digit. A robust parser should reject all five and accept the grouped human display form after removing spaces. A mathematically valid checksum still does not prove that a bank account exists, belongs to the named beneficiary, or accepts the intended currency, so operational verification remains essential.
German IBAN and SWIFT codes
When you send or receive an international payment to Germany, the IBAN tells the network which account to credit, and the bank's SWIFT/BIC code tells it which bank holds that account. After checking the DE IBAN format here, open the Germany SWIFT codes page to find the receiving bank's BIC and complete the wire instructions.