IBAN validator and parser

Validate an IBAN and extract its parts

Paste an IBAN and get validity, country code, BBAN, friendly formatting, and QR-IBAN detection — all in your browser

Last updated: March 2, 2026
Frank Zhao - Creator
CreatorFrank Zhao
Valid IBAN examples
FR76 3000 6000 0112 3456 7890 189
DE89 3704 0044 0532 0130 00
GB29 NWBK 6016 1331 9268 19

Introduction / overview

An IBAN (International Bank Account Number) is a standardized way to represent a bank account for cross-border payments. It includes a country code, check digits, and a country-specific BBAN.

What this calculator does

  • Normalizes the input (removes spaces and hyphens) and formats it in readable groups.
  • Checks length and BBAN structure for the selected country.
  • Validates the checksum using a Mod-97 method.
  • Extracts the country code and BBAN for quick inspection.

Who is this for?

Anyone copying bank details: finance teams, developers integrating payments, support agents troubleshooting transfers, and individuals double-checking a recipient.

If you also need to parse URLs in payment links, try our URL parser.

How to use / quick start

  1. Paste an IBAN into the input box (spaces and hyphens are fine).
  2. Check the status pill to confirm whether it is valid and whether it is a QR-IBAN.
  3. Review the parsed fields (country code and BBAN) to ensure they match what you expect.
  4. Use the copy buttons to reuse the compact or formatted IBAN where needed.

A quick “sanity-check” workflow

You do not need to calculate the checksum by hand. But it helps to know what “valid” means: the calculator checks that the IBAN passes a Mod-97 checksum rule.

Valid if (IBAN-as-number)mod97=1\text{Valid if }\big(\text{IBAN-as-number}\big)\bmod 97 = 1

When you see an error, it is usually one of these: the length does not match the country, the BBAN pattern is wrong, or the checksum does not match.

Real-world examples / use cases

Payroll and vendor payments

Validate an IBAN copied from an invoice before sending a transfer.

Payments integration testing

Spot formatting issues (spaces, hyphens, casing) while building forms and APIs.

QR-IBAN checks (CH/LI)

Detect QR-IBANs used in Swiss/Liechtenstein payment workflows.

Example: understanding the parts

Most people only need two takeaways:

  • The country code is two letters: CC\mathrm{CC}.
  • The BBAN is country-specific: BBAN\mathrm{BBAN}.

Common scenarios / when to use

Copy/paste from PDFs

Whitespace and line breaks often sneak in; compact output fixes it.

Country mismatch

A valid-looking string can still be the wrong length for a country; the calculator flags it.

Bank rejects transfer

Check checksum errors early before retrying a payment submission.

Swiss QR payments

Detect QR-IBANs used for QR-bill workflows (CH/LI).

API validation

Validate user input client-side before sending to your backend.

Customer support triage

Quickly explain whether the issue is formatting, length, or checksum.

When it may not help

A “valid IBAN” only means the structure and checksum look correct. It does not confirm that the account exists, is open, or belongs to the expected person or business.

Tips & best practices

  • Prefer the compact output when submitting to APIs; use formatted output for human review.
  • When debugging, compare the detected country code with the recipient’s expected country.
  • Do not remove leading zeros; they are significant in many BBAN formats.

Calculation method / formula explanation

The checksum rule can be described with a few simple steps.

1) Rearrange

If an IBAN is CCkkBBAN\mathrm{CC}\,kk\,\mathrm{BBAN}, move the first four characters to the end.

BBANCCkk\mathrm{BBAN}\,\mathrm{CC}\,kk

2) Replace letters with numbers

Convert letters to numbers using A=10,  B=11,  ,  Z=35A=10,\;B=11,\;\dots,\;Z=35.

3) Apply Mod-97

The IBAN is valid if the remainder equals 1.

(numeric string)mod97=1\big(\text{numeric string}\big)\bmod 97 = 1

Check digits derivation

kkkk==98((BBANCC00)mod97)98 - \big((\mathrm{BBAN}\,\mathrm{CC}\,00)\bmod 97\big)

Related concepts / background

IBAN vs BBAN

The BBAN is the country-specific “local” account representation. IBAN adds a country code and check digits so the account can be transported safely across borders.

What is a QR-IBAN?

A QR-IBAN is a special IBAN used in Swiss/Liechtenstein QR-bill workflows. It is still an IBAN, but it falls into specific ranges.

Frequently asked questions (FAQs)

Does this calculator send my IBAN to a server?

No. Validation and parsing run locally in your browser.

Are spaces and hyphens allowed?

Yes. The calculator compacts the input by removing spaces and hyphens before validating.

Why can an IBAN look “valid” but still fail a payment?

Structural validity does not confirm the account exists, is reachable, or belongs to the intended recipient.

What does Mod-97 mean?

It is a checksum rule. A valid IBAN satisfies (numeric string)mod97=1(\text{numeric string})\bmod 97 = 1.

What is QR-IBAN detection used for?

It helps Swiss/Liechtenstein payment flows route QR-bill compatible accounts correctly.

Limitations / disclaimers

This tool checks IBAN structure and checksum only. It does not verify ownership, account status, bank reachability, or payment eligibility. For large transfers or compliance-sensitive payments, confirm the beneficiary details with your bank.

External references / sources

IBAN validator and parser | CalculatorVast