Belgian IBAN Validator

Verify a Belgian IBAN with ISO mod-97 and the national check digits.

Ad placeholder (leaderboard)
Enjoying the tools? Go Pro for £4.99 (one-time) and remove all ads — forever, on this device. Remove ads — £4.99

Belgian IBANs follow one of the most compact IBAN formats in Europe: just 16 characters. Behind that brevity sits a two-layer checksum system — the international ISO 7064 mod-97 check that applies to every country, plus a second Belgian-specific mod-97 check embedded inside the account block itself. This validator runs both checks instantly in your browser, with no data ever leaving your device.

What a Belgian IBAN looks like

The 16-character string breaks down as follows:

BE  68  539  0075470  34
CC  CD  BBB  AAAAAAA  NN
  • CC — country code, always BE for Belgium
  • CD — 2 ISO check digits (e.g. 68)
  • BBB — 3-digit bank identifier (e.g. 539 = Belfius)
  • AAAAAAA — 7-digit account number, zero-padded on the left
  • NN — 2-digit Belgian national check digits (e.g. 34)

The familiar paper-format with spaces groups these into four-character blocks: BE68 5390 0754 7034.

How the two-level validation works

Level 1 — ISO 7064 MOD-97-10 (international standard)

  1. Strip spaces and uppercase the input.
  2. Move the first four characters (BExx) to the end.
  3. Replace each letter with two digits: A=10, B=11 … Z=35.
  4. The IBAN is valid when the resulting integer mod 97 equals 1.

Because the integer can have up to 30+ digits, the calculation is folded progressively over the digit string rather than forming a huge number — so it runs safely inside JavaScript without any bignum library.

Level 2 — Belgian national check digits

Before IBAN was introduced, Belgian banks used their own 12-digit account format BBB-CCCCCCC-NN. The two-digit suffix NN was computed as:

NN = 97 - ((BBB concatenated with CCCCCCC) mod 97)

If that expression is 0, NN is 97. When Belgium migrated to IBAN in 2001 it preserved this inner check as the last two digits of the BBAN, so a valid Belgian IBAN must pass both algorithms independently.

Worked example

Take the test IBAN BE68 5390 0754 7034:

ISO check:

  • Rearrange: 5390075470 34BE68
  • Expand letters: B=11, E=14 so the tail becomes ...111468
  • Full numeric string mod 97 = 1 — ISO check passes.

National check:

  • Bank + account block: 5390007547 (10 digits)
  • (5390007547 mod 97) = 63
  • Expected check = 97 - 63 = 34
  • Actual check digits in IBAN = 34 — national check passes.

Both checks pass, length is 16, country code is BE: valid Belgian IBAN.

FieldValue
Country codeBE
ISO check digits68
Bank code539
Account digits0075470
National check34
FormattedBE68 5390 0754 7034

Privacy note: every calculation runs in your browser. No IBAN you enter is ever uploaded, logged, or stored anywhere.

Ad placeholder (rectangle)