Generátor UUID

Generujte štandardné UUID online. Táto stránka využíva náhodné UUID v4 so 122 náhodnými bitmi a známym 36-znakovým formátom.

Formát
Vygenerované ID
Pripravené. Generujte UUID priamo vo vašom prehliadači.

Ako sa tento identifikátor tvorí

Formát
UUID v4: hexadecimálne skupiny v tvare 8-4-4-4-12 s bitmi variantu podľa RFC.
Entropia
122 náhodných bitov; verzia a variant spotrebujú 6 bitov zo 128-bitovej hodnoty.
Čas
Nekóduje sa žiadna časová pečiatka ani údaje o zariadení.
Riziko kolízie
Hranica kolízie pre 122 náhodných bitov je pri bežnom používaní v aplikáciách, testoch a databázach zanedbateľná.
Príklad
9f7c0014-ab48-42a6-95da-d9bdb36bc421

Vaše ID sa generujú lokálne pomocou bezpečnej náhodnosti prehliadača. Do služby BroBroGo sa nič neodosiela.

Často kladené otázky

Aký typ UUID generuje táto stránka?

Generuje hodnoty UUID v4: náhodné UUID so štandardným formátom oddeleným spojovníkmi. Ak chcete rovnaký mechanizmus s detailmi zameranými priamo na verziu 4, použite stránku pre UUID v4.

Odosielajú sa vygenerované UUID na server?

Nie. Generovanie prebieha priamo vo vašom prehliadači pomocou Web Crypto API, takže hodnoty nikdy neopustia vaše zariadenie.

Ako funguje generovanie UUID v4 na tejto stránke

Stránka vytvára jeden alebo viac identifikátorov UUID verzie 4 – 36-znakové reťazce v štandardnom tvare 8-4-4-4-12, kde každý znak je hexadecimálna číslica (0–9, a–f). Riadiť môžete počet vygenerovaných ID (od 1 do 100) a to, či sa zobrazia veľkými písmenami a s pomlčkami. Všetky ID sa vygenerujú okamžite v prehliadači pomocou silnej kryptografickej náhodnosti. Jednotlivé ID alebo všetky naraz môžete skopírovať kliknutím.

UUID v4 používa 122 bitov čistej náhodnosti bez vloženej časovej známky. Každá hodnota je prakticky nepredvídateľná a pravdepodobnosť kolízie je zanedbateľná. Na rozdiel od UUID v7 alebo ULID sa hodnoty verzie 4 zoraďujú ľubovoľne – nenesú žiadnu časovú informáciu, čo pri použití ako primárny kľúč vedie k fragmentácii indexov v databázach. Stránka umožňuje prepínať medzi malými a veľkými písmenami a medzi zobrazením s pomlčkami a bez nich, pričom vnútorná náhodnosť a formát sú pevne dané.

Štruktúra UUID v4: 122 bitov náhodnosti v 16 oktetoch

UUID verzie 4 je definovaný v RFC 9562 (aktualizácia staršieho RFC 4122) a pozostáva z 16 oktetov, čo je 128 bitov. Z nich je 122 bitov náhodných: 4 bity slúžia na označenie verzie (v4), ďalšie 2 bity na variant (10 binárne). Zvyšných 122 bitov je generovaných kryptograficky bezpečnou náhodnosťou. Týchto 122 bitov sa mapuje na 32 hexadecimálnych znakov (16*8/4) a 4 pomlčky v tvare 8-4-4-4-12.

Každý hexadecimálny znak predstavuje 4 bity, takže 32 znakov * 4 bity = 128 bitov. Po odpočítaní 6 rezervovaných bitov (verzia + variant) ostáva 122 náhodných bitov. Ak vypnete pomlčky, dostanete súvislý reťazec 32 hexadecimálnych znakov – náhodnosť a formát zostávajú rovnaké.

Pri prepnutí na veľké písmená sa zmení len vizuálne zobrazenie (napríklad 550e8400-e29b-41d4-a716-446655440000550E8400-E29B-41D4-A716-446655440000). Vnútorná bitová reprezentácia je identická, rovnako ako spôsob generovania.

Kvalita náhodnosti a pravdepodobnosť kolízie

