IBAN + BIC Validator

Cross-validation

Validate an IBAN and BIC as a pair. Checks individual formats and verifies that both country codes match — a common source of payment rejections in SEPA workflows.

Try an example:

Enter both IBAN and BIC, then click "Validate pair"

Why country code matching matters

A valid IBAN and a valid BIC can still be incompatible. In a SEPA Credit Transfer (pain.001), the debtor's IBAN country code must match the debtor's BIC country code. Sending a German IBAN (DE...) with a Dutch BIC (...NL...) will cause the payment batch to be rejected with a reason like AC01 or NARR. Catching this mismatch before submission saves a failed batch and a support ticket.

What is validated

  • IBAN format mod-97 checksum and country-specific length per ISO 13616.
  • BIC format 4+2+2+3 character structure per ISO 9362. Country code must be a valid ISO 3166-1 code.
  • Country code match The 2-letter country code extracted from the IBAN (positions 1-2) must match the country code from the BIC (positions 5-6).

Frequently asked questions

Why would an IBAN and BIC country code mismatch?

Mismatches most commonly occur when importing data from different systems, copy-paste errors, or when setting up cross-border payments incorrectly. A Dutch BIC used with a German IBAN is a typical example.

Does a matching country code guarantee payment success?

No. It is a necessary condition but not sufficient — the IBAN must also pass mod-97 validation, the BIC must be structurally valid, and the bank must be reachable. This tool catches the country mismatch specifically.

When is this cross-validation useful?

When building SEPA payment initiation flows (pain.001), many banks validate that the debtor IBAN country and debtor BIC country match. Cross-validating before submission prevents batch rejections.