Ne işe yarar?

Test verisi oluşturucu, Türkiye’ye özgü alanlar içeren formları, API’leri ve veritabanlarını gerçek kişi verisi kullanmadan denemenizi sağlar: kayıt formundaki TC kimlik no ve IBAN doğrulamasını sınamak, demo veritabanını doldurmak, CSV veya JSON içe aktarma dosyası hazırlamak.

Alanları işaretleyin, 1 ile 1.000 arasında adet girin, tekrarlanabilir çıktı için tohum yazın ve “Test verisi oluştur” düğmesine basın. Veri yalnızca bu düğmeyle üretilir. Doğrulayıcı sekmesi yapıştırdığınız TCKN, VKN ve IBAN değerlerini satır satır kontrol eder.

TCKN kontrol hanesi nasıl hesaplanır?

T.C. kimlik numarası 11 hanedir ve ilk hane 0 olamaz. 10. hane, tek sıradaki hanelerin (1, 3, 5, 7, 9) toplamının 7 katından çift sıradakilerin (2, 4, 6, 8) toplamı çıkarılarak, 11. hane ise ilk on hanenin toplamıyla bulunur; ikisinde de 10’a göre mod alınır. İlk değer eksi çıkabileceği için negatif olmayan mod gerekir: ((x % 10) + 10) % 10.

d10 = ((d1+d3+d5+d7+d9) × 7 − (d2+d4+d6+d8)) mod 10
d11 = (d1+d2+…+d10) mod 10

Örnek 10000000146: tek sıradakiler 1+0+0+0+1 = 2 ve 2 × 7 = 14; çift sıradakilerin toplamı 0; 14 mod 10 = 4, yani 10. hane 4. İlk on hanenin toplamı 1+1+4 = 6, yani 11. hane 6. Bir başka vektör: 123456789 ön eki 12345678950 olur. Formül, python-stdnum kütüphanesindeki -(3 × tek toplam + çift toplam) mod 10 ifadesine denktir; çevrim içi sorgu yapılmaz.

VKN algoritması

VKN 10 hanedir. Araç yaygın kullanılan algoritmayı uygular; GİB’in resmî bir algoritma yayımladığı doğrulanamadığı için bunun ötesinde iddia yoktur. İlk dokuz hane sağdan sola i = 1…9 diye numaralanır; her d hanesi için c1 = (d + i) mod 10 bulunur. c1 sıfırsa katkı 0’dır, değilse c2 = (c1 × 2^i) mod 9 alınır ve 0 çıkarsa 9 yapılır. Kontrol hanesi (10 − c2 toplamı) mod 10’dur.

Örnek: 454053692 için c2 değerleri sağdan sola 6, 4, 9, 4, 0, 6, 2, 3, 6; toplam 40, kontrol hanesi 0. Yani 4540536920 geçerli, 4540536921 geçersizdir. Kaynak: python-stdnum vkn modülü.

TR IBAN yapısı ve MOD 97

TR IBAN 26 karakterdir: TR, 2 kontrol hanesi, 5 haneli ödeme hizmeti sağlayıcısı kodu (yaygın adıyla banka kodu), rezerv hane 0 ve başa sıfır eklenerek tamamlanan 16 karakterlik hesap numarası. Yapı, TCMB’nin 2008/6 sayılı Tebliği’nin (2021’e kadar değişikliklerle) 4. maddesine ve 2–3 numaralı eklerine dayanır: Tebliğ metni.

TR kk bbbbb 0 aaaaaaaaaaaaaaaa
kk = 98 − (n mod 97)   n: BBAN + "TR00", ilk 4 karakter sona alınmış, A=10 … Z=35

Kontrol haneleri ISO 7064 MOD 97-10 ile bulunur: TR00 ve BBAN’ı birleştirin, ilk dört karakteri sona taşıyın, harfleri sayıya çevirin (A=10 … Z=35; T=29, R=27) ve 98 − (n mod 97) değerini iki haneli yazın. Doğrulamada yeniden sıralanan IBAN’ın 97’ye bölümünden kalan 1 olmalıdır. Örnek: banka kodu 00001, hesap 0000000000000001 için TR610000100000000000000001. Tebliğ hesap bölümünde A–Z harflerine de izin verir; doğrulayıcı kabul eder, üretici yalnız rakam üretir.

