French IBAN Validator

Verify a French IBAN with the RIB key check and ISO 7064 mod-97.

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

A French IBAN carries more built-in error-detection than most other countries’ IBANs because it layers two independent checksums on top of each other: the universal ISO 7064 MOD-97-10 checksum shared by all IBANs worldwide, plus a France-specific RIB key (clé RIB) that was part of the original French bank account format long before IBAN adoption. This tool runs both checks instantly in your browser, decodes every structural field, and explains exactly what each part of the number means — useful whether you are onboarding a French supplier, validating input in a payments system, or just checking that your own bank details are correct before sharing them internationally.

French IBANs appear in everyday banking contexts including SEPA credit transfers, SEPA direct debits, salary mandates, invoice payment instructions, and online checkout forms for French merchants. The format has been mandatory for cross-border euro payments since 2008, and most French banks now display it on debit cards and statements alongside the older RIB slip format.

How it works

A French IBAN is always 27 characters long and follows this structure:

FR + kk + bbbbb + ggggg + aaaaaaaaaaa + cc

where FR is the country code, kk is the two-digit IBAN check field, bbbbb is the 5-digit bank code (code banque), ggggg is the 5-digit branch code (code guichet), aaaaaaaaaaa is the 11-character account number, and cc is the 2-digit RIB key (clé RIB).

Step 1 — RIB key check. The clé RIB is computed by mapping each character to a digit using the French alphanumeric table (A–I = 1–9, J–R = 1–9, S–Z = 2–9), then applying the weighted formula 97 - ((89 * bank + 15 * branch + 3 * account) mod 97). The two digits at the end of the BBAN must equal this expected value.

Step 2 — ISO 7064 MOD-97-10 checksum. The first four characters are moved to the end. Each letter is replaced with two digits using the standard IBAN table (A=10, Z=35). The entire number is divided progressively by 97; the remainder must be exactly 1.

Both steps run locally — nothing is ever sent over the network.

Worked example

Take the test IBAN FR76 3000 6000 0112 3456 7890 189:

  • Country: FR, check digits: 76
  • Bank code: 30006 (BNP Paribas), branch code: 00001
  • Account number: 12345678901
  • RIB key: 89

RIB check: (89 * 30006 + 15 * 00001 + 3 * 12345678901) mod 97 = 8 then 97 - 8 = 89. The stored key 89 matches, so the RIB is valid.

MOD-97 check: rearrange to 300060000112345678901897 6FR76, expand letters F=15, R=27 to get a long digit string, compute mod 97 — result is 1, so the IBAN checksum also passes.

FieldValueLength
Country codeFR2
IBAN check digits762
Bank code (code banque)300065
Branch code (code guichet)000015
Account number1234567890111
RIB key (clé RIB)892
Total27

Both checks passed. The IBAN is structurally valid for France. Whether the account is actually open is only known to the bank.

Ad placeholder (rectangle)