TC Kimlik Numarası Nedir?

Türkiye Cumhuriyeti Kimlik Numarası (T.C. Kimlik No), Türkiye’de her vatandaşa nüfus kaydı sırasında verilen, 11 haneli benzersiz bir numaradır. Bu numara Nüfus ve Vatandaşlık İşleri Genel Müdürlüğü (NVİ) tarafından tahsis edilir ve vatandaşın doğumundan itibaren yaşamı boyunca değişmeyen bir tanımlayıcı olarak kullanılır.

T.C. Kimlik Numarası, 2828 sayılı Sosyal Hizmetler Kanunu kapsamında 1990’lı yıllarda tartışılmaya başlanmış ve 2000 yılından itibaren fiilen kullanıma sunulmuştur. Bugün vergi işlemleri, bankacılık, sağlık hizmetleri, e-devlet ve daha sayısız kamu hizmetinde kimlik doğrulamasının temelini oluşturmaktadır.

TC Kimlik Numarasının Yapısı

T.C. Kimlik Numarası 11 basamaklı bir sayıdır ve şu kurallara tabidir:

  1. 11 haneli olmalıdır — daha kısa veya daha uzun numaralar geçersizdir.
  2. Sadece rakamlardan oluşur — harf veya özel karakter içeremez.
  3. İlk hane sıfır (0) olamaz — bu kural, sayının her zaman 10 basamaklı bir değer olarak işlenmesini sağlar.
  4. 11. (son) hane her zaman çift bir rakamdır.

Numara tek bir rastgele sayı değil, matematiksel bir kontrol basamağı (checksum) algoritması ile üretilir. Bu algoritma sayesinde, numaranın elle yanlış yazılıp yazılmadığı birkaç basit aritmetik işlemle anında tespit edilebilir.


Algoritma Kuralları (Detaylı)

11 haneyi sırasıyla d₁, d₂, d₃, …, d₁₁ olarak adlandıralım. İlk 9 hane (d₁–d₉) “veri” basamaklarıdır; 10. hane (d₁₀) ve 11. hane (d₁₁) ise bu veri basamaklarından hesaplanan kontrol basamaklarıdır.

Kural 1 — 10. Hanenin Hesaplanması

Tek sıradaki hanelerin (1., 3., 5., 7. ve 9.) toplamının 7 katından, çift sıradaki hanelerin (2., 4., 6. ve 8.) toplamı çıkarılır ve sonucun 10’a göre modülüsü (birler basamağı) alınır:

d₁₀ = ( (d₁ + d₃ + d₅ + d₇ + d₉) × 7 − (d₂ + d₄ + d₆ + d₈) ) mod 10

Kural 2 — 11. Hanenin Hesaplanması

İlk 10 hanenin (d₁–d₁₀) toplamının 10’a göre modülüsü alınır:

d₁₁ = (d₁ + d₂ + d₃ + d₄ + d₅ + d₆ + d₇ + d₈ + d₉ + d₁₀) mod 10

Kural 3 — Geçerlilik Sınırı

Tüm haneleri aynı rakamdan oluşan numaralar (örneğin 11111111111 veya 22222222222) algoritmik olarak “geçerli” olabilir, ancak pratikte geçersiz kabul edilir ve doğrulama fonksiyonları tarafından reddedilir.


Adım Adım Çalışan Örnek

Örnek olarak d₁ = 1, d₂ = 0, d₃ = 0, d₄ = 0, d₅ = 0, d₆ = 0, d₇ = 0, d₈ = 0, d₉ = 1 olan bir numara seçelim ve 10. ile 11. haneleri hesaplayalım.

10. Hanenin Hesaplanması

AdımİşlemSonuç
Tek sıra toplamıd₁ + d₃ + d₅ + d₇ + d₉ = 1 + 0 + 0 + 0 + 12
Çift sıra toplamıd₂ + d₄ + d₆ + d₈ = 0 + 0 + 0 + 00
7 ile çarp2 × 714
Çift sırayı çıkar14 − 014
Mod 1014 mod 10d₁₀ = 4

11. Hanenin Hesaplanması

AdımİşlemSonuç
İlk 10 hanenin toplamı1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 46
Mod 106 mod 10d₁₁ = 6

Sonuç olarak, üretilen TC Kimlik Numarası: 10000000146.

Bu numara, algoritmanın tüm kurallarını sağlar ve bizim TC No Doğrula aracımıza girildiğinde “Geçerli” sonucunu döndürür.


İlk 3 Hanenin Anlamı

T.C. Kimlik Numarası’nın ilk üç hanesi, kişinin nüfus kaydının yapıldığı aile sıra numarasına işaret eder. Bu haneden, kişinin nüfus kaydının hangi ilde yapıldığına dair istatistiksel bilgiler çıkarılabilir; ancak bu bilgi tek başına kesin bir yer belirleme aracı değildir. Yurt dışında doğan veya vatandaşlık alan kişilerde ilk hanelerin farklı serilerden tahsis edildiği bilinmektedir.


TC Kimlik Numarası Neden Bir Algoritma Kullanır?

