Skip to content
IBANforge
IBAN by country

Germany IBAN

22 characters: the country code, two check digits, then the BBAN cut as below.

Anatomy of the official example

DE89370400440532013000

  • Country code
  • Check digits
  • Bank code
  • Account number

The example comes from the ISO 13616 registry; it belongs to nobody. Positions count from the first character of the IBAN.

The facts about the Germany IBAN
ISO codeDE
Length22 characters
Check digitspositions 3 to 4, ISO 7064 mod 97-10
Bank codepositions 5 to 12 · 8!n
Account numberpositions 13 to 22 · 10!n
Official exampleDE89 3704 0044 0532 0130 00
SEPA areamember · SCT, SDD, SCT Inst
Verification of Payeemandatory for the country's providers
Bank-code registerDeutsche Bundesbank Bankleitzahlendatei

SWIFT notation: n = digits, a = upper-case letters, c = alphanumeric characters; the exclamation mark fixes the exact length.

What the API checks on a Germany IBAN

  • The length, the charset of every field and the mod-97 check digits.
  • The bank code against Deutsche Bundesbank Bankleitzahlendatei, refreshed monthly: institution, matching BIC, status.
  • The country's SEPA reachability and the open schemes (SCT, SDD, SCT Inst).
  • The Verification of Payee duty that does, or does not, bind the country's providers.

What the API answers for this code

The block below is the route's own answer, produced by the same code that serves api.ibanforge.com, on the register as of the date shown. Nothing is edited.

{
  "valid": true,
  "country": {
    "code": "DE",
    "name": "Germany"
  },
  "bic": {
    "code": "COBADEFFXXX",
    "bic8": "COBADEFF",
    "bank_name": "Commerzbank",
    "city": "Köln",
    "source": "Deutsche Bundesbank Bankleitzahlendatei",
    "as_of": "2026-09",
    "basis": "national_register",
    "authoritative": true,
    "lei": "851WYGNLUQLFZBSYGB56"
  },
  "bank_code_check": {
    "value": "37040044",
    "status": "verified",
    "match": "register",
    "register": "Deutsche Bundesbank Bankleitzahlendatei",
    "authoritative": true,
    "institution": {
      "name": "Commerzbank",
      "street": null,
      "post_code": "50447",
      "town": "Köln",
      "country": "DE"
    },
    "as_of": "2026-09"
  },
  "sepa": {
    "member": true,
    "schemes": [
      "SCT",
      "SDD",
      "SCT_INST"
    ],
    "vop_required": true,
    "vop_participant": true,
    "basis": "epc_register"
  },
  "issuer": {
    "type": "bank",
    "name": "Commerzbank",
    "classification": "default"
  },
  "risk_indicators": {
    "country_risk": "standard",
    "sepa_reachable": true,
    "vop_coverage": true,
    "test_bic": false
  }
}

Put these checks to work

Choose a first step for your software or your supplier file.

Integrate IBAN checks into your software

Try a validation, inspect the response, then connect your application through the API or an existing integration.

Explore the API workflow

Check a supplier file

Upload a CSV or Excel file and preview the findings for free. Purchase the annotated workbook if you need the full report. No account or subscription required.

Explore the file audit

Available bank information varies by country and source. These checks do not confirm the account holder or guarantee that a payment will succeed.

Test a Germany IBAN for freeThe POST /v1/iban/validate routeThe country's bank codes, one per pageAll countries

Source: ISO 13616 registry for the length, layout and example; API answer captured on 2026-09-23.