Generator UUID
Buat UUID v4 acak atau UUID v7 berurutan waktu secara instan, atau hingga 10.000 sekaligus. Ini juga generator GUID online: GUID baru adalah jenis nilai 128 bit yang sama. Tempel UUID apa pun untuk mendekode versi, waktu pembuatan, dan setiap field-nya.
Digit berwarna adalah versinya: digit pertama grup ketiga di setiap UUID.
Dibuat dan dibaca di browser Anda dengan crypto.getRandomValues; tidak ada yang dikirim.
Apa itu UUID, dan apa kepanjangannya?
UUID adalah singkatan dari Universally Unique Identifier: label 128 bit yang bisa dibuat komputer mana pun secara mandiri, dengan harapan tidak ada komputer lain yang membuat label yang sama. UUID ditulis sebagai 32 digit heksadesimal dalam lima grup, seperti 919108f7-52d1-4320-9bac-f847db4148a8.
Formatnya didefinisikan oleh RFC 9562 (Mei 2024), yang menggantikan RFC 4122 dan menambahkan versi 6, 7, dan 8. Tidak ada registri pusat yang membagikan UUID: keunikannya berasal dari keacakan, dari timestamp, atau dari hash sebuah nama, tergantung versinya.
Database memakainya sebagai primary key, API sebagai ID request dan objek, sistem operasi untuk disk, partisi, dan komponen software. GUID (Globally Unique Identifier) adalah sebutan Microsoft untuk hal yang sama.
UniversallyUniqueIDentifier
- 128 bit
- 16 byte
- 32 digit hex
- 36 karakter beserta tanda hubung
919108f7-52d1-4320-9bac-f847db4148a8
GUIDSebutan Microsoft untuk nilai yang sama