Kontrol basamağı algoritmaları, uzun kimlik numaralarında yazım hatalarını tespit etmek için dünya genelinde kullanılır. TC Kimlik Numarası’nda bu algoritma şu faydaları sağlar:

  • Hızlı doğrulama: Bir numaranın geçerli olup olmadığı, resmi NVİ servisine sormadan bileşen (client-side) olarak kontrol edilebilir. Bu, form doğrulama akışlarında gereksiz sunucu isteklerini önler.
  • Hata yakalama: Yanlış yazılan tek bir hane, numarayı anında geçersiz kılar. Yanlışlıkla iki hane yer değiştirildiğinde (transposition error) bile algoritma bunu %100 oranında yakalar.
  • Veri bütünlüğü: Veritabanına kaydedilen TC Kimlik Numaraları, algoritma ile ön-kontrol edilerek hatalı verilerin sisteme girmesi engellenir.

Önemli Not: Bu algoritma bir numaranın yapısal olarak geçerli olup olmadığını kontrol eder. Bir numaranın gerçekten bir vatandaşa ait olduğunu doğrulamak için NVİ’nin resmi TC Kimlik No Doğrulama servisi kullanılmalıdır.


Yazılım Geliştirmede Test Verisi Olarak TC Kimlik No

Yazılım projelerinde — özellikle e-ticaret, bankacılık, sağlık ve kamu hizmetlerine yönelik uygulamalarda — TC Kimlik Numarası alanı içeren formların test edilmesi gerekir. Ancak bu testlerde gerçek kişilere ait TC Kimlik Numaralarının kullanılması, KVKK (Kişisel Verilerin Korunması Kanunu) açısından ciddi bir risktir.

Bu sorunu çözmek için, yukarıda açıklanan algoritma kullanılarak gerçek kişilere ait olmayan, ancak yapısal olarak geçerli test numaraları üretilebilir. Bu numaralar:

  • Algoritmik olarak doğrulamadan geçer (10. ve 11. hane doğru hesaplanmıştır)
  • Herhangi bir gerçek vatandaşa karşılık gelmeleri garanti edilmez
  • Form doğrulama (validation) mantığının test edilmesi için idealdir
  • Veritabanı seed (tohum) verisi olarak kullanılabilir

Sitemizdeki TC No Üret aracı tam olarak bu amaçla geliştirilmiştir. Ayrıca çeşitli programlama dillerinde kendi test numaranızı nasıl üreteceğinizi aşağıdaki rehberlerden öğrenebilirsiniz:


Sıkça Sorulan Sorular

S: TC Kimlik Numarası algoritması resmî olarak yayınlanmış mıdır?

Algoritmanın matematiksel yapısı (kontrol basamakları mantığı) kamuoyu tarafından çözümlenmiş ve yaygın olarak kullanılmaktadır. NVİ, algoritmanın detaylarını resmî bir belge ile yayınlamamış olsa da, doğrulama formülü uzun yıllardır bilinen ve doğruluğu test edilmiş bir yöntemdir.

S: Algoritmik olarak geçerli bir numara, gerçek bir vatandaşa ait olabilir mi?

Evet, teorik olarak mümkündür. Rastgele üretilen bir numara tesadüfen gerçek bir vatandaşın numarasıyla çakışabilir. Bu nedenle üretilen test numaralarının sadece test amaçlı kullanılması ve gerçek işlemlerde kullanılmaması önemlidir.

S: 10. ve 11. hane neden bu kadar karmaşık bir formülle hesaplanıyor?

Kontrol basamakları, en sık yapılan yazım hatalarını (tek hane yanlış yazma, iki hane yer değiştirme) yakalamak için optimize edilmiştir. Formüldeki 7 ve mod 10 işlemleri, bu hata türlerini en yüksek olasılıkla tespit edecek şekilde tasarlanmıştır.

S: Yabancı kimlik numarası (YKN) aynı algoritmayı mı kullanır?

Yabancı kimlik numaraları 11 haneli olsa da, farklı bir numara serisinden tahsis edilir ve benzer ancak aynı olmayan kurallara tabidir. Bu makaledeki algoritma yalnızca T.C. vatandaşlarına verilen kimlik numaraları için geçerlidir.


Özet

T.C. Kimlik Numarası, üç temel matematiksel kurala dayanan bir kontrol basamağı algoritması kullanır:

  1. 10. hane: Tek sıradaki hanelerin toplamının 7 katı ile çift sıradaki hanelerin toplamı arasındaki farkın birler basamağı
  2. 11. hane: İlk 10 hanenin toplamının birler basamağı
  3. İlk hane sıfır olamaz, son hane çifttir

Bu kurallar sayesinde, yazılım geliştiriciler form doğrulama mantığını sunucuya gitmeden bileşen tarafında çalıştırabilir, veritabanı testleri için güvenli test verileri üretebilir ve kullanıcı hatalarını anında yakalayabilir.

İlgili İçerikler


Bu makale eğitim ve test amaçlıdır. Resmi işlemler için her zaman Nüfus ve Vatandaşlık İşleri Genel Müdürlüğü’nün resmi kaynaklarını kullanınız.