IBAN Validator Widget

Let customers check an IBAN before they pay or save it: the widget confirms the country's registered length and layout and the ISO 13616 checksum, shows the IBAN in groups of four with its check digits and domestic account part, and checks pasted lists of up to 200. Nothing typed ever leaves the visitor's browser.

Finance Tool Runs in your browser Free · no ads

Customize your widget

Theme
Auto follows the visitor's light/dark setting.
Style
Attribution on your page
Optional and entirely your choice. The exact line is shown in the code below; it links to the tool with rel="nofollow".
More options
Starting values
One item per line. Long content is carried after the # in the embed code, so it never reaches a server.
Leave blank to use the widget's defaults. Visitors can still change every value.

Live preview

Exactly what your visitors will see

Embed code

<iframe src="https://a2z.tools/embed/w/iban-validator" title="IBAN Validator by A2Z Tools" width="100%" height="720" style="border:0;width:100%" loading="lazy" allow="clipboard-write"></iframe>

A plain iframe. Works everywhere, including site builders that strip scripts. Adjust height if your content needs more room.

Works with

How it works

Spaces, hyphens and a leading "IBAN" label are removed and the letters upper-cased, so "de89 3704 ..." and "DE89370400440532013000" are the same. The first two letters must be a country in the SWIFT IBAN Registry - 89 countries, from Andorra to Kosovo - and the total length must equal that country's registered length: 22 for Germany and Ireland, 27 for France and Italy, 18 for the Netherlands. The rest must fit the registered layout, for example Ireland's 4 letters of bank code then 14 digits. Then the ISO 7064 mod 97-10 test runs: the first four characters move to the end, every letter becomes two digits (A = 10 ... Z = 35) and the resulting number must leave remainder 1 when divided by 97. Check digits 00, 01 and 99 are refused because a correctly calculated pair is always 02 to 98. A valid result shows the country, check digits, the BBAN (the domestic account part), the print format in groups of four and whether the country is in SEPA.

Method

  • Normalise: remove spaces, hyphens, dots and a leading "IBAN"; upper-case
  • Country = characters 1-2, must be in the SWIFT IBAN Registry; length must equal the registered IBAN length
  • Characters 3 onwards must match the registry structure (n = digit, a = letter, c = letter or digit, ! = fixed length)
  • Rearrange: characters 5..end + characters 1-4; replace A..Z by 10..35
  • Valid when that number mod 97 = 1 and the check digits are 02-98
  • Print format = groups of 4 characters separated by spaces

Worked examples

Registry example, typed loosely

Inputs: de89 3704 0044 0532 0130 00

Result: Valid IBAN DE89 3704 0044 0532 0130 00 - Germany, check digits 89, BBAN 370400440532013000, SEPA country

22 characters as registered for DE; the rearranged number mod 97 = 1.

One wrong digit

Inputs: DE89 3704 0044 0532 0130 01

Result: Not a valid IBAN - checksum fails (mod 97 is 28, must be 1)

Changing the last digit from 0 to 1 breaks the mod-97 check.

A missing character

Inputs: IT60 X054 2811 1010 0000 0123 45

Result: Not a valid IBAN - Italy IBANs have 27 characters, this one has 26

The length test runs before the checksum, so the message names the problem.

A format and checksum check, not confirmation that an account exists or belongs to the payee. Always confirm bank details with the payee or your bank before paying.

Limitations

  • It cannot tell whether the account exists, is open or belongs to the named payee - only the bank can.
  • National check digits inside the BBAN (for example Belgian or Spanish account keys) are not tested; only the IBAN's own mod-97 check digits are.
  • The country table is a dated copy of the SWIFT IBAN Registry and needs updating when SWIFT registers a new or changed format.

Where publishers use it

  • A freelancer's invoice page where clients check the IBAN they are about to pay before sending money
  • A payroll or HR onboarding form guide where new staff check their own IBAN before submitting bank details
  • A charity's direct-debit page explaining why an IBAN was rejected - wrong length, wrong layout or a mistyped digit
  • An accounts-payable team's intranet page for checking a pasted column of supplier IBANs before a SEPA batch
  • A fintech blog post explaining how the mod-97 check digits work, with a live example

Questions

Does a valid IBAN mean the account exists?

No. The checksum and layout only prove the number is well formed. An IBAN can pass every test and still belong to a closed account or to someone other than the person you meant to pay, so confirm the payee details with your bank before sending money.

Which typing mistakes does the checksum catch?

Tested against all 89 registry examples, it catches every digit typed as another digit, every letter typed as another letter and every swap of two neighbouring digits. A letter typed where a digit belongs, or the reverse, is caught in the vast majority of cases, and the layout check stops most of the rest.

How long is an IBAN?

It depends on the country and is fixed per country: 15 characters in Norway, 16 in Belgium, 18 in the Netherlands and Denmark, 22 in Germany, Ireland and the UK, 24 in Spain, 27 in France and Italy, and up to 33 in Russia. The widget names the expected length when it differs.

Is my IBAN sent anywhere?

No. The registry table is loaded with the widget and the whole check runs in your browser. A2Z does not receive the IBAN, does not store it and does not call any bank or third-party service.

What are the check digits and the BBAN?

Characters 3 and 4 are the check digits, calculated from everything else so that the mod-97 test gives 1. The BBAN (Basic Bank Account Number) is the domestic part after them - for DE89 3704 0044 0532 0130 00 it is the 8-digit bank code 37040044 and the 10-digit account 0532013000.

Why is my country not accepted?

Only countries registered with SWIFT as ISO 13616 registration authority have IBANs - 89 in the registry dated 15 September 2026. Some territories use another country's code: the Aland Islands use FI, French overseas departments use FR, and Jersey, Guernsey and the Isle of Man use GB.

Sources

  1. IBAN Registry (TXT and PDF editions) - SWIFT, ISO 13616 registration authority . Country codes, IBAN lengths, structures, example IBANs, SEPA membership and effective dates for 89 countries; PDF edition dated 15 September 2026. Checked 2026-10-03.
  2. International Bank Account Number (IBAN) - SWIFT . ISO 13616 specifies the IBAN structure; SWIFT registers national IBAN formats on behalf of ISO. Checked 2026-10-03.

Cite or recommend this tool

If you reference this tool in an article, course or documentation, these formats are ready to copy. They are optional - nothing is added to your site unless you paste it.

A2Z Tools IBAN Validator
https://a2z.tools/embed/iban-validator
  • Check a BIC/SWIFT code's ISO 9362 structure, country, test-code marker and branch - format only, no lookup.

    Get code
  • EU VAT Number Format Checker

    Business & Ecommerce Tool New

    Check an EU or Northern Ireland (XI) VAT number against the official VIES structure, then verify it on VIES.

    Get code
  • Currency Converter

    Finance Converter

    Convert between 54 currencies with live reference rates and the rate shown both ways.

    Get code
  • Payment Fee Calculator

    Business & Ecommerce Calculator New

    What you receive after a percentage-plus-fixed processing fee, or what to charge to receive a set amount.

    Get code
  • EMI Calculator

    Finance Calculator

    Monthly instalment, total interest and total repayment for any loan.

    Get code
  • Loan Calculator

    Finance Calculator

    Payment, total interest and payoff date for any loan, with monthly, biweekly or weekly payments.

    Get code

Preview