UUID Oluşturucu
Bu UUID oluşturucu ile anında rastgele bir UUID v4 veya zaman sıralı bir UUID v7 oluşturun ya da tek seferde 10.000'e kadar üretin. Çevrimiçi GUID oluşturma için de kullanılır: yeni bir GUID de aynı türden 128 bitlik bir değerdir. Sürümünü, oluşturulma zamanını ve her alanını çözmek için herhangi bir UUID yapıştırın.
Renkli basamak sürümdür: her UUID'de üçüncü grubun ilk basamağı.
crypto.getRandomValues ile tarayıcınızda oluşturulur ve okunur; hiçbir şey gönderilmez.
UUID nedir ve UUID neyin kısaltmasıdır?
UUID, Universally Unique Identifier'ın (Evrensel Benzersiz Tanımlayıcı) kısaltmasıdır: herhangi bir bilgisayarın kendi başına oluşturabildiği ve yine de başka hiçbir bilgisayarın aynısını oluşturmayacağını varsayabildiği 128 bitlik bir etiket. Beş gruba ayrılmış 32 onaltılık basamakla yazılır, örneğin 919108f7-52d1-4320-9bac-f847db4148a8.
Biçim, RFC 4122'nin yerini alan ve 6, 7 ve 8 sürümlerini ekleyen RFC 9562 (Mayıs 2024) ile tanımlanır. UUID dağıtan merkezi bir kayıt yoktur: benzersizlik, sürüme göre rastgelelikten, bir zaman damgasından veya bir adın hash'lenmesinden gelir.
Veritabanları onları birincil anahtar, API'ler istek ve nesne kimliği, işletim sistemleri de diskler, bölümler ve yazılım bileşenleri için kullanır. GUID (Globally Unique Identifier, Küresel Benzersiz Tanımlayıcı), Microsoft'un aynı şey için kullandığı addır.
UniversallyUniqueIDentifier
- 128 bit
- 16 bayt
- 32 onaltılık basamak
- 36 tirelerle birlikte karakter
919108f7-52d1-4320-9bac-f847db4148a8
GUIDMicrosoft'un aynı değer için kullandığı ad