Všetky UUID verzie 4 na tejto stránke sa generujú lokálne v prehliadači pomocou rozhrania crypto.getRandomValues(). Toto rozhranie používa kryptograficky bezpečný generátor pseudonáhodných čísel (CSPRNG). Zdroj náhodnosti pochádza z operačného systému (napríklad /dev/urandom na Linuxe, CryptGenRandom v systéme Windows, SecRandomCopyBytes na macOS). Prehliadač ho sprístupňuje JavaScriptu bez možnosti manipulácie z webovej stránky.

Pri 122 bitoch náhodnosti je pravdepodobnosť kolízie extrémne nízka. Ak vygenerujete 1 miliardu UUID v4, pravdepodobnosť, že aspoň dve budú rovnaké, je približne 6,8 × 10⁻¹⁰ – teda zhruba 1 ku 1,5 miliarde. Pre porovnanie, pri generovaní 2⁶¹ (asi 2,3×10¹⁸) hodnôt dosiahne pravdepodobnosť kolízie 50 %. Stránka pri každej zmene parametrov (počet, veľké písmená, pomlčky) vygeneruje novú sadu – jednotlivé behy sú na sebe nezávislé.

Vplyv na databázové indexy

UUID v4 sa často používajú ako identifikátory záznamov v databázach. Keďže sú čisto náhodné a rovnomerne rozložené v celom rozsahu 122 bitov, nové zápisy sa objavujú na ľubovoľných miestach indexu. To spôsobuje:

  • Fragmentáciu B-stromov: Nové ID sa nezaraďujú na koniec indexu, ale na náhodné stránky. Databázový systém musí často presúvať údaje medzi stránkami, čo zvyšuje počet I/O operácií.
  • Zriedkavé využitie vyrovnávacej pamäte: Rovnomerne rozložené ID minimalizujú šancu, že viac po sebe nasledujúcich zápisov trafí rovnakú stránku. Vyrovnávacia pamäť pre index je menej efektívna.
  • Vyššie nároky na miesto: Indexy na náhodných hodnotách majú tendenciu byť o 5–20 % väčšie ako na sekvenčne generovaných hodnotách.

Ak je databáza malá (tisíce až státisíce záznamov), vplyv je zvyčajne zanedbateľný. Pri miliónoch až miliardách záznamov a vysokom zápisovom zaťažení (desiatky tisíc vložení za sekundu) môže fragmentácia výrazne zhoršiť výkon.

Porovnanie s časovo založenými alternatívami

Stránka ponúka aj možnosť výberu UUID v7, ULID a NanoID (presahuje rámec tohto článku). UUID v7 vkladá do prvých 48 bitov časovú známku v milisekundách, čím zachováva chronologické poradie. To znižuje fragmentáciu indexu a zlepšuje výkon v databázach. Na druhej strane je UUID v7 predvídateľný – ak niekto pozná približný čas vzniku ID, dokáže ho uhádnuť s malým rozsahom možností.

ULID používa 48 bitov časovej známky a 80 bitov náhodnosti v tvare 26-znakového reťazca s použitím bázy 32 (Crockford). Umožňuje lexikografické poradie podľa času a je kratší ako UUID v4.

Voľba medzi UUID v4 na jednej strane a UUID v7/ULID na druhej strane je kompromisom medzi nepredvídateľnosťou a triediteľnosťou. UUID v4 je vhodný na bezpečnostné tokeny, identifikátory relácií, anonymizované kľúče alebo iné scenáre, kde sa vyžaduje silná náhodnosť a nie je dôležité poradie. Naopak pri primárnych kľúčoch v databázach s vysokým zápisom je lepšie zvážiť UUID v7 alebo ULID.

Lokálne spracovanie a praktické dôsledky

Celé generovanie UUID v4 prebieha výhradne v prehliadači. Stránka neodosiela žiadne údaje na server – ani vygenerované ID, ani informácie o prehliadači, ani štatistiky. To znamená:

  • Súkromie: Nikto iný (vrátane prevádzkovateľa stránky) nemá prístup k vygenerovaným hodnotám. Sú v bezpečí, pokiaľ ich sami neskopírujete a nepoužijete.
  • Offline prevádzka: Ak stránku otvoríte raz a načítate jej zdroje, môžete ju používať aj bez internetového pripojenia (vďaka Service Workerom, ak sú implementované). Opätovné načítanie stránky bez pripojenia však nemusí fungovať.
  • Výkon: Generovanie 100 UUID v4 trvá na modernom prehliadači menej ako milisekundu, pretože crypto.getRandomValues() poskytuje náhodné bajty rýchlo (typicky niekoľko mikrosekúnd na volanie).
  • Limit 100 ID: Je technický a súvisí s optimalizáciou zobrazenia – viac ako 100 ID by sa na jednej stránke ťažko spravovalo. Ak potrebujete viac, môžete generovať opakovane a kopírovať výstup.

