Greek IBAN Validator

Validate any Greek IBAN instantly — bank code, branch code and MOD-97 checksum verified.

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 Greek IBAN validator that checks every structural layer of the number in real time — the ISO 7064 MOD-97-10 checksum, the 3-digit bank code, the 4-digit branch code and the 16-digit account number format. It is built for anyone who needs to verify a Greek IBAN before making a SEPA bank transfer, integrating it into a payment form, or confirming account details shared by a counterparty.

How it works

Greece adopted the IBAN standard (ISO 13616) for all domestic and international euro transfers through the DIAS interbank clearing network. Every Greek IBAN is exactly 27 characters and follows a fixed, entirely numeric BBAN layout:

PositionLengthFieldContent
1-22Country codeAlways GR
3-42IBAN check digitsComputed by MOD-97
5-73Bank codeNumeric bank identifier
8-114Branch codeNumeric branch identifier
12-2716Account numberNumeric account identifier

The validator runs three independent checks.

Check 1 — ISO 7064 MOD-97-10 (overall IBAN checksum). The first four characters (GR plus the two check digits) are moved to the end of the string. Then every letter is expanded to its two-digit numeric equivalent: G becomes 16, R becomes 27. The resulting long digit string is folded through progressive modulo-97 arithmetic — dividing by 97 one digit at a time so no JavaScript integer overflow occurs even for the longest IBANs in the registry. The IBAN is structurally valid if and only if the final remainder equals exactly 1.

Check 2 — Length and country code. Greek IBANs are always 27 characters starting with GR. Any deviation — a miscount when copying, a truncated paste, or an IBAN from another country — is flagged immediately with the actual versus expected character count.

Check 3 — BBAN format. Even after passing MOD-97, the tool inspects the 23-character BBAN individually: it must consist entirely of digits. A BBAN containing any letters would indicate the IBAN was corrupted or belongs to a different country’s format.

Worked example

Take the test IBAN GR16 0110 1250 0000 0001 2300 695. After stripping spaces the input is GR1601101250000000012300695 — exactly 27 characters.

  1. Rearrange and expand: move GR16 to the end to get 01101250000000012300695GR16. Expanding letters: G = 16, R = 27. The numeric string becomes 011012500000000123006951627 16. Folding this through progressive mod-97 gives a remainder of 1 — checksum passes.

  2. BBAN breakdown:

    • Bank code = 011 (3 digits, valid)
    • Branch code = 0125 (4 digits, valid)
    • Account number = 0000000012300695 (16 digits, valid)
  3. Result: all checks pass — the IBAN is structurally valid.

Now change the last digit to 6 (GR1601101250000000012300696). The MOD-97 remainder is no longer 1, so the checksum fails immediately and the tool shows “Invalid — IBAN checksum (MOD-97) failed” in red. This is how IBANs protect against single-digit transcription errors in practice.

Every calculation runs entirely in your browser. No data is sent anywhere.

Ad placeholder (rectangle)