Greece IBAN Validator

Validate Greek IBANs (GR + 25 chars) with bank and branch codes

Ad placeholder (leaderboard)

Greek IBANs are 27 characters long and combine a numeric bank and branch routing block with a 16-character account portion that may contain letters. That mixed format trips up naive validators that assume the whole BBAN is numeric. This validator handles it correctly and runs entirely in your browser.

How it works

A Greek IBAN always begins with GR, followed by two check digits, a three-digit bank code, a four-digit branch code, and a sixteen-character account number:

GR  kk  bbb  ssss  account (16 alphanumeric)
^   ^   ^    ^
|   |   |    branch code (4 digits)
|   |   bank code (3 digits)
|   check digits (2)
country code

The validator runs three checks: the length must be exactly 27; the 7-digit routing block (bank plus branch) must be all digits; and the ISO 7064 MOD-97-10 checksum must pass. For the checksum the first four characters (GRkk) are moved to the end, every letter (including any in the account portion) is replaced by its numeric code A=10 to Z=35, and the resulting long integer must leave a remainder of 1 when divided by 97. The computation is folded digit-by-digit so no big-integer library is needed.

Worked example

Take GR16 0110 1250 0000 0001 2300 695: country code GR, check digits 16, bank 011, branch 0125, account 0000000012300695. Rearranging the IBAN, expanding any letters, and dividing by 97 leaves remainder 1, so the checksum passes.

Tips

Because the account portion can be alphanumeric, never strip letters out before validating. Keep leading zeros in the account field too. The bank code (such as 011 for the National Bank of Greece) and branch code are always numeric, so any letter there indicates a typo. All figures are processed locally and never uploaded.

Ad placeholder (rectangle)