§

UUID Generator — Libreng Online UUID v4 Generator

Ang v4 ang default. Ang v7 ay nag-uuri nang lexicographically ayon sa oras ng paglikha at ang pinakamahusay na pagpipilian para sa mga database key.
Format ng output
§

Output

    Para sa mga Philippine developer na nagtatayo ng mga fintech API, e-commerce backend, o government digital service platform, ang mga UUID ay ang karaniwang pagpipilian para sa mga primary key at idempotency key. Ang mga developer na gumagamit ng Supabase o PlanetScale para sa kanilang Philippine startup ay matatagpuan na ang default na `id` column ay `uuid` type, at ang bawat GCash API request na nangangailangan ng deduplication ay gumagamit ng UUID-format na idempotency key. Para sa mga nagtatatayo ng mga serbisyo na may kaugnayan sa PhilSys o BSP-regulated na mga transaksyon, ang paggamit ng v7 UUID bilang clustered primary key ay nagpapanatiling mabilis ang mga insert sa database nang hindi nagbubunyag ng sequential na bilang ng row. Gumagamit ang generator na ito ng Web Crypto API ng browser, kaya ang mga identifier na inireserba mo para sa production ay hindi kailanman lumalabas sa isang remote endpoint.

    Ano ang isang UUID?

    Ang UUID (Universally Unique Identifier) ay isang 128-bit na halaga na na-render bilang isang 36-karakter na string tulad ng 550e8400-e29b-41d4-a716-446655440000. Ang format at semantika ng bersyon ay tinukoy ng RFC 4122 para sa v1 hanggang v5, at ng RFC 9562 para sa mas bagong v6, v7, at v8 na mga bersyon. Ang tool na ito ay gumagawa ng v4 (purong random), v1 (timestamp kasama ang random node ID), at v7 (Unix-millisecond timestamp prefix kasama ang random suffix, nai-sort ayon sa oras ng paglikha) — lahat sa iyong browser, gamit ang Web Crypto API ng platform. Walang data na ipinapadala sa isang server.

    Paano gumagana ang paglikha ng UUID?

    Ang bawat bersyon ay nagpapalit ng determinismo, sortability, at entropy nang iba. Pinipili ng tool ang tamang algorithm batay sa iyong pagpili:

    1. v4 (random) ay tumatawag ng crypto.randomUUID() ng browser, na nagbabalik ng 122 bits ng cryptographic randomness na may 6 fixed bits (bersyon 0100 at ang 10 na variant) na nakatakda sa tamang posisyon. Ang mga collision ay astronomically hindi malamang — kailangan mong gumawa ng humigit-kumulang 2.71 quintillion na v4 UUID para matamaan ang isang duplicate na may 50% na posibilidad.
    2. v1 (timestamp + node) ay naglalagay ng isang 60-bit na Gregorian timestamp (100-nanosecond na tik mula 1582-10-15) sa time_low / time_mid / time_hi_and_version, itinatakda ang version nibble sa 0001, pumipili ng 14-bit na clock sequence na may mga variant bit na nakatakda, at gumagamit ng random na 48-bit na node ID na may multicast bit na pinilit na naka-on (pinahihintulutan ng RFC 4122 §4.5 ang isang random na node ID kapag walang available na hardware MAC — tinatag ng multicast bit ito bilang hindi-MAC).
    3. v7 (nai-sort na timestamp), per RFC 9562 §5.7, ay naglalagay ng 48-bit na big-endian Unix-millisecond timestamp, pagkatapos ang 4-bit na bersyon 0111, pagkatapos 12 random na bits, pagkatapos ang 2-bit na variant 10, pagkatapos 62 pang random na bits. Dahil ang timestamp ay nasa pinaka-significant na bits, ang mga v7 UUID ay nag-uuri nang lexicographically sa pagkakasunod ng paglikha — isang katangiang wala pang ibang bersyon ng UUID na inaalok nang walang karagdagang encoding.
    4. Ang lahat ng randomness ay nagmumula sa crypto.getRandomValues(), ang cryptographically-secure RNG ng browser. Ang parehong v1 at v7 ay may kasamang intra-tick monotonic guard kaya ang dalawang magkakasunod na tawag sa loob ng parehong clock tick ay nag-uuri pa rin ng pangalawa sa itaas ng una — mahalaga para sa mga bulk generation run na nakikipagtakbuhan sa millisecond clock.
    5. Ang format pipeline ay tumatakbo pagkatapos ng paglikha. Maaari mong alisin ang mga hyphen, lumipat sa uppercase, balutin ang halaga sa mga brace ({…} — ang konbensyon ng Microsoft GUID), o i-render ang raw na 16 byte bilang base64 (22-karakter na output, walang padding). Ang Base64 mode ay nino-override ang iba pang mga opsyon ng format dahil ang base64 ay sariling representasyon nito.

    Bakit gamitin ang UUID generator na ito?

    • Walang lumalabas sa iyong browser. Ang Web Crypto API ay tumatakbo nang lokal; ang page ay gumagawa ng zero network request pagkatapos ng paunang pag-load ng dokumento. Buksan ang DevTools, mag-click ng Gumawa, at ang Network panel ay nananatiling tahimik.
    • RFC-correct na output. Ang v4 ay sumusunod sa RFC 4122 §4.4, ang v1 ay sumusunod sa §4.2 at §4.5, at ang v7 ay sumusunod sa RFC 9562 §5.7. Ang version nibble at variant bits ay inilalagay kung saan sinasabi ng mga pamantayan na sila dapat naroroon — ang bawat UUID ay nava-validate laban sa canonical na version regex.
    • Nai-sort na v7 para sa mga database key. Ang isang v7 UUID na ginagamit bilang clustered primary key sa Postgres, MySQL, o SQL Server ay nagpapanatiling append-only ang mga insert sa index — walang page split, walang random I/O — habang nananatiling globally unique. Hindi ito magagawa ng v4 dahil ang mga bits nito ay random.
    • Bulk generation nang walang rate limit. Gumawa ng 1, 10, 100, o 1,000 UUID nang sabay-sabay. Walang quota at walang pag-sign-up — ang tool ay tumatakbo sa iyong tab, kaya ang limitasyon ay ang iyong CPU, hindi ang API tier ng isang vendor.

    Ano ang mga karaniwang aplikasyon ng mga UUID?

    Lumalabas ang mga UUID kahit saan na kailangan ng isang sistema ng globally-unique na identifier nang hindi nagko-coordinate sa isang sentral na awtoridad:

    • Mga primary key ng database. Ang mga auto-incrementing integer ay nagbubunyag ng bilang ng row at nagbabago ng sharding. Ang mga UUID ay matatag sa mga shard, ligtas na i-merge sa mga rehiyon, at (gamit ang v7) nagpapanatiling mainit ang mga B-tree insert nang walang page split. Karaniwang gumagawa ang isang application ng UUID sa client-side, ipinapadala ito sa insert, at hindi na kailangang round-trip ang server para sa key.
    • Mga request correlation ID. Ang HTTP middleware ay nag-aatach ng v4 UUID sa bawat papasok na request, inilalagay ito sa log sa bawat span, at ipinapalaganap ito sa downstream (kadalasan bilang `X-Request-Id` header). Kapag nag-ulat ng bug ang isang customer, ini-paste ng support engineer ang ID at ang buong request trace ay lumalabas — sa mga serbisyo at time zone — nang walang kalabuan.
    • Mga idempotency key. Tinatanggap ng mga payment API (Stripe, Adyen, Square) ang isang `Idempotency-Key` header para ang isang na-retry na request ay hindi kailanman mag-charge sa customer nang dalawang beses. Ang isang client-generated UUID ay ginagarantiyahan na ang key ay natatangi bawat logical na operasyon, na siyang kontrata na kinakailangan ng mga API na iyon.

    Ano ang hitsura ng isang halimbawa ng UUID?

    Sa Node.js o isang modernong browser, ang one-liner na crypto.randomUUID() ay nagbabalik ng sariwang v4 UUID — halimbawa 3f50b5a8-2c54-4b9c-9c1f-3e5c7e2b8d12. Gamitin iyon para sa isang request ID o idempotency key. Kapag ang UUID ay pupunta sa isang database column na magiging clustered primary key, gumawa ng v7 sa halip: ang dalawang v7 na halaga na ginawa nang isang millisecond nang magkahiwalay, tulad ng 0190a3b0-7d4f-7c9e-8b21-a4d6f0bd9c11 at 0190a3b0-7d50-7f15-9c4e-72b3e0c1d8a4, ay nag-uuri nang lexicographically sa pagkakasunod ng paglikha. Ang `uuid` na uri ng Postgres ay nag-iimbak ng parehong bersyon nang magkapareho — ang pagkakaiba ay lumalabas sa oras ng pagsulat ng index, kung saan ang mga v7 insert ay nagdadagdag sa kanan ng B-tree habang ang mga v4 insert ay nagkakalat at nagpupuwersa ng random I/O.

    Ang UUID Generator na ito ay gumagawa ng isang trabaho: gawing isa o maraming RFC-compliant na identifier ang isang click, na na-format sa paraang kailangan mo, nang hindi ipinapadala ang iyong kahilingan sa isang server. Pumili ng bersyon, pumili ng bilang, pumili ng format — gumawa, kopyahin, at magpatuloy.