Saudi Arabia IBAN Validator

Validate Saudi IBANs (SA + 22 chars) with a 2-digit bank code and the MOD-97 checksum.

Ad placeholder (leaderboard)

The Saudi Arabia IBAN Validator confirms that a Saudi bank account number in IBAN format is structurally correct. It verifies the SA country code, the 24-character length, the 2-digit bank code, the 18-character account, and the full ISO 7064 MOD-97-10 checksum — all without sending a single character to a server.

The Saudi Central Bank (SAMA) mandates IBANs for transfers through the SARIE settlement system and for cross-border SWIFT payments. A fast offline validator catches typos before they cause failed transfers in invoicing, payroll, and government FATOORAH e-invoicing flows.

How it works

A Saudi IBAN follows a fixed structure from the SWIFT IBAN Registry:

  • SA — the country code for Saudi Arabia
  • kk — 2 IBAN check digits (ISO 7064 MOD-97-10)
  • bb — 2-digit bank code assigned by SAMA
  • 18 characters — the account number (letters and/or digits)

Total: 24 characters.

The checksum follows ISO 13616 / ISO 7064 MOD-97-10:

  1. Strip spaces and uppercase the string.
  2. Move the first four characters (SA plus check digits) to the end.
  3. Replace each letter with its 2-digit code: S = 28, A = 10, plus any letters in the account section.
  4. Reduce the resulting integer modulo 97, folding progressively to avoid overflow.
  5. The IBAN is valid if and only if the remainder equals 1.

Worked example

Take SA03 8000 0000 6080 1016 7519:

  • Country code: SA — Saudi Arabia
  • Check digits: 03
  • Bank code: 80 (National Commercial Bank / Saudi National Bank)
  • Account: 000000608010167519

Moving SA03 to the end and expanding the letters produces a long numeric string that reduces to a MOD-97 remainder of 1, so the IBAN is structurally valid.

FieldValueMeaning
CountrySASaudi Arabia
Check digits03MOD-97 checksum pair
Bank code80Saudi National Bank
Account000000608010167519Account at that bank
Total length24Matches the SWIFT registry

Changing any single character in a valid IBAN almost always produces a remainder other than 1, which is why the checksum catches the vast majority of typos. Every character is processed locally — nothing is uploaded, logged, or transmitted.

Ad placeholder (rectangle)