Temel bilgi
Yayın: 17 Temmuz 2026
7 dk okuma
UUID Nedir, Ne İşe Yarar?
Bir veritabanı kaydında, bir API yanıtında ya da bir dosya adında 550e8400-e29b-41d4-a716-446655440000 gibi tire'lerle ayrılmış uzun bir kod görmüşsünüzdür. Bu bir UUID'dir. Bu rehberde UUID'in tam olarak ne olduğunu, 128 bitlik yapısının nasıl çalıştığını ve neden merkezi bir kayıt otoritesi olmadan bile güvenle benzersiz kabul edildiğini temelden, örneklerle açıklıyoruz.
UUID nedir?
Kısa cevap
UUID (Universally Unique Identifier), 128 bit (16 bayt) uzunluğunda, merkezi bir otorite olmadan üretildiğinde bile pratikte benzersiz kabul edilen bir tanımlayıcıdır. Standart gösterimde 8-4-4-4-12 gruplarında 32 onaltılık (hex) karakter ve 4 tireden oluşur (ör. 550e8400-e29b-41d4-a716-446655440000). RFC 4122 ve güncel RFC 9562 standardı tarafından tanımlanır.
UUID'in en dikkat çekici özelliği şudur: iki farklı bilgisayar, birbirinden habersiz, aynı anda, hiçbir merkezi sunucuya danışmadan UUID üretse bile bu iki değerin çakışma olasılığı istatistiksel olarak ihmal edilebilir düzeydedir. Bu, bir bilet gişesindeki sıra numarasından tamamen farklı bir yaklaşımdır — sıra numarası için mutlaka merkezi bir sayaç gerekir, UUID için gerekmez. Kendi UUID'nizi UUID Üretici aracıyla saniyeler içinde deneyebilirsiniz.
UUID'in 128 bitlik yapısı nasıldır?
Kısa cevap
128 bit; time_low, time_mid, time_hi_and_version, clock_seq_hi_and_reserved, clock_seq_low ve node olmak üzere altı alana bölünür. 13. hex karakteri versiyonu (1, 3, 4, 5 veya 7), 17. karakterin ilk bitleri ise varyantı (RFC 4122 uyumluluğunu) belirtir; kalan bitler versiyona göre zaman damgası veya rastgelelik taşır.
Aşağıdaki tablo, örnek bir UUID'nin (550e8400-e29b-41d4-a716-446655440000) hangi karakter grubunun neyi temsil ettiğini gösterir:
Örnek UUID'in alan yapısı (v4)
| Grup | Değer | Anlamı |
| 1. grup (8 hex) | 550e8400 | time_low (v4'te rastgele) |
| 2. grup (4 hex) | e29b | time_mid (v4'te rastgele) |
| 3. grup (4 hex) | 41d4 | İlk karakter "4" = versiyon numarası |
| 4. grup (4 hex) | a716 | İlk karakter "a" (10xx) = RFC 4122 varyantı |
| 5. grup (12 hex) | 446655440000 | node (v4'te rastgele) |
Kaynak: RFC 4122 §4.1 alan tanımları. Versiyon ve varyant konumu tüm UUID versiyonlarında sabittir; içerikleri versiyona göre değişir.
Neden tam 128 bit? 128 bit, 2128 (yaklaşık 3,4 × 1038) olası değer demektir. v4 gibi tamamen rastgele versiyonlarda versiyon/varyant için ayrılan 6 bit düşüldüğünde bile geriye 122 rastgele bit kalır — bu, dünya üzerindeki her cihazın saniyede milyarlarca UUID üretmesi durumunda bile pratik bir çakışma riski oluşturmayacak kadar geniş bir alandır.
UUID ne işe yarar? Gerçek kullanım alanları
Kısa cevap
UUID; veritabanı birincil anahtarları, dosya/oturum kimlikleri, dağıtık sistemlerde merkezi koordinasyon olmadan benzersiz kayıt üretme, API istek izleme (request ID/correlation ID) ve mikroservisler arası kimlik eşleme gibi işlerde kullanılır.
UUID'in yaygın kullanıldığı alanlar
| Kullanım alanı | UUID ne sağlar? |
| Veritabanı birincil anahtarı | Birden fazla sunucu/istemci, merkezi bir sayaca danışmadan çakışmasız kayıt oluşturabilir. |
| Dağıtık sistemler / mikroservisler | Servisler birbirinden bağımsız kimlik üretebilir; senkronizasyon gerekmez. |
| Oturum (session) kimlikleri | Tahmin edilemeyen, tekrar üretilemeyen kullanıcı oturum tanımlayıcıları. |
| Dosya/nesne adlandırma | Yüklenen dosyalara çakışmasız, benzersiz ad verme (ör. bulut depolama). |
| API istek izleme (tracing) | Bir isteği birden fazla servis/log arasında aynı kimlikle takip etme. |
| Test/geliştirme verisi | Sahte ama gerçekçi, çakışmayan kimlikler üretme. |
Bu kullanım alanlarının ortak paydası şudur: merkezi bir koordinasyon noktası olmadan benzersizlik gerekiyor. Otomatik artan bir sayaç (auto-increment) kullanmak isterdiniz belki, ama iki farklı sunucu aynı anda kayıt eklerse çakışma riski doğar. UUID bu problemi ortadan kaldırır — her taraf, diğerine danışmadan kendi kimliğini üretir.
Benzersiz içgörü
UUID'in "merkezi otorite gerektirmemesi" özelliği, dağıtık sistemlerin en temel problemlerinden birini çözer: koordinasyon maliyeti. Klasik bir auto-increment sütununda, iki sunucu aynı anda kayıt eklemek istediğinde hangi sunucunun hangi numarayı alacağını belirlemek için bir koordinasyon mekanizması (kilitleme, merkezi sayaç servisi) gerekir. UUID'de bu mekanizmaya hiç ihtiyaç yoktur — bu da UUID'i özellikle çok sunuculu, çok bölgeli (multi-region) sistemlerde tercih sebebi yapar.
Hemen bir UUID üretin
v4 rastgele, v1-benzeri, v3/v5 isim tabanlı ve v7 zaman sıralı UUID üretimi — 1000 adede kadar toplu, tamamen tarayıcınızda.
UUID Üreticiyi Aç →
UUID versiyonları kısaca
Kısa cevap
RFC 4122/9562, kaynak verisine göre birden fazla UUID versiyonu tanımlar: v1 (zaman damgası + node), v3/v5 (namespace + isim, deterministik), v4 (tamamen rastgele, en yaygın) ve v7 (zaman sıralı, veritabanı dostu). Her versiyon farklı bir problemi çözmek için tasarlanmıştır.
Pratikte en sık karşılaşacağınız versiyon v4'tür çünkü basittir ve hiçbir bilgi sızdırmaz. Ancak veritabanı birincil anahtarı gibi performansın önemli olduğu senaryolarda v7 tercih edilir. Bu versiyonlar arasındaki teknik farkları ve hangisini ne zaman seçmeniz gerektiğini "UUID Sürümleri Arasındaki Fark (v1, v4, v5)" rehberimizde ayrıntılı olarak karşılaştırdık.
NIL UUID nedir?
Tüm 128 biti sıfır olan özel bir UUID de tanımlanmıştır: 00000000-0000-0000-0000-000000000000. Bu, "değer yok" veya "boş" durumunu ifade etmek için kullanılır — tıpkı bir sayısal alanda null veya 0 kullanmak gibi. Bu değeri UUID Üretici'deki NIL UUID mini aracıyla görüntüleyebilirsiniz.
GUID ile UUID arasındaki fark nedir?
Kısa cevap
GUID (Globally Unique Identifier), Microsoft'un aynı 128-bit yapıya verdiği isimdir; teknik olarak UUID ile aynı standarda (RFC 4122) dayanır ve aynı algoritmalarla üretilir. Pratikteki tek fark genelde gösterim biçimidir: .NET ortamında GUID'ler sık sık süslü parantez içinde ({550e8400-...-440000}) gösterilir.
Yani "UUID mi GUID mi kullanmalıyım" sorusunun teknik bir cevabı yoktur — ikisi de aynı şeydir, isim farkı ekosistemden gelir (Unix/web dünyası "UUID", .NET/Windows dünyası "GUID" der). Bu araçta "Süslü parantez (.NET GUID)" format seçeneğiyle istediğiniz gösterimi üretebilirsiniz.
Sık sorulan sorular
UUID nedir?
UUID (Universally Unique Identifier), 128 bit (16 bayt) uzunluğunda, merkezi otorite olmadan üretildiğinde bile pratikte benzersiz kabul edilen bir tanımlayıcıdır. Standart gösterimde 8-4-4-4-12 biçiminde 32 hex karakter ve 4 tireden oluşur. RFC 4122/9562 tarafından tanımlanır.
UUID'in 128 bitlik yapısı nasıldır?
128 bit altı alana bölünür (time_low, time_mid, time_hi_and_version, clock_seq_hi_and_reserved, clock_seq_low, node). 13. hex karakteri versiyonu, 17. karakterin ilk bitleri varyantı belirtir; kalan bitler versiyona göre zaman damgası veya rastgelelik taşır.
UUID ne işe yarar?
Veritabanı birincil anahtarları, dosya/oturum kimlikleri, dağıtık sistemlerde merkezi koordinasyon olmadan benzersiz kayıt üretme, API istek izleme ve mikroservisler arası korelasyon kimliği gibi işlerde kullanılır.
GUID ile UUID arasındaki fark nedir?
GUID, Microsoft'un aynı 128-bit yapıya verdiği isimdir; aynı RFC 4122 standardına dayanır. Tek fark genelde gösterim biçimidir: .NET'te GUID'ler sık sık süslü parantez içinde ({...}) gösterilir.
İki UUID çakışabilir mi?
Teorik olarak evet ama pratikte ihmal edilebilir düzeydedir. v4 UUID'de 122 bit rastgele üretilir; %50 çakışma olasılığına ulaşmak için yaklaşık 2,71 kentilyon UUID üretilmesi gerekir.
UUID kaç karakter uzunluğundadır?
Standart gösterimde 32 hex karakter + 4 tire = 36 karakter. Tire-siz gösterimde 32, süslü parantezli (.NET GUID) gösterimde 38 karakterdir.
Metodoloji & kaynaklar. Bu yazıdaki örnek UUID ve alan ayrıştırması, BirAraçta'nın açık UUID üretici aracıyla üretilmiş ve RFC 4122 §4.1'deki alan tanımlarına göre doğrulanmıştır. Kaynaklar: RFC 4122 (A Universally Unique IDentifier) · RFC 9562 (güncel UUID standardı) · W3C Web Cryptography API. Son güncelleme: 17 Temmuz 2026. Yazı bilgilendirme amaçlıdır; kritik mimari kararlar için kendi sisteminizin gereksinimlerini test etmenizi öneririz.