Tool to check BBAN numbers. The BBAN (Basic Bank Account Number) checksum algorithm allows to check if a full bank account BBAN number is correct.

BBAN Number - dCode

Tag(s) : Checksum

dCode is free and its tools are a valuable help in games, maths, geocaching, puzzles and problems to solve every day!

A suggestion ? a feedback ? a bug ? an idea ? *Write to dCode*!

NB: Do not confuse with IBAN. This tool checks BBAN, for full IBAN numbers, dCode has a tool for that:

⮞ Go to: IBAN Number

A BBAN (Basic Bank Account Number) is a number identifying a bank account in a country. It is composed of 10 to 30 characters, depending on countries, these characters include bank codes (including the account number) and a checksum key.

__Example:__ In France a BBAN/RIB has 23 characters: bank code (5 digits) + counter code (5 digits) + account number (11 digits and / or letters) + RIB key (2 digits between 01 and 97).

French BBAN number: `12345 12345 0123456789A 03`

It is not possible to verify that a BBAN exists with certainty (that is to say, that there is indeed a bank that contains this bank account and that account is active, with money on it), indeed, only banks know their account numbers and associated RIBs and this data is a banking secret. On the other hand, it is possible to check that a RIB is technically valid (that is to say that it does not contain an error in its digits / characters) thanks to the control key which is integrated into the BBAN and which therefore allows a partial verification. If the validation fails, then the RIB is necessarily false/erroneous.

The algorithm for the validation calculator checks the BBAN key via a modulo 97:

__Example:__ The bank number is: `12345 12345 0123456789A 03`

Step 1: Remove the key BBAN code.

__Example:__ The key is composed of the last 2 digits: 03. The rest of the calculation is done with `12345 12345 0123456789A 00`.

Step 2: replace any letters by figures in the table

A, J | 1 |

B, K, S | 2 |

C, L, T | 3 |

D, M, U | 4 |

E, N, V | 5 |

F, O, W | 6 |

G, P, X | 7 |

H, Q, Y | 8 |

I, R, Z | 9 |

__Example:__ `A=1`, the BBAN becomes `12345123450123456789100`

Step 3: Calculate the value of the result modulo 97, then subtract the result to 97.

__Example:__ $ 12345123450123456789100 \mod 97 \equiv 94 $ and $ 97 - 94 = 3 $

The checksum key is therefore `03` (the key removed previously), the BBAN is valid.

Why 97? Because it is a prime number (the largest with 2 digits) that will minimize the errors.

dCode retains ownership of the "BBAN Number" source code. Except explicit open source licence (indicated Creative Commons / free), the "BBAN Number" algorithm, the applet or snippet (converter, solver, encryption / decryption, encoding / decoding, ciphering / deciphering, translator), or the "BBAN Number" functions (calculate, convert, solve, decrypt / encrypt, decipher / cipher, decode / encode, translate) written in any informatic language (Python, Java, PHP, C#, Javascript, Matlab, etc.) and all data download, script, or API access for "BBAN Number" are not public, same for offline use on PC, mobile, tablet, iPhone or Android app!

Reminder : dCode is free to use.

The copy-paste of the page "BBAN Number" or any of its results, is allowed as long as you cite dCode!

Cite as source (bibliography):

*BBAN Number* on dCode.fr [online website], retrieved on 2023-01-29,

bban,account,number,sum,control,checksum,modulo,mod,97,validation,verify,digit,key

https://www.dcode.fr/bban-check

© 2023 dCode — The ultimate 'toolkit' to solve every games / riddles / geocaching / CTF.

Feedback