Havale, EFT ve FAST işlemlerinde, maaş ödemelerinde ve faturalarda kullanılan IBAN (International Bank Account Number), bir banka hesabını hem yurt içinde hem yurt dışında tek bir kodla tanımlar. IBAN’ın içinde yazım hatalarını yakalayan bir kontrol mekanizması bulunur; bu sayede yanlış yazılan bir rakam çoğu zaman işlem yapılmadan fark edilir. Bu rehberde TR IBAN’ın yapısını, kontrol basamaklarının nasıl hesaplandığını ve güvenlik konularını anlatıyoruz. Bir IBAN’ı kontrol etmek için IBAN doğrulama aracımızı kullanabilirsiniz.
IBAN nedir ve neden kullanılır?
IBAN, ISO 13616 standardıyla tanımlanmış uluslararası bir hesap numarası biçimidir. Avrupa’da başlayan uygulama bugün Türkiye dahil 80’i aşkın ülkede kullanılır. Amacı:
- Hesap numaralarını ülke ve banka bilgisiyle birlikte tek bir standartta toplamak
- Yazım hatalarını kontrol basamaklarıyla yakalamak
- Uluslararası transferlerde hataları ve gecikmeleri azaltmak
Türkiye’de IBAN kullanımı 2010’dan itibaren bankalar arası para transferlerinde zorunlu hale gelmiştir.
TR IBAN’ın yapısı
Türkiye’de IBAN 26 karakterdir:
| Konum | Uzunluk | Alan | Örnek |
|---|---|---|---|
| 1–2 | 2 | Ülke kodu | TR |
| 3–4 | 2 | Kontrol basamakları | 75 |
| 5–9 | 5 | Banka kodu | 00099 |
| 10 | 1 | Rezerv alan (genellikle 0) | 0 |
| 11–26 | 16 | Hesap numarası | 0000001234567890 |
Örnek (biçim olarak geçerli, gerçek bir hesap değildir):
TR75 0009 9000 0000 1234 5678 90
IBAN’lar okunabilirlik için dörderli gruplar halinde yazılır; ancak sistemlere girilirken boşluklar dikkate alınmaz.
Bazı banka kodları
| Kod | Banka |
|---|---|
| 00010 | Ziraat Bankası |
| 00012 | Halkbank |
| 00015 | VakıfBank |
| 00046 | Akbank |
| 00062 | Garanti BBVA |
| 00064 | Türkiye İş Bankası |
| 00067 | Yapı Kredi |
Kontrol basamakları: mod 97 algoritması
IBAN’ın 3. ve 4. karakterleri, tüm numaradan hesaplanan iki haneli bir kontrol değeridir. Doğrulama şöyle yapılır:
- İlk dört karakteri (TR75) sona taşıyın:
0009900000001234567890TR75(boşluksuz) - Harfleri sayıya çevirin: A = 10, B = 11, … T = 29, R = 27. Böylece “TR” → “2927” olur.
- Ortaya çıkan uzun sayının 97’ye bölümünden kalanı hesaplayın.
- Kalan 1 ise IBAN biçim olarak geçerlidir.
Bu yöntem tek bir rakamın yanlış yazılmasını ve yan yana iki rakamın yer değiştirmesini neredeyse her zaman yakalar. Kontrol basamaklarını hesaplamak için aynı işlem kontrol alanı “00” yapılarak uygulanır ve sonuç 98’den çıkarılır.
Programlamada bu hesap çok büyük sayılarla uğraşmayı gerektirdiğinden genellikle rakam rakam kalan alınarak yapılır:
function ibanGecerliMi(iban) {
const s = iban.replace(/\s+/g, '').toUpperCase();
const r = (s.slice(4) + s.slice(0, 4))
.replace(/[A-Z]/g, (c) => c.charCodeAt(0) - 55);
let kalan = 0;
for (const d of r) kalan = (kalan * 10 + Number(d)) % 97;
return kalan === 1;
}
Biçim kontrollerini düzenli ifadelerle yapmak isterseniz regex rehberimize göz atabilirsiniz.
Diğer ülkelerin IBAN uzunlukları
| Ülke | Kod | Uzunluk |
|---|---|---|
| Türkiye | TR | 26 |
| Almanya | DE | 22 |
| İngiltere | GB | 22 |
| Fransa | FR | 27 |
| İspanya | ES | 24 |
| Hollanda | NL | 18 |
| Suudi Arabistan | SA | 24 |
| Birleşik Arap Emirlikleri | AE | 23 |
| Azerbaycan | AZ | 28 |
ABD, Kanada, Avustralya ve Rusya gibi bazı ülkeler IBAN kullanmaz. Bu ülkelere yapılan transferlerde hesap numarasının yanında banka kodu (ABD’de routing number, Rusya’da БИК) ve SWIFT/BIC kodu gerekir. Uluslararası transferlerin kur maliyetleri için döviz kuru rehberimize bakabilirsiniz.
IBAN, SWIFT/BIC ve hesap numarası farkı
- Hesap numarası: Bankanın kendi içinde kullandığı numara.
- IBAN: Hesap numarasını ülke, banka ve kontrol bilgisiyle birleştiren uluslararası biçim.
- SWIFT/BIC: Bankanın kendisini tanımlayan 8 veya 11 karakterlik kod. Yurt dışından para alırken IBAN ile birlikte istenir.
Türkiye’de ayrıca FAST sistemi üzerinden Kolay Adres hizmeti bulunur: Hesabınızı telefon numarası, e-posta veya T.C. kimlik numarasıyla eşleştirerek IBAN yazmadan para alabilirsiniz.
Güvenlik: IBAN ile ilgili dikkat edilecekler
- IBAN tek başına risk değildir: Kimse yalnızca IBAN’ınızla hesabınızdan para çekemez.
- Alıcı adını kontrol edin: Para gönderirken alıcı adı ile IBAN sahibinin uyuştuğundan emin olun; bankalar uyuşmazlık halinde işlemi geri çevirebilir veya uyarı verebilir.
- “Yanlışlıkla para gönderdim” dolandırıcılığı: Hesabınıza tanımadığınız biri para gönderip başka bir hesaba iade etmenizi isterse, iadeyi yalnızca bankanız aracılığıyla yapın.
- Hesabınızı kimseye kullandırmayın: Hesabını başkasının para transferleri için kullandıran kişiler, suç gelirlerinin aklanmasına aracılık etmekten sorumlu tutulabilir.
- Fatura ve e-postadaki IBAN değişikliklerine şüpheyle yaklaşın: Tedarikçinizin IBAN’ı e-postayla “değişti” denirse, telefonla bilinen bir numaradan teyit edin. Bu tür sahte e-postalara karşı alan adı korumasını SPF, DKIM ve DMARC rehberimizde anlattık.
Yurt dışından para alırken
Yurt dışındaki bir müşteriden veya işverenden ödeme alacaksanız genellikle şu bilgiler istenir:
- Hesap sahibinin adı (bankadaki kayıtla birebir aynı)
- IBAN (döviz hesabınızın IBAN’ı; TL hesabınızın değil)
- Bankanın SWIFT/BIC kodu
- Bankanın adı ve şube adresi (bazı ülkeler için)
Döviz cinsinden ödeme almak için ilgili para biriminde bir hesabınız olması gerekir; TL hesabına gönderilen döviz, bankanın kuru üzerinden otomatik olarak çevrilebilir. Kur dönüşüm maliyetlerini önceden hesaplamak için döviz çevirici aracını kullanabilirsiniz.
Sık yapılan hatalar
- O (harf) ile 0 (sıfır) karıştırmak: TR IBAN’ında ülke kodundan sonra yalnızca rakam bulunur.
- Eksik veya fazla hane: TR IBAN tam 26 karakter olmalıdır.
- Geçerli biçimi geçerli hesap sanmak: Mod 97 kontrolü hesabın varlığını doğrulamaz.
- Kopyalarken boşluk veya görünmez karakter eklemek: Yapıştırdıktan sonra kontrol edin.