Croatia IBAN Validator

Validate Croatian IBANs (HR + 19 digits) with MOD-97 and ISO 7064 MOD 11,10 bank and account checks.

Ad placeholder (leaderboard)

The Croatia IBAN Validator confirms that a Croatian bank account number in IBAN format is structurally correct. It verifies the HR country code, the 21-character length, the 7-digit VBDI bank code, the full ISO 7064 MOD-97-10 checksum, and the ISO 7064 MOD 11,10 check digit on both the bank code and the account number — all without sending a single character to a server.

Croatia adopted the euro in 2023 and settles domestic payments through the NKS clearing system, so a correctly formed IBAN is required for every SEPA transfer. Because both the bank code and the account number embed their own MOD 11,10 self-check, this validator catches many typos the IBAN checksum alone would miss.

How it works

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

  • HR — the country code for Croatia
  • kk — 2 IBAN check digits (ISO 7064 MOD-97-10)
  • bbbbbbb — 7-digit VBDI bank code (6 base digits + 1 check digit)
  • 10 digits — the account number (9 base digits + 1 check digit)

Total: 21 characters, all digits in the BBAN.

Validation runs three independent checks:

  1. IBAN MOD-97-10 — move HR plus the check digits to the end, expand letters to numbers, and confirm the result modulo 97 equals 1.
  2. Bank code MOD 11,10 — recompute the seventh digit of the bank code from its first six digits using the recursive ISO 7064 MOD 11,10 algorithm; it must match.
  3. Account MOD 11,10 — recompute the tenth digit of the account number from its first nine digits the same way; it must match.

Worked example

Take HR12 1001 0051 8630 0016 0:

  • Country code: HR
  • IBAN check digits: 12
  • Bank code: 1001005 (Hrvatska narodna banka)
  • Account number: 1863000160

For the bank code, running MOD 11,10 over 100100 produces the check digit 5, matching the seventh digit. The account 186300016 produces the check digit 0, matching the tenth digit. The rearranged string reduces to a MOD-97 remainder of 1. All three checks pass, so the IBAN is valid.

Because both blocks carry their own MOD 11,10 self-check, a single mistyped digit usually breaks at least one of the three tests. Every character is processed locally — nothing is uploaded, logged, or transmitted.

Ad placeholder (rectangle)