Pilih versiv4 acak, v7 berurutan waktu, v5 berbasis nama, dan lainnya, masing-masing dengan warnanya sendiri.Satu klikSalin, atau buat yang baru; batch hingga 10.000 bisa diambil sebagai teks, CSV, JSON, atau SQL.Setiap fieldBit-bit yang didefinisikan RFC 9562 untuk versi ini, lengkap dengan waktu yang dibawa v7.Format apa punKurung kurawal, tanpa tanda hubung, huruf besar, Base64url, bilangan bulat, atau urutan byte .NET.Format dan panjang UUID: 36 karakter
UUID berukuran 128 bit, ditulis sebagai 32 digit hex dan 4 tanda hubung dalam grup 8, 4, 4, 4, dan 12: 36 karakter. Digit pertama grup ketiga adalah versinya, dan digit pertama grup keempat menunjukkan variannya: 8, 9, a, atau b untuk UUID RFC 9562.
Jadi 017f22e2-79b0-7cc3-98c4-dc0c0c07398f adalah versi 7, varian RFC. Huruf besar, huruf kecil, dan campuran keduanya sama-sama valid; sebagian besar alat mencetak huruf kecil, sedangkan uuidgen di macOS mencetak huruf besar. Tanpa tanda hubung panjangnya 32 karakter, dalam kurung kurawal 38 (format B di .NET), sebagai urn:uuid: 45, dan dalam Base64url 22.
Regular expression untuk memeriksa bentuk RFC: ^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ dengan flag case-insensitive. Regex ini menolak UUID Nil dan Max, yang valid tetapi khusus; dekoder di atas menyebutkan namanya.
32 digit hex + 4 tanda hubung = 36 karakter
xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxxM versi: 1–8N varian: 8, 9, a, atau b^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$- Standar36
- Tanpa tanda hubung32
- Kurawal {…}38
- urn:uuid:45
- Base64url22
- Base6424
- Base5821
- Base3226
- Bilangan bulathingga 39
- Biner16 byte
Versi UUID dijelaskan: v1 sampai v8
Versi menunjukkan cara UUID dibuat: v4 dari bit acak, v7 dari waktu ditambah bit acak, v1 dan v6 dari timestamp dan ID node, v3 dan v5 dengan meng-hash sebuah nama, dan v8 dengan tata letak rancangan pembuatnya sendiri.
Versi 2 dan 0 tidak dibuat di sini: v2 (DCE Security) dicadangkan dan RFC 9562 tidak mendefinisikan tata letaknya, sedangkan 0 bukan versi. Dua nilai khusus tidak punya versi: semua bit UUID Nil bernilai nol dan semua bit UUID Max bernilai satu (ffffffff-ffff-ffff-ffff-ffffffffffff, baru di RFC 9562).
Untuk sistem baru, RFC 9562 merekomendasikan v7 daripada v1 dan v6, serta v5 daripada v3. v4 tetap pilihan yang sederhana jika nilainya tidak boleh mengungkap apa pun tentang kapan ia dibuat.
- waktu
- acak
- hash
- urutan jam
- ID node
- versi
- varian
UUID v4 vs v7: mana yang sebaiknya dipakai?
Pakai v7 untuk key database dan apa pun yang Anda urutkan atau indeks: v7 diawali waktu pembuatan, jadi baris baru masuk di ujung indeks. Pakai v4 jika ID tidak boleh mengungkap kapan ia dibuat: seluruh 122 bit bebasnya acak.
Key v4 yang acak menyebarkan setiap insert ke seluruh indeks B-tree, sehingga halaman indeks terpecah (page split) dan lebih banyak bagian indeks harus tetap ada di memori; key v7 datang berurutan seperti angka auto-increment, tetapi server mana pun bisa membuatnya tanpa bertanya ke database. v7 menyimpan 74 bit acak per milidetik, jadi dua server yang membuatnya pada saat yang sama tetap tidak bertabrakan.
Konsekuensinya: siapa pun yang melihat v7 bisa membaca milidetik pembuatannya (tempel satu di dekoder di atas). Jika itu penting, pakai v4, atau pakai v7 hanya di internal dan tampilkan ID lain ke publik.
c100eb4b-4f3f-4b29-ad77-da7cd9d1eda592c97333-2db8-4fc2-b5b6-cedd8c7abede01a16d3e-e1c0-70f6-99ec-6d454991b2fa01a16d3e-e1c0-70f6-99ec-6d45c2f6b35b- sudah ada di indeks
- kosong
- v4 baru
- v7 baru
- halaman terpecah: separuh key-nya pindah ke halaman baru
GUID vs UUID: apakah ada bedanya?
GUID dan UUID adalah nilai 128 bit yang sama dalam bentuk teks yang sama; GUID adalah sebutan dari Microsoft. Guid.NewGuid() di .NET membuat UUID versi 4 yang acak, dan Guid.CreateVersion7() di .NET 9 membuat versi 7.
Bedanya ada di memori. Struktur GUID Microsoft menyimpan tiga grup pertamanya sebagai integer little-endian, sehingga ToByteArray() di .NET memberikan 8 byte pertama dalam urutan yang berbeda dari urutan byte jaringan RFC 9562: 919108f7-52d1-… menjadi byte f7 08 91 91 d1 52 …. Teksnya sama; byte mentah yang dipindahkan antarsistem perlu dikonversi. Dekoder menampilkan kedua urutan.
uniqueidentifier di SQL Server juga diurutkan menurut enam byte terakhirnya lebih dulu, jadi nilai v7 tidak tetap berurutan waktu di sana; NEWSEQUENTIALID() membuat nilai yang tetap berurutan, meski bisa mulai dari nilai yang lebih rendah lagi setelah restart dan mudah ditebak. GUID COM lama bisa membawa bit varian milik Microsoft sendiri, bukan milik RFC 9562; dekoder menyebutkan varian itu.
919108f7-52d1-4320-9bac-f847db4148a8- Data1 · 4 byte, dibalik
- Data2 · dibalik
- Data3 · dibalik
- Data4 · apa adanya
Cara generate UUID di kode program
Sebagian besar bahasa membuat UUID v4 dalam satu baris, dan kini banyak yang juga bisa membuat v7: uuid.uuid7() di Python 3.14, Guid.CreateVersion7() di .NET 9, UUID.ofEpochMillis() di Java 26, uuid.NewV7() di Go 1.27, crypto.randomUUIDv7() di Node.js 26.1, dan uuidv7() di PostgreSQL 18. Browser masih hanya punya crypto.randomUUID(), sebuah v4.
Pilih bahasa Anda untuk melihat kode satu barisnya. Tidak setiap v7 menjaga urutan UUID yang dibuat di milidetik yang sama: milik Python dan Go menjaganya, milik .NET dan Node tidak menjaminnya. Selain itu, UUID() di MySQL mengembalikan UUID versi 1, yang di Linux dan Windows membawa alamat MAC asli server.
Fungsi UUID bawaan, per bahasa
import uuid
uuid.uuid4() # v4
uuid.uuid7() # v7, Python 3.14+
uuid.uuid5(uuid.NAMESPACE_DNS, "www.example.com") # v5
uuid7() menyimpan counter 42 bit, jadi UUID dari satu milidetik tetap berurutan.
Mungkinkah dua UUID sama?
Secara teori mungkin, dalam praktik tidak: UUID v4 punya 122 bit acak, sekitar 5,3 × 10³⁶ nilai. Anda perlu membuat sekitar 103 triliun UUID untuk mendapat peluang satu banding satu miliar bahwa ada dua yang sama, dan sekitar 2,7 kuintiliun (2,7 × 10¹⁸) untuk peluang 50:50.
Itulah batas paradoks ulang tahun (birthday bound): dengan n nilai acak dari N kemungkinan, peluang ada yang kembar sekitar 1 − e^(−n(n−1)/2N). Jika Anda membuat satu miliar UUID per detik, peluang 50% baru tercapai setelah sekitar 86 tahun. Duplikat yang nyata berasal dari generator yang rusak: seed yang tidak acak, mesin virtual yang dikloning bersama status acaknya, atau ID yang disalin manual.
Untuk v7, hanya UUID yang dibuat di milidetik yang sama yang bisa kembar, dan 74 bit acak membedakannya. Generator di sini juga menjaga urutan batch di dalam satu milidetik (RFC 9562 §6.2), jadi 10.000 UUID sekaligus tetap unik dan terurut.
Dengan satu miliar per detik, membuat sebanyak itu butuh 1 detik.
Dekoder UUID: cara membaca timestamp UUID
Tempel UUID ke Dekode & validasi, dekoder dan validator UUID di atas: alat ini membaca versi dan varian dari dua posisi tetap, lalu field yang didefinisikan versi itu. v7 memberi milidetik pembuatannya, sedangkan v1 atau v6 memberi waktu hingga 100 nanodetik ditambah urutan jam (clock sequence) dan ID node.
Node v1 atau v6 yang bit multicast-nya tidak aktif mungkin adalah alamat MAC asli kartu jaringan; cari pembuatnya dengan cek MAC address. Generator yang menghargai privasi mengaktifkan bit itu dan memakai node acak, seperti generator ini.
Waktu itu adalah yang ditulis generator, bukan bukti kapan UUID dibuat. v4 tidak menyimpan waktu, hanya bit acak, sedangkan v3, v5, dan v8 menyimpan hash: tidak ada yang bisa dibaca kembali, dan hash tidak bisa dibalik menjadi namanya. Tempel daftar untuk memeriksa hingga 1.000 UUID sekaligus: baris tidak valid, duplikat, dan apakah UUID berbasis waktu sudah berurutan.
017f22e2-79b0-7cc3-98c4-dc0c0c07398f- unix_ts_ms
0x017f22e279b0 - ms sejak 1970
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 - langkah 100 ns sejak 1582-10-15
138 648 505 420 000 000 - UTC
2022-02-22T19:22:22.0000000Z
Momen yang sama: contoh-contoh di RFC 9562 dibuat bersamaan.
UUID berbasis nama: v5 dan v3
UUID v5 adalah hash SHA-1 dari UUID namespace ditambah sebuah nama, dipotong menjadi 128 bit dengan versi dan varian ditetapkan; v3 melakukan hal yang sama dengan MD5. Namespace dan nama yang sama selalu menghasilkan UUID yang sama, di komputer mana pun: pilih v5 di atas untuk memakai halaman ini sebagai generator UUID v5.
RFC 9562 mendefinisikan empat namespace: DNS untuk nama domain, URL, OID, dan X.500. Jadi www.example.com di namespace DNS selalu menjadi 2ed6657d-e927-568b-95e1-2665a8aea6a2 sebagai v5. Pakai UUID berbasis nama untuk memberi ID yang tetap pada sesuatu yang sudah punya nama unik, tanpa menyimpan tabel pemetaan.
Pilih v5 daripada v3: MD5 lebih lemah, dan RFC 9562 merekomendasikan v5. Keduanya bukan cara untuk menyembunyikan nama: siapa pun yang bisa menebak namanya bisa menghitung UUID yang sama. Opsi v8 di sini memakai SHA-256 dengan cara yang sama, seperti contoh v8 di RFC itu sendiri.
- Namespace
6ba7b810-9dad-11d1-80b4-00c04fd430c8DNS · 16 byte - Nama
"www.example.com"UTF-8 · 15 byte - Digest SHA-1, 160 bit
2ed6657de927468b55e12665a8aea6a22dee3e35128 bit pertama diambil - UUID-nya
2ed6657d-e927-568b-95e1-2665a8aea6a2digit versi 4 → 5 · digit varian 5 → 9
- DNS
6ba7b810… - URL
6ba7b811… - OID
6ba7b812… - X.500
6ba7b814…
ULID vs UUID v7 (dan ID lainnya)
ULID dan UUID v7 sama-sama diawali timestamp milidetik 48 bit dan terurut menurut waktu. Bedanya: ULID memakai seluruh 80 bit sisanya untuk keacakan dan ditulis sebagai 26 karakter Base32, sedangkan v7 memakai 6 bit untuk versi dan variannya serta cocok dengan setiap kolom dan pustaka UUID.
Jika database, ORM, atau API Anda sudah mendukung UUID, v7 memberi urutan waktu tanpa tipe data baru. NanoID dan ID pendek sejenisnya adalah string acak dengan panjang yang dipilih, tanpa waktu dan tanpa tata letak standar. UUID apa pun juga bisa ditulis lebih pendek: 22 karakter dalam Base64url, paling banyak 22 dalam Base58.
- milidetik sejak 1970
- acak
- versi dan varian
Amankah UUID dipakai sebagai token?
Tidak. RFC 9562 menyatakan agar UUID tidak dianggap sulit ditebak, dan jangan pernah dipakai sebagai kapabilitas keamanan (security capability): ID yang memberi akses kepada siapa pun yang memegangnya, seperti tautan reset password atau API key.
v4 dari generator yang baik memang acak, tetapi v1, v6, atau v7 mengungkap waktu pembuatannya, dan v3 atau v5 bisa dihitung ulang dari namanya. Untuk rahasia, pakai token yang memang dibuat untuk itu, seperti 256 bit acak dari generator kriptografis, dan periksa izin di setiap request. UUID aman dipakai sebagai ID publik jika akses diperiksa secara terpisah.
Generator UUID: tanya jawab
Bagaimana cara generate UUID?
crypto.randomUUID() di JavaScript, uuid.uuid4() di Python, dan Guid.NewGuid() di C# masing-masing membuat v4 dalam satu baris.Apa kepanjangan UUID?
Apakah GUID sama dengan UUID?
Versi UUID mana yang sebaiknya saya pakai?
Bisakah dua UUID kembar?
Bisakah UUID didekode?
Berapa panjang UUID?
Apa itu GUID kosong (empty GUID) atau UUID Nil?
Apakah UUID v7 bisa diurutkan?
Amankah memakai UUID sebagai password atau token akses?
Apakah UUID yang dibuat di sini dikirim ke mana pun?
Ada yang kurang?Usulkan fitur atau alat baru
Alat terkait
Pembuat Kata Sandi
Buat kata sandi acak yang kuat, frasa sandi, dan PIN di browser Anda, lengkap dengan bit dan waktu pembobolan
Pencarian Alamat MAC
Identifikasi vendor perangkat dari alamat MAC menggunakan database IEEE
Kalkulator Subnet
Jaringan, broadcast, host yang dapat dipakai, dan mask untuk blok IPv4 atau IPv6, plus VLSM, pembagian, dan subnet cloud
Teks Kosong
Salin dan tempel teks kosong atau karakter tak terlihat, serta temukan atau hapus karakter tersembunyi dalam teks