IBAN + BIC Validator
Cross-validationValidate 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.