Bir sürüm seçinRastgele v4, zaman sıralı v7, ada dayalı v5 ve diğerleri; her birinin kendi rengi var.Tek tıkKopyalayın veya yenisini oluşturun; 10.000'e kadar UUID'lik bir toplu üretim metin, CSV, JSON veya SQL olarak çıkar.Her alanRFC 9562'nin bu sürüm için tanımladığı bitler; bir v7'nin taşıdığı zaman okunmuş olarak.Her biçimSüslü parantez, tiresiz, büyük harf, Base64url, tam sayı veya .NET bayt sırası.UUID biçimi ve uzunluğu: 36 karakter
Bir UUID 128 bittir; 8, 4, 4, 4 ve 12'lik gruplar hâlinde 32 onaltılık basamak ve 4 tireyle yazılır: 36 karakter. Üçüncü grubun ilk basamağı sürümdür, dördüncü grubun ilk basamağı ise varyantı gösterir: RFC 9562 UUID'lerinde 8, 9, a veya b.
Yani 017f22e2-79b0-7cc3-98c4-dc0c0c07398f, RFC varyantında bir sürüm 7 UUID'dir. Büyük, küçük ve karışık harf geçerlidir; çoğu araç küçük harf, macOS uuidgen ise büyük harf yazdırır. Tiresiz 32 karakter, süslü parantez içinde 38 (.NET'in B biçimi), urn:uuid: olarak 45, Base64url'de ise 22 karakterdir.
RFC biçimini denetleyen bir düzenli ifade, büyük/küçük harf duyarsız bayrakla: ^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$. Geçerli ama özel olan Nil ve Max UUID'leri reddeder; yukarıdaki çözücü bunları adlarıyla gösterir.
32 onaltılık basamak + 4 tire = 36 karakter
xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxxM sürüm: 1–8N varyant: 8, 9, a veya b^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$- Standart36
- Tiresiz32
- Süslü parantez {…}38
- urn:uuid:45
- Base64url22
- Base6424
- Base5821
- Base3226
- Tam sayıen fazla 39
- İkili16 bayt
UUID sürümleri: v1'den v8'e
Sürüm, bir UUID'nin nasıl oluşturulduğunu söyler: v4 rastgele bitlerden, v7 zaman ve rastgele bitlerden, v1 ve v6 bir zaman damgası ve bir düğüm kimliğinden, v3 ve v5 bir adın hash'lenmesiyle, v8 ise üreticinin kendi düzeniyle.
Sürüm 2 ve 0 burada oluşturulmaz: v2 (DCE Security) ayrılmıştır ve RFC 9562 düzenini tanımlamaz, 0 ise bir sürüm değildir. İki özel değerin sürümü yoktur: Nil UUID tümüyle sıfırlardan, Max UUID ise tümüyle birlerden oluşur (ffffffff-ffff-ffff-ffff-ffffffffffff, RFC 9562 ile gelen yeni değer).
RFC 9562, yeni sistemler için v1 ve v6 yerine v7'yi, v3 yerine de v5'i önerir. Değerin ne zaman oluşturulduğu hakkında hiçbir şey söylememesi gerektiğinde v4 sade seçenek olmayı sürdürür.
- zaman
- rastgele
- hash
- saat dizisi
- düğüm
- sürüm
- varyant
UUID v4 mü, v7 mi: hangisini kullanmalısınız?
Veritabanı anahtarları ve sıraladığınız veya indekslediğiniz her şey için v7 kullanın: oluşturulma zamanıyla başlar, bu yüzden yeni satırlar indeksin sonuna eklenir. Kimliğin ne zaman oluşturulduğunu açığa vurmaması gerekiyorsa v4 kullanın: 122 serbest bitinin tümü rastgeledir.
Rastgele v4 anahtarları her eklemeyi B-tree indeksinin her yerine dağıtır; bu da sayfaları böler ve indeksin daha büyük bir kısmını bellekte sıcak tutar. v7 anahtarları ise otomatik artan bir sayı gibi sırayla gelir, ama her sunucu onları bir veritabanına sormadan üretebilir. Bir v7 milisaniye başına 74 rastgele bit taşır, bu yüzden aynı anda birer tane üreten iki sunucu bile çakışmaz.
Bedeli şu: bir v7'yi gören herkes onun oluşturulduğu milisaniyeyi okuyabilir (birini yukarıdaki çözücüye yapıştırın). Bu önemliyse v4 kullanın ya da v7'yi içeride tutup dışarıya farklı bir kimlik gösterin.
c100eb4b-4f3f-4b29-ad77-da7cd9d1eda592c97333-2db8-4fc2-b5b6-cedd8c7abede01a16d3e-e1c0-70f6-99ec-6d454991b2fa01a16d3e-e1c0-70f6-99ec-6d45c2f6b35b- zaten indekste
- boş
- yeni v4
- yeni v7
- sayfa bölünmesi: anahtarlarının yarısı yeni bir sayfaya taşınır
GUID ile UUID arasında fark var mı?
GUID ve UUID, aynı metin biçimindeki aynı 128 bitlik değerdir; GUID, Microsoft'un ona verdiği addır. .NET'te Guid.NewGuid() rastgele bir sürüm 4 UUID, .NET 9'daki Guid.CreateVersion7() ise bir sürüm 7 UUID oluşturur.
Fark bellektedir. Microsoft'un GUID yapısı ilk üç grubu little-endian tam sayılar olarak saklar; bu yüzden .NET'in ToByteArray() yöntemi ilk 8 baytı RFC 9562'nin ağ bayt sırasından farklı bir sırayla verir: 919108f7-52d1-…, f7 08 91 91 d1 52 … baytlarına dönüşür. Metin aynıdır; sistemler arasında taşınan ham baytların dönüştürülmesi gerekir. Çözücü iki sırayı da gösterir.
SQL Server'ın uniqueidentifier türü de önce son altı baytına göre sıralar, bu yüzden v7 değerleri orada zaman sırasında kalmaz; NEWSEQUENTIALID() sırada kalan değerler üretir, ancak bunlar yeniden başlatmadan sonra daha düşük bir değerden yeniden başlayabilir ve tahmin edilmeleri kolaydır. Eski COM GUID'leri, RFC 9562'nin varyant bitleri yerine Microsoft'un kendi varyant bitlerini taşıyabilir; çözücü bu varyantı adıyla gösterir.
919108f7-52d1-4320-9bac-f847db4148a8- Data1 · 4 bayt, ters
- Data2 · ters
- Data3 · ters
- Data4 · olduğu gibi
Kodda UUID nasıl oluşturulur?
Çoğu dil tek satırda bir v4 UUID oluşturur ve birçoğu artık v7 de üretir: Python 3.14'teki uuid.uuid7(), .NET 9'daki Guid.CreateVersion7(), Java 26'daki UUID.ofEpochMillis(), Go 1.27'deki uuid.NewV7(), Node.js 26.1'deki crypto.randomUUIDv7() ve PostgreSQL 18'deki uuidv7(). Tarayıcılarda ise hâlâ yalnızca bir v4 üreten crypto.randomUUID() var.
Tek satırlık kod için dilinizi seçin. Her v7 uygulaması aynı milisaniyede oluşturulan UUID'leri sırada tutmaz: Python'unki ve Go'nunki tutar, .NET'inki ve Node'unki bunu garanti etmez. Ayrıca MySQL'in UUID() işlevi bir sürüm 1 UUID döndürür; bu UUID Linux ve Windows'ta sunucunun gerçek MAC adresini taşır.
Dillere göre yerleşik UUID işlevleri
import uuid
uuid.uuid4() # v4
uuid.uuid7() # v7, Python 3.14+
uuid.uuid5(uuid.NAMESPACE_DNS, "www.example.com") # v5
uuid7() 42 bitlik bir sayaç tutar, bu yüzden aynı milisaniyedeki UUID'ler sırada kalır.
İki UUID aynı olabilir mi?
Teoride evet, pratikte hayır: bir v4 UUID'nin 122 rastgele biti vardır, yani yaklaşık 5,3 × 10³⁶ olası değer. Herhangi ikisinin eşleşmesi için milyarda bir olasılığa ulaşmak üzere yaklaşık 103 trilyon UUID, eşit olasılık için ise yaklaşık 2,7 × 10¹⁸ UUID üretmeniz gerekir.
Bu, doğum günü sınırıdır: N değer arasından seçilen n rastgele değerde tekrar olasılığı yaklaşık olarak 1 − e^(−n(n−1)/2N) olur. Saniyede bir milyar UUID üretildiğinde %50 olasılığa ulaşmak yaklaşık 86 yıl sürer. Gerçek yinelenenler bozuk üreteçlerden gelir: rastgele olmayan bir tohum, rastgele durumuyla birlikte klonlanan bir sanal makine veya elle kopyalanan kimlikler.
v7'de yalnızca aynı milisaniyede oluşturulan UUID'ler eşleşebilir ve 74 rastgele bit bunları birbirinden ayırır. Buradaki üreteç ayrıca bir toplu üretimi tek bir milisaniye içinde de sırada tutar (RFC 9562 §6.2); böylece tek seferde üretilen 10.000 UUID benzersiz ve sıralıdır.
Saniyede bir milyar hızla bu kadarını üretmek 1 saniye sürer.
UUID çözücü: bir UUID'nin zaman damgası nasıl okunur?
Bir UUID'yi yukarıdaki UUID çözücü ve doğrulayıcıya, yani Çöz ve doğrula sekmesine yapıştırın: sürümü ve varyantı iki sabit yerden, ardından o sürümün tanımladığı alanları okur. Bir v7 oluşturulduğu milisaniyeyi, bir v1 veya v6 ise 100 nanosaniyeye kadar zamanı, bir saat dizisini ve bir düğüm kimliğini verir.
Çok noktaya yayın biti 0 olan bir v1 veya v6 düğümü, ağ kartının gerçek MAC adresi olabilir; üreticisini MAC adresi sorgulama aracında bulun. Gizliliğe önem veren üreteçler bu biti 1 yapar ve rastgele bir düğüm kullanır; bu üreteç de öyle yapar.
Zaman, üretecin yazdığı zamandır; UUID'nin ne zaman oluşturulduğunun kanıtı değildir. v4 zaman değil yalnızca rastgele bitler taşır; v3, v5 ve v8 ise hash taşır: geri okunacak bir şey yoktur ve bir hash ada geri çevrilemez. Tek seferde 1.000'e kadar UUID'yi denetlemek için bir liste yapıştırın: geçersiz satırlar, yinelenenler ve zamana dayalı UUID'lerin sırada olup olmadığı.
017f22e2-79b0-7cc3-98c4-dc0c0c07398f- unix_ts_ms
0x017f22e279b0 - 1970'ten beri ms
1 645 557 742 000 - UTC
2022-02-22T19:22:22.000Z
c232ab00-9414-11ec-b3c8-9f6bdeced846- time_high · time_mid · time_low
1ec 9414 c232ab00 - 1582-10-15'ten beri 100 ns'lik adımlar
138 648 505 420 000 000 - UTC
2022-02-22T19:22:22.0000000Z
Aynı an: RFC 9562'nin örnekleri birlikte oluşturuldu.
Ada dayalı UUID'ler: v5 ve v3
Bir v5 UUID, bir ad alanı UUID'si ile bir adın SHA-1 hash'idir; sürüm ve varyant ayarlanarak 128 bite kısaltılır. v3 aynısını MD5 ile yapar. Aynı ad alanı ve ad, her bilgisayarda her zaman aynı UUID'yi verir: bu sayfayı bir UUID v5 oluşturucu olarak kullanmak için yukarıda v5'i seçin.
RFC 9562 dört ad alanı tanımlar: alan adları için DNS, URL, OID ve X.500. Yani DNS ad alanındaki www.example.com, v5 olarak her zaman 2ed6657d-e927-568b-95e1-2665a8aea6a2 olur. Zaten benzersiz bir adı olan bir şeye, bir eşleme tablosu saklamadan kalıcı bir kimlik vermek için ada dayalı UUID'leri kullanın.
v3 yerine v5'i seçin: MD5 daha zayıftır ve RFC 9562 v5'i önerir. İkisi de adı gizlemenin bir yolu değildir: adı tahmin edebilen herkes aynı UUID'yi hesaplayabilir. Buradaki v8 seçeneği, RFC'nin kendi v8 örneğinde olduğu gibi SHA-256'yı aynı şekilde kullanır.
- Ad alanı
6ba7b810-9dad-11d1-80b4-00c04fd430c8DNS · 16 bayt - Ad
"www.example.com"UTF-8 · 15 bayt - SHA-1 özeti, 160 bit
2ed6657de927468b55e12665a8aea6a22dee3e35ilk 128 bit tutulur - Elde edilen UUID
2ed6657d-e927-568b-95e1-2665a8aea6a2sürüm basamağı 4 → 5 · varyant basamağı 5 → 9
- DNS
6ba7b810… - URL
6ba7b811… - OID
6ba7b812… - X.500
6ba7b814…
ULID ile UUID v7 (ve diğer kimlikler)
ULID ve UUID v7'nin ikisi de 48 bitlik bir milisaniye zaman damgasıyla başlar ve zamana göre sıralanır. Fark şu: ULID kalan 80 bitinin tümünü rastgelelik için kullanır ve 26 Base32 karakteriyle yazılır; v7 ise 6 bitini sürüm ve varyanta ayırır ve her UUID sütununa ve kütüphanesine uyar.
Veritabanınız, ORM'niz veya API'niz zaten UUID kullanıyorsa v7 size yeni bir tür gerektirmeden zaman sırası verir. NanoID ve benzeri kısa kimlikler, seçilen uzunlukta rastgele dizelerdir; zaman bilgisi ve standart bir düzenleri yoktur. Her UUID daha kısa da yazılabilir: Base64url'de 22 karakter, Base58'de en fazla 22.
- 1970'ten beri milisaniye
- rastgele
- sürüm ve varyant
UUID'ler token olarak kullanılmak için güvenli mi?
Hayır. RFC 9562, UUID'lerin tahmin edilmesinin zor olduğunu varsaymamayı ve birini asla güvenlik yetkisi (security capability) olarak kullanmamayı söyler: şifre sıfırlama bağlantısı veya API anahtarı gibi, elde bulundurulması erişim sağlayan bir kimlik.
İyi bir üreteçten gelen bir v4 rastgeledir, ancak bir v1, v6 veya v7 oluşturulma zamanını açığa vurur, bir v3 veya v5 ise adından yeniden hesaplanabilir. Gizli bilgiler için bu iş için yapılmış bir token (örneğin kriptografik bir üreteçten 256 rastgele bit) kullanın ve her istekte yetkiyi denetleyin. Erişim ayrıca denetlendiğinde UUID'ler herkese açık kimlik olarak kullanılabilir.
UUID oluşturucu: sorular ve cevaplar
UUID nasıl oluşturulur?
crypto.randomUUID(), Python'da uuid.uuid4() ve C#'ta Guid.NewGuid() tek satırda birer v4 oluşturur.UUID neyin kısaltmasıdır?
GUID ile UUID aynı şey mi?
Hangi UUID sürümünü kullanmalıyım?
İki UUID hiç aynı olabilir mi?
Bir UUID çözülebilir mi?
Bir UUID kaç karakterdir?
Boş GUID veya Nil UUID nedir?
UUID v7 sıralanabilir mi?
UUID'yi şifre veya erişim token'ı olarak kullanmak güvenli mi?
Burada oluşturulan UUID'ler bir yere gönderiliyor mu?
Eksik bir şey mi var?Bir özellik ya da yeni bir araç önerin
İlgili araçlar
Şifre Oluşturucu
Tarayıcınızda güçlü rastgele şifreler, parola ifadeleri ve PIN'ler üretin; tam bit değeri ve kırılma süresiyle
MAC Adresi Sorgulama
IEEE veritabanı ile MAC adresinden cihaz üreticisini belirleyin
Alt Ağ Hesaplayıcı
Her IPv4 veya IPv6 bloğu için ağ, yayın adresi, kullanılabilir hostlar ve maskeler; VLSM, bölme ve bulut alt ağları
Görünmez Harf
Görünmez harf veya boş karakter kopyalayıp yapıştırın, metindeki gizli karakterleri bulun ya da silin