Nastavenia: uppercase, hyphens a ich dôsledky

Stránka ponúka tri parametre:

Počet (Count): Celé číslo od 1 do 100. Ak zadáte 0 alebo záporné číslo, formulár to neakceptuje. Ak zadáte hodnotu väčšiu ako 100, stránka vráti chybu. Pri zmene počtu sa okamžite vygeneruje nová sada.

Veľké písmená (Uppercase): Predvolene vypnuté (false). Ak ho zapnete, všetky hexadecimálne znaky (0–9, A–F) sa zobrazia veľkými písmenami. To nemení samotné UUID – len jeho textovú reprezentáciu. Niektoré systémy vyžadujú veľké písmená (napríklad niektoré API, staršie databázy). Iné sú na veľkosti písmen necitlivé.

Pomlčky (Include hyphens): Predvolene zapnuté (true). Ak ich vypnete, získaťte 32-znakový reťazec bez pomlčiek, napríklad 550e8400e29b41d4a716446655440000. Pomlčky sú súčasťou štandardného zobrazenia UUID, ale nie sú povinné. Niektoré systémy očakávajú UUID bez pomlčiek (napríklad niektoré programovacie jazyky, ORM nástroje). Pri vypnutí pomlčiek sa vnútorná reprezentácia nemení – ide o čisto vizuálnu zmenu.

Dôležité: Ak zmeníte ktorýkoľvek z troch parametrov (počet, uppercase, hyphens), stránka vygeneruje úplne novú sadu UUID. Nie je možné "prepísať" existujúce ID na iný formát – každá zmena vedie k čerstvej náhodnosti.

Časté otázky

Prečo sa po zmene parametrov vygenerujú nové UUID? Pretože stránka pri každej zmene parametrov (vrátane prepnutia veľkých písmen alebo pomlčiek) volá funkciu crypto.getRandomValues() znova. Nie je uložená žiadna medzipamäť – to zaručuje, že každá sada je nezávislá a náhodná.

Môžem generovať viac ako 100 UUID naraz? Stránka podporuje maximálne 100 ID v jednom behu. Ak potrebujete viac, vygenerujte 100, skopírujte ich a potom vygenerujte ďalších 100. Všetky ID sú na sebe nezávislé, takže opakované generovanie neovplyvňuje kvalitu náhodnosti.

Ako skopírujem všetky vygenerované ID? Kliknite na tlačidlo "Copy all" (alebo jeho slovenský ekvivalent). Stránka skopíruje každé ID na samostatný riadok do schránky. Potom sa zobrazí stavový text "Copied all!".

Môžem použiť UUID v4 ako primárny kľúč v databáze? Áno, ale pri high‑load databázach s častými vkladmi môže dôjsť k fragmentácii indexov. Pre malé databázy alebo aplikácie s nízkym zápisom je to v poriadku. Ak potrebujete rýchle vklady a triedenie podľa času, zvážte UUID v7 alebo ULID.

Je UUID v4 bezpečný ako bezpečnostný token? Áno, ak je generovaný kryptograficky bezpečnou náhodnosťou (ako na tejto stránke). 122 bitov náhodnosti poskytuje 2¹²² možných hodnôt, čo znemožňuje hádanie alebo brute‑force útok. Pre maximálnu bezpečnosť odporúčame používať náhodné tokeny s dĺžkou aspoň 128 bitov (UUID v4 presahuje túto hranicu).

Prečo sa UUID v4 niekedy zobrazuje s pomlčkami a niekedy bez nich? Pomlčky sú vizuálny oddelovač, ktorý uľahčuje čítanie UUID (8-4-4-4-12). Štandard RFC 9562 ich definuje ako súčasť textovej reprezentácie, ale mnohé systémy ich ignorujú. Stránka umožňuje oba varianty – podľa toho, čo vyžaduje vaša aplikácia.