Banka kodu boşsa her satıra rastgele 5 hane atanır. Gerçek banka kodları doğrulanmadığı için kod listesi yoktur; rastgele bir kod ya da 99999 gibi bir değer kurgusal, atanmış veya atanmamış olarak garanti edilmez.

Telefon ve adres neden yalnızca biçimsel?

Cep telefonu +90 5XX XXX XX XX biçimindedir; araç 5 ile başlayan 10 rastgele hane üretir. Resmî olarak ayrılmış kurgusal bir aralık doğrulanamadığı için bu yalnızca biçimdir. Biçimce geçerli örnektir; gerçek bir aboneye ait olabilir. Bu numaraları aramayın, SMS göndermeyin; yalnızca SMS göndermeyen test ortamlarında kullanın.

Adresler araca özgü küçük listelerden birleşir: “Test Sokak” veya “Deneme Caddesi” gibi uydurma sokaklar, rastgele bina numarası, gerçek il adı ve yalnızca biçim olan 5 haneli posta kodu. Gerçek bir adresle çakışmadığı garanti edilemez; gönderilerde kullanılmamalıdır ve kurgusal adres diye etiketlenir. Adlar da uydurma ad ve soyad listelerinden birleştirilir.

Sorumlu kullanım

  • Verileri kimlik, ödeme veya resmî bir form için asla kullanmayın.
  • Rastgele değerler gerçek kayıtlarla çakışabilir; geçerli kontrol hanesi numaranın kimseye ait olmadığını göstermez.
  • Gerçek kişisel veriler 6698 sayılı KVKK kapsamında uygun şekilde ele alınmalıdır; staging ve demo ortamlarında gerçek müşteri verisi yerine test verisi tercih edin.
  • Çıktıdaki işaretleri silmeyin: tablo başlığı, CSV’deki # TEST DATA satırı ve JSON’daki _test_data bayrağı.

Araç NVİ, MERNİS veya GİB sorgusu yapmaz, gerçek kişi ya da hesap aramaz, ağ isteği göndermez.

Sınırlar

  • Doğrulayıcı yalnızca matematikseldir: numaranın gerçek bir kişiye, şirkete veya hesaba ait olup olmadığını kontrol etmez.
  • Üretici ve doğrulayıcı en fazla 1.000 satır işler.
  • Tohum en fazla 32 ASCII harf, rakam, _ veya - içerir. Aynı tohum ve ayarlar aynı çıktıyı verir; bir alanı kapatmak diğer sütunları değiştirmez. Araç sürümü değişirse çıktı da değişebilir.
  • CSV’de +, =, - veya @ ile başlayan hücrelere formül çalışmasın diye ' eklenir; telefon sütunu bu yüzden '+90 … görünür. İlk satır # ile başlayan nottur, içe aktarırken atlayın.

Algoritmalar ve vektörler 11 Ekim 2026’da kaynaklarla yeniden kontrol edildi.

Sık sorulan sorular

Bu numaralar gerçek mi?

Rastgele üretilir; gerçek kayıtlarla çakışmadığı garanti edilemez. Çıktı yalnızca test verisidir; kimlik, ödeme veya resmî işlemlerde kullanılmamalıdır.

Neden doğrulama geçiyor?

Çünkü doğrulama yalnızca kontrol hanesini, yani matematiksel kuralı denetler. Geçerli bir kontrol hanesi numaranın bir kişiye, şirkete veya hesaba ait olduğunu göstermez.

Doğrulayıcı numaranın gerçek olup olmadığını söyler mi?

Hayır. Ağ isteği yapmaz; NVİ, MERNİS, GİB veya bankalara sormaz. Uzunluğu, ilk haneyi, kontrol hanelerini ve IBAN rezerv hanesini denetler, geçersizse nedenini yazar.

Aynı çıktıyı tekrar alabilir miyim?

Evet. Aynı tohum ve ayarlar aynı satırları verir. Tohum boşsa crypto.getRandomValues kullanılır ve her seferinde farklı çıktı gelir.

Üretilen veriler bir yere gönderiliyor mu?

Hayır. Her şey tarayıcınızda üretilir. Paylaşım bağlantısı yalnız siz işaretlerseniz ayarları ve tohumu taşır; satırlar bağlantıya girmez.

Yayın: · Güncelleme: