Account Number Format Validator
Choose a country, paste an account number, and check its length, its characters and its check digits.
Every country writes bank account numbers in its own format: a set length, and digits or letters in set places. Choose a country from the list of 93 countries, paste the account number, and the checker tells you whether the length and characters fit, shows the parts of the number, and builds the IBAN where the country has one. For 8 countries it also tests the number's own check digits, which catch most typing mistakes. A pass means the number is correctly formed. It does not mean the account exists.
Check an Account Number
Account Number Formats by Country
The layout of each number the checker knows, and whether it tests the check digits. "Tested" means the checker runs the country's check-digit rule. "Not tested" means it checks the length and characters only. Where the registry says where the check digits sit, the table shows the characters.
| Country | Length | Layout | Check digits |
|---|---|---|---|
| Albania AL | 24 | 8 digits, 16 letters or digits | Not tested |
| Andorra AD | 20 | 4 digits, 4 digits, 12 letters or digits | Not tested |
| Argentina AR · CBU | 22 | 22 digits | Tested |
| Austria AT | 16 | 5 digits, 11 digits | Not tested |
| Azerbaijan AZ | 24 | 4 letters, 20 letters or digits | Not tested |
| Bahrain BH | 18 | 4 letters, 14 letters or digits | Not tested |
| Belarus BY | 24 | 4 letters or digits, 4 digits, 16 letters or digits | Not tested |
| Belgium BE | 12 | 3 digits, 7 digits, 2 digits | Tested |
| Bosnia and Herzegovina BA | 16 | 3 digits, 3 digits, 8 digits, 2 digits | Not tested (characters 15 to 16) |
| Brazil BR | 25 | 8 digits, 5 digits, 10 digits, 1 letter, 1 letter or digit | Not tested |
| Bulgaria BG | 18 | 4 letters, 4 digits, 2 digits, 8 letters or digits | Not tested |
| Burundi BI | 23 | 5 digits, 5 digits, 11 digits, 2 digits | Not tested |
| Costa Rica CR | 18 | 4 digits, 14 digits | Not tested |
| Croatia HR | 17 | 7 digits, 10 digits | Not tested |
| Cyprus CY | 24 | 3 digits, 5 digits, 16 letters or digits | Not tested |
| Czechia CZ | 20 | 4 digits, 16 digits | Tested |
| Denmark DK | 14 | 4 digits, 9 digits, 1 digit | Not tested |
| Djibouti DJ | 23 | 5 digits, 5 digits, 11 digits, 2 digits | Not tested |
| Dominican Republic DO | 24 | 4 letters or digits, 20 digits | Not tested |
| Egypt EG | 25 | 4 digits, 4 digits, 17 digits | Not tested |
| El Salvador SV | 24 | 4 letters, 20 digits | Not tested |
| Estonia EE | 16 | 2 digits, 14 digits | Not tested |
| Falkland Islands FK | 14 | 2 letters, 12 digits | Not tested |
| Faroe Islands FO | 14 | 4 digits, 9 digits, 1 digit | Not tested (character 14) |
| Finland FI | 14 | 3 digits, 11 digits | Not tested |
| France FR | 23 | 5 digits, 5 digits, 11 letters or digits, 2 digits | Not tested (characters 22 to 23) |
| Georgia GE | 18 | 2 letters, 16 digits | Not tested |
| Germany DE | 18 | 8 digits, 10 digits | Not tested |
| Gibraltar GI | 19 | 4 letters, 15 letters or digits | Not tested |
| Greece GR | 23 | 3 digits, 4 digits, 16 letters or digits | Not tested |
| Greenland GL | 14 | 4 digits, 9 digits, 1 digit | Not tested |
| Guatemala GT | 24 | 4 letters or digits, 20 letters or digits | Not tested |
| Honduras HN | 24 | 4 letters, 20 digits | Not tested |
| Hungary HU | 24 | 3 digits, 4 digits, 1 digit, 15 digits, 1 digit | Not tested (character 24) |
| Iceland IS | 22 | 4 digits, 2 digits, 6 digits, 10 digits | Not tested |
| Iraq IQ | 19 | 4 letters, 3 digits, 12 digits | Not tested |
| Ireland IE | 18 | 4 letters, 6 digits, 8 digits | Not tested |
| Israel IL | 19 | 3 digits, 3 digits, 13 digits | Not tested |
| Italy IT | 23 | 1 letter, 5 digits, 5 digits, 12 letters or digits | Not tested (character 1) |
| Jordan JO | 26 | 4 letters, 4 digits, 18 letters or digits | Not tested |
| Kazakhstan KZ | 16 | 3 digits, 13 letters or digits | Not tested |
| Kosovo XK | 16 | 4 digits, 10 digits, 2 digits | Not tested |
| Kuwait KW | 26 | 4 letters, 22 letters or digits | Not tested |
| Latvia LV | 17 | 4 letters, 13 letters or digits | Not tested |
| Lebanon LB | 24 | 4 digits, 20 letters or digits | Not tested |
| Libya LY | 21 | 3 digits, 3 digits, 15 digits | Not tested |
| Liechtenstein LI | 17 | 5 digits, 12 letters or digits | Not tested |
| Lithuania LT | 16 | 5 digits, 11 digits | Not tested |
| Luxembourg LU | 16 | 3 digits, 13 letters or digits | Not tested |
| Malta MT | 27 | 4 letters, 5 digits, 18 letters or digits | Not tested |
| Mauritania MR | 23 | 5 digits, 5 digits, 11 digits, 2 digits | Not tested (characters 22 to 23) |
| Mauritius MU | 26 | 4 letters, 2 digits, 2 digits, 12 digits, 3 digits, 3 letters | Not tested |
| Mexico MX · CLABE | 18 | 18 digits | Tested |
| Moldova MD | 20 | 2 letters or digits, 18 letters or digits | Not tested |
| Monaco MC | 23 | 5 digits, 5 digits, 11 letters or digits, 2 digits | Not tested (characters 22 to 23) |
| Mongolia MN | 16 | 4 digits, 12 digits | Not tested |
| Montenegro ME | 18 | 3 digits, 13 digits, 2 digits | Not tested (characters 17 to 18) |
| Morocco MA · RIB | 24 | 24 digits | Tested |
| Netherlands NL | 14 | 4 letters, 10 digits | Not tested |
| Nicaragua NI | 24 | 4 letters, 20 digits | Not tested |
| Nigeria NG · NUBAN | 10 | 10 digits | Tested |
| North Macedonia MK | 15 | 3 digits, 10 letters or digits, 2 digits | Not tested (characters 14 to 15) |
| Norway NO | 11 | 4 digits, 6 digits, 1 digit | Tested |
| Oman OM | 19 | 3 digits, 16 letters or digits | Not tested |
| Pakistan PK | 20 | 4 letters, 16 letters or digits | Not tested |
| Palestine PS | 25 | 4 letters, 21 letters or digits | Not tested |
| Poland PL | 24 | 8 digits, 16 digits | Not tested |
| Portugal PT | 21 | 4 digits, 4 digits, 11 digits, 2 digits | Not tested (characters 20 to 21) |
| Qatar QA | 25 | 4 letters, 21 letters or digits | Not tested |
| Romania RO | 20 | 4 letters, 16 letters or digits | Not tested |
| Russia RU | 29 | 9 digits, 5 digits, 15 letters or digits | Not tested |
| Saint Lucia LC | 28 | 4 letters, 24 letters or digits | Not tested |
| San Marino SM | 23 | 1 letter, 5 digits, 5 digits, 12 letters or digits | Not tested (character 1) |
| Sao Tome and Principe ST | 21 | 4 digits, 4 digits, 11 digits, 2 digits | Not tested |
| Saudi Arabia SA | 20 | 2 digits, 18 letters or digits | Not tested |
| Serbia RS | 18 | 3 digits, 13 digits, 2 digits | Not tested (characters 17 to 18) |
| Seychelles SC | 27 | 4 letters, 2 digits, 2 digits, 16 digits, 3 letters | Not tested |
| Slovakia SK | 20 | 4 digits, 6 digits, 10 digits | Not tested |
| Slovenia SI | 15 | 5 digits, 8 digits, 2 digits | Not tested (characters 14 to 15) |
| Somalia SO | 19 | 4 digits, 3 digits, 12 digits | Not tested |
| Spain ES | 20 | 4 digits, 4 digits, 1 digit, 1 digit, 10 digits | Tested |
| Sudan SD | 14 | 2 digits, 12 digits | Not tested |
| Sweden SE | 20 | 3 digits, 16 digits, 1 digit | Not tested (character 20) |
| Switzerland CH | 17 | 5 digits, 12 letters or digits | Not tested |
| Timor-Leste TL | 19 | 3 digits, 14 digits, 2 digits | Not tested (characters 18 to 19) |
| Tunisia TN | 20 | 2 digits, 3 digits, 13 digits, 2 digits | Not tested (characters 19 to 20) |
| Türkiye TR | 22 | 5 digits, 1 digit, 16 letters or digits | Not tested |
| Ukraine UA | 25 | 6 digits, 19 letters or digits | Not tested |
| United Arab Emirates AE | 19 | 3 digits, 16 digits | Not tested |
| United Kingdom GB | 18 | 4 letters, 6 digits, 8 digits | Not tested |
| Vatican City (Holy See) VA | 18 | 3 digits, 15 digits | Not tested |
| Virgin Islands (British) VG | 20 | 4 letters, 16 digits | Not tested |
| Yemen YE | 26 | 4 letters, 4 digits, 18 letters or digits | Not tested |
Go Deeper
What the Checker Tests
The checker runs three tests, in this order. First it removes spaces, hyphens, dots and slashes. Then it tests the length: each country has a fixed number of characters. Then it tests each character: a place may take only digits, only letters, or either. If a place is wrong, the checker names its position. Last, for 8 countries it tests the check digits.
For countries with an IBAN, the domestic account number is the part of the IBAN after the country code and the two IBAN check digits. It is called the BBAN, the Basic Bank Account Number. The checker builds the IBAN from it by adding the country code and the two check digits from the MOD 97-10 method of ISO 7064.
National Check Digits
Some countries put one or two check digits inside the account number itself, so that a bank can spot a typing mistake before a payment goes out. Each country has its own rule, and the rules are not the same as the IBAN check digits. The checker runs the rule for these countries:
- Belgium. The last two digits are the first ten digits modulo 97, and 97 if the remainder is 0.
- Spain. Two digits after the bank and branch code: one for bank and branch, one for the account number, using powers of 2 modulo 11.
- Norway. The last of 11 digits, from the first ten weighted 6, 7, 8, 9, 4, 5, 6, 7, 8, 9 modulo 11.
- Czech Republic. The prefix and the account number each have a weighted sum that must be a multiple of 11. Czech numbers are written prefix-account/bank code, for example 34278-0727558021/0100, and the checker accepts that form.
- Morocco. The last two digits of the 24-digit RIB, the RIB key, calculated from the other 22 digits with modulo 97.
- Mexico. The last digit of the 18-digit CLABE, from weights 3, 7 and 1.
- Argentina. Two check digits in the 22-digit CBU, one after the bank and branch code and one at the end.
- Nigeria. The last digit of the 10-digit NUBAN, which also depends on the bank code.
We tested the Belgian, Spanish, Norwegian, Czech and Argentinian rules on thousands of random numbers against python-stdnum, an independent open-source library, and they agreed on every one. The Moroccan rule was tested on eight RIBs issued by banks, the Mexican rule on published CLABEs, and the Nigerian rule on the Central Bank of Nigeria's worked example.
Countries With Format Only
For the other IBAN countries the checker tests the length and characters, and builds the IBAN, but does not test national check digits. Many of them have national check digits, and for some the registry says where they sit, but we have not verified a rule for them, and we would rather not test a number against a rule we could not check. The table above marks these countries "Not tested".
The checker does not cover the account numbers of the United States, Canada, Australia, New Zealand, India, Hong Kong and every other country that is not in the list. For the routing and bank codes of some of them, see our ABA routing number checker, Australian BSB checker, New Zealand bank code checker, IFSC code checker and Hong Kong bank code checker. For the United Kingdom, the UK sort code validator runs the modulus check on the sort code and account number together.
Bank and Branch Codes in the Number
In many countries the account number starts with a bank code and a branch code. Where the registry data locates them cleanly, the checker shows them by name. Where it does not line up with the registry's own layout, we show the number as the registry lays it out, in parts, and do not name them. For bank and branch codes country by country, see our pages for Germany, Brazil and Ireland.
Common Mistakes It Catches
- A missing or extra digit. The checker says how many characters the country needs and how many you gave.
- A letter where a digit belongs, such as the letter O for zero. The checker names the position.
- Two digits swapped, or one digit wrong, in a country whose check digits are tested.
- An IBAN from another country pasted by mistake.
What This Page Uses
The formats of 89 countries come from the SWIFT IBAN Registry, release 101, through the python-stdnum data file, with the registry examples from php-iban. Where the registry mirror says which characters are the bank code, branch code and check digits, we show them only when they line up with the registry's own layout. The Belgian, Spanish, Norwegian, Czech and Argentinian check rules follow python-stdnum's documentation, and we tested our code against its results. The Mexican rule is from the Mexican Bankers' Association's description of the CLABE, and the Nigerian rule is from the Central Bank of Nigeria's NUBAN proposals. The Moroccan format is from RIBs that banks issued, as described on our Morocco bank code finder. We last checked on 20 September 2026.
Frequently Asked Questions
What does an account number format validator check?
It checks that a bank account number has the length and the characters that its country requires, and, where the country puts check digits in the number, that those digits match. It shows the parts of the number and builds the IBAN. It does not contact a bank, so it cannot tell whether the account exists.
Does a pass mean the account exists?
No. A pass means the number is correctly formed. A number can pass and belong to no account, or to someone else. Confirm the name of the account holder with the bank or the person you are paying before you send money.
Which countries have their check digits tested?
Belgium, Spain, Norway, the Czech Republic, Morocco, Mexico, Argentina and Nigeria. For the other 85 countries the checker tests the length and characters, and builds the IBAN, but does not test national check digits.
Why are the check digits of most countries not tested?
Each country has its own rule, and we tested only the rules that we could check against an independent source or against published examples. A country marked "Not tested" may well have check digits in its numbers, and for some the registry says where they sit. The checker still tests the length and characters.
What is a BBAN?
The Basic Bank Account Number is the domestic account number of a country that uses IBANs. In an IBAN it comes after the country code and two check digits. For Belgium it has 12 characters (3 digits, 7 digits, 2 digits), so a Belgian IBAN has 16.
How is an IBAN built from an account number?
Put the country code and 00 after the account number, replace each letter with two digits (A is 10, B is 11 and so on), and divide the result by 97. The check digits are 98 minus the remainder. The checker does this and shows the IBAN. We tested it on all 90 example IBANs of the registry, and it gave each one back exactly.
Can I paste an IBAN instead of the account number?
Yes, if it is an IBAN of the country you chose. The checker reads the account number from it, tests it, and says whether the two IBAN check digits are right. An IBAN of another country is refused.
How long is a bank account number?
It depends on the country. Choose the country and the checker shows the length and the layout. For example a Belgian number has 12 characters, and a British one, without the IBAN, has 18 (4 letters, 6 digits, 8 digits).
What are national check digits?
Digits inside the account number that are calculated from the other digits by a rule of the country. A bank that runs the rule can spot a typing mistake, such as a wrong or swapped digit, before the payment goes out. They are not the same as the two IBAN check digits.
How do I write a Czech account number?
Czech numbers are written prefix-account/bank code, for example 34278-0727558021/0100, and the prefix can be left out. The IBAN uses another order, the bank code first, then the prefix and the account number. The checker accepts both forms.
Why does the Nigerian check need a bank code?
The Central Bank of Nigeria's check digit is calculated from the 3-digit bank code and the first nine digits of the account number, so the same 10 digits can pass for one bank and fail for another. Enter the bank code, or use our NUBAN validator, which lists the banks.
Does this check American, Canadian, Australian or Indian account numbers?
No. It covers the 93 countries in the list. For the routing and bank codes of the United States, Australia, New Zealand, India and Hong Kong, use the checkers linked on this page, and for the United Kingdom use the UK sort code validator, which runs the modulus check on the sort code and the account number together.
How current is this page?
The formats are from release 101 of the SWIFT IBAN Registry. The registry adds countries and changes formats from time to time, so a newer country or format may not be here. We last checked on 20 September 2026.
Is anything I type stored or sent?
No. The checks run in your browser on data that is inside the page. Nothing you type is stored or sent.
