Turkey IBAN Validator

Validate a Turkish IBAN — MOD-97 checksum, bank code lookup and full BBAN breakdown.

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

The Turkey IBAN Validator performs a rigorous structural check on any 26-character Turkish IBAN, going beyond a simple length test to decode each field, verify the reserved digit rule, and compute the full ISO 7064 MOD-97-10 checksum that underpins every IBAN worldwide. It also identifies the issuing bank by name where the 5-digit Banka Kodu is in the known registry.

The tool is aimed at developers building Turkish payment integrations, finance teams reconciling SEPA or SWIFT transfers to Turkish beneficiaries, and anyone who wants to understand why a Turkish IBAN passes or fails — not just that it does.

How a Turkish IBAN is structured

Turkey adopted the IBAN standard with a fixed total length of 26 characters. Every character has a defined role:

PositionLengthField
1-22Country code: always TR
3-42IBAN check digits (ISO 7064 MOD-97-10)
5-95Banka Kodu (bank code, assigned by TBB)
101Reserved digit (always 0)
11-2616Hesap No (account number)

Characters 5 through 26 form the BBAN (Basic Bank Account Number) — all 22 of these characters must be decimal digits. Unlike the IBANs of France, Germany, or the UK, a Turkish IBAN contains no alphabetic characters in the BBAN.

Validation layers this tool applies

Layer 1 — Character and length check

After stripping spaces and uppercasing, the input must start with TR, contain only letters A-Z and digits 0-9, and be exactly 26 characters. These checks catch the most common transcription errors before the more expensive checksum computation runs.

Layer 2 — BBAN digit-only check

Positions 5 through 26 (the full BBAN) must consist entirely of decimal digits. A Turkish IBAN never contains letters after the leading TR, so any alphabetic character in the BBAN signals a transcription error or a foreign IBAN entered by mistake.

Layer 3 — Reserved digit check

The 6th digit of the BBAN (9th character of the full IBAN) is a structural reserved placeholder defined to be 0 by Turkish banking standards. This digit was set aside to allow future format extensions without altering the 26-character total length. Any value other than 0 here indicates the IBAN is not a genuine Turkish one.

Layer 4 — ISO 7064 MOD-97-10 checksum

This algorithm, defined in ISO 13616 and used by every IBAN-adopting country:

  1. Move the first four characters (TR + two check digits) to the end of the string.
  2. Replace each letter with its two-digit numeric equivalent: T becomes 29, R becomes 27.
  3. The result is a long numeric string. Compute its value modulo 97, folding progressively — (remainder * 10 + digit) mod 97 — to avoid overflow.
  4. The IBAN is valid under this layer only if the remainder equals exactly 1.

Worked example

Take the publicly documented test IBAN TR33 0006 1005 1978 6457 8413 26 (all spaces removed: TR330006100519786457841326):

  • Country code: TR
  • IBAN check digits: 33
  • Bank code: 00061 — not in the short registry used by this tool, but still checksum-valid
  • Reserved digit: 0 (correct)
  • Account number: 0519786457841326

For the MOD-97 check, rearrange by moving the first four characters to the end: 0006100519786457841326TR33. Expand T = 29, R = 27, and keep the digits as-is: 0006100519786457841326292733. Fold that string through (r * 10 + d) mod 97 digit by digit — the final remainder is 1, so the checksum passes.

All four layers pass: the IBAN is structurally valid.

Privacy and offline use

All validation logic — character scanning, MOD-97 folding, bank code lookup — runs entirely inside your browser tab. No IBAN text, partial input, or timing signal is ever transmitted to any server. The page contains no analytics hooks that capture form input. You can open it once, disconnect from the internet, and it will continue to work identically, making it suitable for validating sensitive financial data subject to the Turkish Personal Data Protection Law (KVKK) or the EU General Data Protection Regulation (GDPR).

Ad placeholder (rectangle)