Skip to content

IBAN checker

By
Published

An IBAN (International Bank Account Number) identifies a bank account across borders. The Bulgarian National Bank notes that every Bulgarian bank account has had an IBAN since 5 June 2006 and that Bulgaria uses the format for domestic payments as well as international ones. The checker above tests whether an IBAN is well formed before you pay or share it.

How the check works

The checker runs these steps each time the field changes:

  1. Clean up. Spaces and hyphens are removed and letters are made upper case. Nothing is shown until at least four characters are entered.
  2. Country code. The first two letters must be one of the 37 countries in the tool's length table.
  3. Length. Each country has a fixed IBAN length. If the number is too short or too long, the checker says how many characters that country uses and how many you entered.
  4. Format and check digits. The IBAN must be two letters, two digits, then letters and digits only. The ISO 13616 check is then run: the first four characters move to the end, each letter becomes a number (A = 10, B = 11, up to Z = 35), and the resulting long number is divided by 97. A valid IBAN leaves a remainder of 1.
  5. Bank. For an IBAN starting with BG, characters 5 to 8 are read as the bank code and matched against the built-in list.

When the IBAN passes, the checker also prints it in groups of four characters, the way the BNB says it is written on paper.

The structure of a Bulgarian IBAN

Under BNB Ordinance No. 13, a Bulgarian IBAN has 22 characters:

Position Content Example
1-2 Country code BG
3-4 Check digits 80
5-8 Bank code: first four letters of the bank's BIC BNBG
9-12 Bank unit (branch) code 9661
13-14 Account type 10
15-22 Set by the bank 20345678

Worked example

The BNB uses this example IBAN: BG80 BNBG 9661 1020 3456 78.

  1. Without spaces: BG80BNBG96611020345678 has 22 characters, the correct length for BG.
  2. Move the first four characters to the end: BNBG96611020345678BG80.
  3. Replace letters with numbers (B = 11, N = 23, G = 16): 1123111696611020345678111680.
  4. Divide by 97. The remainder is 1, so the check digits are correct.
  5. The bank code BNBG is in the list, so the checker shows Bulgarian National Bank.

Now swap the last two digits, ...345687. The length is still right, but the remainder becomes 50. The checker reports that the check digits do not match and that a character is mistyped.

Codes the checker recognises

The built-in list covers 14 Bulgarian codes: UNCR (UniCredit Bulbank), STSA (DSK Bank), UBBS (United Bulgarian Bank), FINV (First Investment Bank), BPBI (Eurobank Bulgaria, Postbank), RZBB (Raiffeisenbank Bulgaria), PRCB (ProCredit Bank), CECB (Central Cooperative Bank), BUIN (Allianz Bank Bulgaria), IABG (International Asset Bank), SOMB (Municipal Bank), IORT (Investbank), TEXI (Texim Bank) and BNBG (Bulgarian National Bank). For any other Bulgarian code, the checker shows the code without a bank name.

Limits of the checker

  • Structure, not existence. A valid result does not mean the account is open or can receive payments.
  • No name check. The tool cannot match the IBAN to the account holder. Confirm the name with the recipient, especially when payment details arrive by email.
  • 37 countries. Valid IBANs from countries outside the length table are reported as having an unknown country code.
  • Bank names for Bulgaria only. Foreign IBANs are validated, but no bank is named.
  • A fixed list. Bank names come from a built-in list and can lag behind mergers and renamings.

IBANs, SEPA and stablecoins

In the euro area, payments between IBANs usually travel over SEPA. xChange.bg gives you EUR (SEPA) and USD (ACH or wire) receiving accounts in your own name. Money that arrives converts to USDC in a wallet you control, and money out goes to any bank account, where a correct IBAN matters. See how this works for sending money abroad with stablecoins and for getting paid in USD from abroad.

Frequently asked questions

What does a valid IBAN prove?

Only that the number is correctly built: a known country code, the right length for that country and check digits that pass the mod-97 test. It does not prove the account exists, is open or belongs to the person you intend to pay.

How many characters does a Bulgarian IBAN have?

22. It starts with BG and two check digits, followed by a four-letter bank code, four digits for the bank unit, two digits for the account type and eight characters set by the bank, according to BNB Ordinance No. 13.

How does the checker know which Bulgarian bank it is?

Characters 5 to 8 of a Bulgarian IBAN are the first four letters of the bank's BIC. The checker compares them with a built-in list of 14 codes for the largest banks and the BNB. Other codes are shown without a name.

Why does a valid foreign IBAN show an unknown country code?

The checker knows the IBAN length for 37 countries: the EU and EEA plus Andorra, Gibraltar, Monaco, San Marino, Switzerland, the United Kingdom and Vatican City. IBANs from other countries are reported as unknown.

Is the IBAN I paste sent anywhere?

No. The check runs in your browser as you type, using code already loaded with the page. The IBAN is not sent to xChange.bg, to a bank or to any other service, and it is not stored.

Can the check digits catch every typo?

They catch a single mistyped character and most swaps of neighbouring characters, which are the common errors. A number with several errors can pass by chance, so compare the IBAN with the source as well.

Sources

  1. Bulgarian National Bank: IBAN, the bank account number

Related

More free tools